aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/mod_saslauth.lua1
-rw-r--r--plugins/mod_storage_sql.lua2
-rw-r--r--plugins/muc/muc.lib.lua17
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