From 814d4469112d5de4ae2c1e53f09c05c42ac8c4b0 Mon Sep 17 00:00:00 2001
From: Waqas Hussain <waqas20@gmail.com>
Date: Fri, 3 Jan 2014 15:52:52 -0500
Subject: =?UTF-8?q?tools/migration/migrator/prosody=5Ffiles:=20Fix=20undef?=
 =?UTF-8?q?ined=20global=20access=20of=20=E2=80=98error=E2=80=99,=20print?=
 =?UTF-8?q?=20the=20actual=20error=20message=20and=20correct=20file=20path?=
 =?UTF-8?q?=20in=20the=20error=20message=20when=20we=20fail=20to=20load=20?=
 =?UTF-8?q?a=20file,=20skip=20broken=20files=20instead=20of=20failing=20mi?=
 =?UTF-8?q?gration.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 tools/migration/migrator/prosody_files.lua | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/tools/migration/migrator/prosody_files.lua b/tools/migration/migrator/prosody_files.lua
index 4462fb3e..c9367d9c 100644
--- a/tools/migration/migrator/prosody_files.lua
+++ b/tools/migration/migrator/prosody_files.lua
@@ -13,6 +13,7 @@ local next = next;
 local pairs = pairs;
 local json = require "util.json";
 local os_getenv = os.getenv;
+local error = error;
 
 prosody = {};
 local dm = require "util.datamanager"
@@ -95,15 +96,18 @@ function reader(input)
 	local iter = mtools.sorted {
 		reader = function()
 			local x = iter();
-			if x then
+			while x do
 				dm.set_data_path(path);
 				local err;
 				x.data, err = dm.load(x.user, x.host, x.store);
 				if x.data == nil and err then
-					error(("Error loading data at path %s for %s@%s (%s store)")
-						:format(path, x.user or "<nil>", x.host or "<nil>", x.store or "<nil>"), 0);
+					local p = dm.getpath(x.user, x.host, x.store);
+					print(("Error loading data at path %s for %s@%s (%s store): %s")
+						:format(p, x.user or "<nil>", x.host or "<nil>", x.store or "<nil>", err or "<nil>"));
+				else
+					return x;
 				end
-				return x;
+				x = iter();
 			end
 		end;
 		sorter = function(a, b)
-- 
cgit v1.2.3


From 92ee981cd10183ef22a4814269b6112ef11e94f9 Mon Sep 17 00:00:00 2001
From: Florian Zeitz <florob@babelmonkeys.de>
Date: Sun, 5 Jan 2014 22:21:50 +0100
Subject: mod_s2s: Include IP in log messages, if host is unavailable

---
 plugins/mod_s2s/mod_s2s.lua | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua
index bb46cd2f..aa517bbd 100644
--- a/plugins/mod_s2s/mod_s2s.lua
+++ b/plugins/mod_s2s/mod_s2s.lua
@@ -356,7 +356,7 @@ function stream_callbacks.streamopened(session, attr)
 			if to then
 				hosts[to].events.fire_event("s2s-stream-features", { origin = session, features = features });
 			else
-				(session.log or log)("warn", "No 'to' on stream header from %s means we can't offer any features", from or "unknown host");
+				(session.log or log)("warn", "No 'to' on stream header from %s means we can't offer any features", from or session.ip or "unknown host");
 			end
 			
 			log("debug", "Sending stream features: %s", tostring(features));
@@ -457,7 +457,7 @@ local function session_close(session, reason, remote_reason)
 		end
 		if reason then -- nil == no err, initiated by us, false == initiated by remote
 			if type(reason) == "string" then -- assume stream error
-				log("debug", "Disconnecting %s[%s], <stream:error> is: %s", session.host or "(unknown host)", session.type, reason);
+				log("debug", "Disconnecting %s[%s], <stream:error> is: %s", session.host or session.ip or "(unknown host)", session.type, reason);
 				session.sends2s(st.stanza("stream:error"):tag(reason, {xmlns = 'urn:ietf:params:xml:ns:xmpp-streams' }));
 			elseif type(reason) == "table" then
 				if reason.condition then
@@ -468,7 +468,7 @@ local function session_close(session, reason, remote_reason)
 					if reason.extra then
 						stanza:add_child(reason.extra);
 					end
-					log("debug", "Disconnecting %s[%s], <stream:error> is: %s", session.host or "(unknown host)", session.type, tostring(stanza));
+					log("debug", "Disconnecting %s[%s], <stream:error> is: %s", session.host or session.ip or "(unknown host)", session.type, tostring(stanza));
 					session.sends2s(stanza);
 				elseif reason.name then -- a stanza
 					log("debug", "Disconnecting %s->%s[%s], <stream:error> is: %s", session.from_host or "(unknown host)", session.to_host or "(unknown host)", session.type, tostring(reason));
@@ -643,7 +643,7 @@ function check_auth_policy(event)
 	end
 	
 	if must_secure and (session.cert_chain_status ~= "valid" or session.cert_identity_status ~= "valid") then
-		module:log("warn", "Forbidding insecure connection to/from %s", host);
+		module:log("warn", "Forbidding insecure connection to/from %s", host or session.ip or "(unknown host)");
 		if session.direction == "incoming" then
 			session:close({ condition = "not-authorized", text = "Your server's certificate is invalid, expired, or not trusted by "..session.to_host });
 		else -- Close outgoing connections without warning
-- 
cgit v1.2.3


From 342de92462a05473b0467575c8b93e0d35cd0a48 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Sun, 12 Jan 2014 06:16:49 -0500
Subject: mod_tls: Log error when TLS initialization fails

---
 plugins/mod_tls.lua | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/plugins/mod_tls.lua b/plugins/mod_tls.lua
index 80b56abb..54c69873 100644
--- a/plugins/mod_tls.lua
+++ b/plugins/mod_tls.lua
@@ -91,14 +91,21 @@ module:hook_stanza(xmlns_starttls, "proceed", function (session, stanza)
 	return true;
 end);
 
+local function assert_log(ret, err)
+	if not ret then
+		module:log("error", "Unable to initialize TLS: %s", err);
+	end
+	return ret;
+end
+
 function module.load()
 	local ssl_config = config.rawget(module.host, "ssl");
 	if not ssl_config then
 		local base_host = module.host:match("%.(.*)");
 		ssl_config = config.get(base_host, "ssl");
 	end
-	host.ssl_ctx = create_context(host.host, "client", ssl_config); -- for outgoing connections
-	host.ssl_ctx_in = create_context(host.host, "server", ssl_config); -- for incoming connections
+	host.ssl_ctx = assert_log(create_context(host.host, "client", ssl_config)); -- for outgoing connections
+	host.ssl_ctx_in = assert_log(create_context(host.host, "server", ssl_config)); -- for incoming connections
 end
 
 function module.unload()
-- 
cgit v1.2.3

-- 
cgit v1.2.3