diff options
author | Kim Alvefur <zash@zash.se> | 2016-04-19 17:30:30 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2016-04-19 17:30:30 +0200 |
commit | 3b521bff4ebef687881d8f5f989f3148eaf118d3 (patch) | |
tree | 3edde11b7c7da47a785d5aeb95b6b3510baf56d2 | |
parent | 75be55d7bd43bb415847f3e871bb81c8699a2967 (diff) | |
parent | 0d34359c3e86b431aad543d4b5bc3f79df64a687 (diff) | |
download | prosody-3b521bff4ebef687881d8f5f989f3148eaf118d3.tar.gz prosody-3b521bff4ebef687881d8f5f989f3148eaf118d3.zip |
Merge 0.9->0.10
-rw-r--r-- | net/server_event.lua | 4 | ||||
-rw-r--r-- | plugins/muc/muc.lib.lua | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/net/server_event.lua b/net/server_event.lua index 2edc9a0c..a67d5afb 100644 --- a/net/server_event.lua +++ b/net/server_event.lua @@ -521,6 +521,10 @@ local function handleclient( client, ip, port, server, pattern, listener, sslctx elseif interface.eventreadtimeout then return EV_WRITE, EV_TIMEOUT end + if interface.writebuffer ~= 0 then + -- data possibly written from ondrain + return EV_WRITE, cfg.WRITE_TIMEOUT + end interface.eventwrite = nil return -1 elseif byte and (err == "timeout" or err == "wantwrite") then -- want write again diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index 552b9e49..88ee43c1 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -681,6 +681,13 @@ 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, errors, present = self:get_form_layout(stanza.attr.from):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")); |