aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2009-10-18 05:54:14 +0500
committerWaqas Hussain <waqas20@gmail.com>2009-10-18 05:54:14 +0500
commit6244873f53137c0cc712786764ad05200dfad41f (patch)
tree4fdebff69f3df80df084cba50883bcc1d3603304 /plugins
parent9142781f31abdb9d22439ec3025ef12a2b57561e (diff)
downloadprosody-6244873f53137c0cc712786764ad05200dfad41f.tar.gz
prosody-6244873f53137c0cc712786764ad05200dfad41f.zip
MUC: Ignore invisible presence (incorrectly broadcasted or forwarded by ejabberd).
Diffstat (limited to 'plugins')
-rw-r--r--plugins/muc/muc.lib.lua4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index 9076348f..0b387d22 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -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