aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/muc
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-11-27 17:01:47 +0100
committerKim Alvefur <zash@zash.se>2018-11-27 17:01:47 +0100
commitcf22878c983c7ebd6cf2a6bef90ed44b7295298d (patch)
tree5a2109f91ba257bb3262c763d0c4d338ddcf4aea /plugins/muc
parent88940a3559cbe1ce175bcf6969b233dbb4bdd7c4 (diff)
downloadprosody-cf22878c983c7ebd6cf2a6bef90ed44b7295298d.tar.gz
prosody-cf22878c983c7ebd6cf2a6bef90ed44b7295298d.zip
MUC: Move check for explicit room join earlier in room creation flow
Diffstat (limited to 'plugins/muc')
-rw-r--r--plugins/muc/mod_muc.lua2
-rw-r--r--plugins/muc/muc.lib.lua7
2 files changed, 1 insertions, 8 deletions
diff --git a/plugins/muc/mod_muc.lua b/plugins/muc/mod_muc.lua
index 954bae92..89e67744 100644
--- a/plugins/muc/mod_muc.lua
+++ b/plugins/muc/mod_muc.lua
@@ -453,7 +453,7 @@ for event_name, method in pairs {
if room == nil then
-- Watch presence to create rooms
- if stanza.attr.type == nil and stanza.name == "presence" then
+ if stanza.attr.type == nil and stanza.name == "presence" and stanza:get_child("x", "http://jabber.org/protocol/muc") then
room = muclib.new_room(room_jid);
return room:handle_first_presence(origin, stanza);
elseif stanza.attr.type ~= "error" then
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index 96f58023..0009e9b2 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -428,13 +428,6 @@ module:hook("muc-occupant-pre-change", function(event)
end, 1);
function room_mt:handle_first_presence(origin, stanza)
- if not stanza:get_child("x", "http://jabber.org/protocol/muc") then
- module:log("debug", "Room creation without <x>, possibly desynced");
-
- origin.send(st.error_reply(stanza, "cancel", "item-not-found"));
- return true;
- end
-
local real_jid = stanza.attr.from;
local dest_jid = stanza.attr.to;
local bare_jid = jid_bare(real_jid);