From 87615e95fc4f18cefa4e9f31255db3140340ec77 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Wed, 10 Nov 2010 00:24:17 +0500 Subject: MUC: Handle missing for in config form submissions. --- plugins/muc/muc.lib.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index 89bd1304..4075be95 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -601,8 +601,12 @@ function room_mt:process_form(origin, stanza) if form.attr.type ~= "submit" then origin.send(st.error_reply(stanza, "cancel", "bad-request")); return; end local fields = {}; for _, field in pairs(form.tags) do - if field.name == "field" and field.attr.var and field.tags[1].name == "value" and #field.tags[1].tags == 0 then - fields[field.attr.var] = field.tags[1][1] or ""; + if field.name == "field" and field.attr.var then + if field.tags[1] and field.tags[1].name == "value" and #field.tags[1].tags == 0 then + fields[field.attr.var] = field.tags[1][1] or ""; + elseif field.attr.type == "boolean" then + fields[field.attr.var] = "false"; + end end end if fields.FORM_TYPE ~= "http://jabber.org/protocol/muc#roomconfig" then origin.send(st.error_reply(stanza, "cancel", "bad-request")); return; end -- cgit v1.2.3