Changeset

7385:17929cdacec2

Merge 0.9->0.10
author Kim Alvefur <zash@zash.se>
date Tue, 19 Apr 2016 17:30:30 +0200
parents 7381:a05bf94646ba (current diff) 7384:65abd9d7bf88 (diff)
children 7386:5a9af30d5737 7387:addd041342bd
files net/server_event.lua plugins/muc/muc.lib.lua
diffstat 2 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/net/server_event.lua	Tue Apr 19 12:33:58 2016 +0200
+++ b/net/server_event.lua	Tue Apr 19 17:30:30 2016 +0200
@@ -521,6 +521,10 @@
 				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
--- a/plugins/muc/muc.lib.lua	Tue Apr 19 12:33:58 2016 +0200
+++ b/plugins/muc/muc.lib.lua	Tue Apr 19 17:30:30 2016 +0200
@@ -681,6 +681,13 @@
 	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"));