Changeset

7957:083c062c2fb7

Merge 0.10->trunk
author Kim Alvefur <zash@zash.se>
date Mon, 06 Mar 2017 15:31:21 +0100
parents 7950:f91e7ec9654e (current diff) 7956:beaeafedc2d7 (diff)
children 7958:47cb54a08336
files plugins/mod_c2s.lua
diffstat 4 files changed, 89 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/.luacheckrc	Mon Mar 06 01:14:32 2017 +0100
+++ b/.luacheckrc	Mon Mar 06 15:31:21 2017 +0100
@@ -5,7 +5,7 @@
 module = true
 unused_secondaries = false
 codes = true
-ignore = { "411/err", "421/err", "411/ok", "421/ok", "211/_ENV" }
+ignore = { "411/err", "421/err", "411/ok", "421/ok", "211/_ENV", "431/log" }
 
 max_line_length = 150
 
@@ -14,7 +14,79 @@
 	globals = { "prosody.hosts.?", "hosts.?" };
 }
 files["plugins/"] = {
-	globals = { "module" };
+	read_globals = {
+		-- Module instance
+		"module.name",
+		"module.host",
+		"module._log",
+		"module.log",
+		"module.event_handlers",
+		"module.reloading",
+		"module.saved_state",
+		"module.environment",
+		"module.global",
+		"module.path",
+
+		-- Module API
+		"module.add_extension",
+		"module.add_feature",
+		"module.add_identity",
+		"module.add_item",
+		"module.add_timer",
+		"module.broadcast",
+		"module.context",
+		"module.depends",
+		"module.fire_event",
+		"module.get_directory",
+		"module.get_host",
+		"module.get_host_items",
+		"module.get_host_type",
+		"module.get_name",
+		"module.get_option",
+		"module.get_option_array",
+		"module.get_option_boolean",
+		"module.get_option_inherited_set",
+		"module.get_option_number",
+		"module.get_option_path",
+		"module.get_option_set",
+		"module.get_option_string",
+		"module.handle_items",
+		"module.has_feature",
+		"module.has_identity",
+		"module.hook",
+		"module.hook_global",
+		"module.hook_object_event",
+		"module.hook_tag",
+		"module.load_resource",
+		"module.measure",
+		"module.measure_event",
+		"module.measure_global_event",
+		"module.measure_object_event",
+		"module.open_store",
+		"module.provides",
+		"module.remove_item",
+		"module.require",
+		"module.send",
+		"module.set_global",
+		"module.shared",
+		"module.unhook",
+		"module.unhook_object_event",
+		"module.wrap_event",
+		"module.wrap_global",
+		"module.wrap_object_event",
+	};
+	globals = {
+		"_M",
+
+		-- Methods that can be set on module API
+		"module.unload",
+		"module.add_host",
+		"module.load",
+		"module.add_host",
+		"module.save",
+		"module.restore",
+		"module.command",
+	};
 }
 files["tests/"] = {
 	read_globals = {
--- a/plugins/adhoc/adhoc.lib.lua	Mon Mar 06 01:14:32 2017 +0100
+++ b/plugins/adhoc/adhoc.lib.lua	Mon Mar 06 15:31:21 2017 +0100
@@ -27,11 +27,12 @@
 function _M.handle_cmd(command, origin, stanza)
 	local cmdtag = stanza.tags[1]
 	local sessionid = cmdtag.attr.sessionid or uuid.generate();
-	local dataIn = {};
-	dataIn.to = stanza.attr.to;
-	dataIn.from = stanza.attr.from;
-	dataIn.action = cmdtag.attr.action or "execute";
-	dataIn.form = cmdtag:get_child("x", "jabber:x:data");
+	local dataIn = {
+		to = stanza.attr.to;
+		from = stanza.attr.from;
+		action = cmdtag.attr.action or "execute";
+		form = cmdtag:get_child("x", "jabber:x:data");
+	};
 
 	local data, state = command:handler(dataIn, states[sessionid]);
 	states[sessionid] = state;
--- a/plugins/mod_c2s.lua	Mon Mar 06 01:14:32 2017 +0100
+++ b/plugins/mod_c2s.lua	Mon Mar 06 15:31:21 2017 +0100
@@ -168,27 +168,27 @@
 		session.send("</stream:stream>");
 		function session.send() return false; end
 
-		local reason = (reason and (reason.name or reason.text or reason.condition)) or reason;
-		session.log("debug", "c2s stream for %s closed: %s", session.full_jid or ("<"..session.ip..">"), reason or "session closed");
+		local reason_text = (reason and (reason.name or reason.text or reason.condition)) or reason;
+		session.log("debug", "c2s stream for %s closed: %s", session.full_jid or ("<"..session.ip..">"), reason_text or "session closed");
 
 		-- Authenticated incoming stream may still be sending us stanzas, so wait for </stream:stream> from remote
 		local conn = session.conn;
-		if reason == nil and not session.notopen and session.type == "c2s" then
+		if reason_text == nil and not session.notopen and session.type == "c2s" then
 			-- Grace time to process data from authenticated cleanly-closed stream
 			add_task(stream_close_timeout, function ()
 				if not session.destroyed then
 					session.log("warn", "Failed to receive a stream close response, closing connection anyway...");
-					sm_destroy_session(session, reason);
+					sm_destroy_session(session, reason_text);
 					conn:close();
 				end
 			end);
 		else
-			sm_destroy_session(session, reason);
+			sm_destroy_session(session, reason_text);
 			conn:close();
 		end
 	else
-		local reason = (reason and (reason.name or reason.text or reason.condition)) or reason;
-		sm_destroy_session(session, reason);
+		local reason_text = (reason and (reason.name or reason.text or reason.condition)) or reason;
+		sm_destroy_session(session, reason_text);
 	end
 end
 
@@ -196,7 +196,7 @@
 	local username, host = event.username, event.host;
 	local user = hosts[host].sessions[username];
 	if user and user.sessions then
-		for jid, session in pairs(user.sessions) do
+		for _, session in pairs(user.sessions) do
 			session:close{ condition = "not-authorized", text = "Account deleted" };
 		end
 	end
--- a/plugins/mod_message.lua	Mon Mar 06 01:14:32 2017 +0100
+++ b/plugins/mod_message.lua	Mon Mar 06 15:31:21 2017 +0100
@@ -20,7 +20,7 @@
 
 	local t = stanza.attr.type;
 	if t == "error" then
-		-- discard
+		return true; -- discard
 	elseif t == "groupchat" then
 		origin.send(st.error_reply(stanza, "cancel", "service-unavailable"));
 	elseif t == "headline" then