aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/muc/muc.lib.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2016-04-19 17:20:39 +0200
committerKim Alvefur <zash@zash.se>2016-04-19 17:20:39 +0200
commitca0980462ee3be9d8a5eee965ec9cd5d4dbf14f1 (patch)
treecd6111df8c0c1a405001251e1fd00074d9e00573 /plugins/muc/muc.lib.lua
parent71cd96efa7f28656fd61354755b30f9054c238ea (diff)
downloadprosody-ca0980462ee3be9d8a5eee965ec9cd5d4dbf14f1.tar.gz
prosody-ca0980462ee3be9d8a5eee965ec9cd5d4dbf14f1.zip
MUC: Accept missing form as "instant room" request (fixes #377)
Diffstat (limited to 'plugins/muc/muc.lib.lua')
-rw-r--r--plugins/muc/muc.lib.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index 5879c256..f8e8f74d 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -668,6 +668,14 @@ function room_mt:process_form(origin, stanza)
if form.attr.type == "cancel" then origin.send(st.reply(stanza)); return; end
if form.attr.type ~= "submit" then origin.send(st.error_reply(stanza, "cancel", "bad-request", "Not a submitted form")); return; end
+ if form.tags[1] == nil then
+ -- instant room
+ if self.save then self:save(true); end
+ origin.send(st.reply(stanza));
+ return true;
+ end
+
+
local fields = self:get_form_layout():data(form);
if fields.FORM_TYPE ~= "http://jabber.org/protocol/muc#roomconfig" then origin.send(st.error_reply(stanza, "cancel", "bad-request", "Form is not of type room configuration")); return; end