# HG changeset patch # User Jonas Wielicki # Date 1512838634 -3600 # Node ID eb85b10e1feaf14e4bde4468bb7d8e139d71c8ac # Parent 7ad9d7c4161cf0cb705bb95ff3dd5c30dd1c4a29 MUC: Ensure that elements which match our from are stripped (fixes #1055) diff -r 7ad9d7c4161c -r eb85b10e1fea plugins/muc/muc.lib.lua --- a/plugins/muc/muc.lib.lua Sat Dec 09 17:36:47 2017 +0100 +++ b/plugins/muc/muc.lib.lua Sat Dec 09 17:57:14 2017 +0100 @@ -122,6 +122,22 @@ end function room_mt:broadcast_message(stanza, historic) local to = stanza.attr.to; + local muc_jid = self.jid; + + stanza:maptags(function (child) + if child.name == "delay" and child.attr["xmlns"] == "urn:xmpp:delay" then + if child.attr["from"] == muc_jid then + return nil; + end + end + if child.name == "x" and child.attr["xmlns"] == "jabber:x:delay" then + if child.attr["from"] == muc_jid then + return nil; + end + end + return child; + end) + for occupant, o_data in pairs(self._occupants) do for jid in pairs(o_data.sessions) do stanza.attr.to = jid;