diff options
-rw-r--r-- | plugins/mod_saslauth.lua | 1 | ||||
-rw-r--r-- | plugins/mod_storage_sql.lua | 2 | ||||
-rw-r--r-- | plugins/muc/muc.lib.lua | 17 |
3 files changed, 19 insertions, 1 deletions
diff --git a/plugins/mod_saslauth.lua b/plugins/mod_saslauth.lua index 81400e45..b5ec4057 100644 --- a/plugins/mod_saslauth.lua +++ b/plugins/mod_saslauth.lua @@ -263,6 +263,7 @@ module:hook("stream-features", function(event) elseif not origin.secure and insecure_mechanisms:contains(mechanism) then log("debug", "Not offering mechanism %s on insecure connection", mechanism); else + log("debug", "Offering mechanism %s", mechanism); mechanisms:tag("mechanism"):text(mechanism):up(); end end diff --git a/plugins/mod_storage_sql.lua b/plugins/mod_storage_sql.lua index bc076e1d..87a71205 100644 --- a/plugins/mod_storage_sql.lua +++ b/plugins/mod_storage_sql.lua @@ -480,7 +480,7 @@ local function create_table(engine, name) -- luacheck: ignore 431/engine Column { name="type", type="TEXT", nullable=false }; Column { name="value", type="MEDIUMTEXT", nullable=false }; Index { name="prosodyarchive_index", unique = true, "host", "user", "store", "key" }; - Index { name="prosodyarchive_with", "host", "user", "store", "with" }; + Index { name="prosodyarchive_with_when", "host", "user", "store", "with", "when" }; Index { name="prosodyarchive_when", "host", "user", "store", "when" }; }; engine:transaction(function() diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index 8592e225..7de8ea24 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -164,6 +164,23 @@ function room_mt:build_item_list(occupant, x, is_anonymous, nick, actor_nick, ac end function room_mt:broadcast_message(stanza) + local to = stanza.attr.to; + local room_jid = self.jid; + + stanza:maptags(function (child) + if child.name == "delay" and child.attr["xmlns"] == "urn:xmpp:delay" then + if child.attr["from"] == room_jid then + return nil; + end + end + if child.name == "x" and child.attr["xmlns"] == "jabber:x:delay" then + if child.attr["from"] == room_jid then + return nil; + end + end + return child; + end) + if module:fire_event("muc-broadcast-message", {room = self, stanza = stanza}) then return true; end |