MUC: Ignore invisible presence (incorrectly broadcasted or forwarded by ejabberd).
authorWaqas Hussain <waqas20@gmail.com>
Sun, 18 Oct 2009 00:54:14 +0000 (05:54 +0500)
committerWaqas Hussain <waqas20@gmail.com>
Sun, 18 Oct 2009 00:54:14 +0000 (05:54 +0500)
plugins/muc/muc.lib.lua

index 9076348f2f7d428349bcf15aeccf895fe22dd066..0b387d2289f217e79df4a8fb2bbd1d6ab0d28c76 100644 (file)
@@ -325,7 +325,9 @@ function room_mt:handle_to_occupant(origin, stanza) -- PM, vCards, etc
                                end
                        end
                elseif type ~= 'result' then -- bad type
-                       origin.send(st.error_reply(stanza, "modify", "bad-request")); -- FIXME correct error?
+                       if type ~= 'visible' and type ~= 'invisible' then -- COMPAT ejabberd can broadcast or forward XEP-0018 presences
+                               origin.send(st.error_reply(stanza, "modify", "bad-request")); -- FIXME correct error?
+                       end
                end
        elseif not current_nick then -- not in room
                if type == "error" or type == "result" then