core/s2smanager.lua

changeset 2090
7810648ea26d
parent 2089
fdd7280c4621
child 2124
be3c906f4770
child 2129
c8005be640b1
child 2165
529af807ba1a
--- a/core/s2smanager.lua	Fri Nov 20 04:39:54 2009 +0000
+++ b/core/s2smanager.lua	Fri Nov 20 15:07:39 2009 +0000
@@ -106,6 +106,7 @@
 	else
 		log("debug", "opening a new outgoing connection for this stanza");
 		local host_session = new_outgoing(from_host, to_host);
+
 		-- Store in buffer
 		host_session.sendq = { {tostring(data), st.reply(data)} };
 		log("debug", "stanza [%s] queued until connection complete", tostring(data.name));
@@ -155,7 +156,7 @@
 			host_session.log = log;
 		end
 		
-		-- This is the first call, can't fail (the first step is DNS lookup)
+		-- Kick the connection attempting machine
 		attempt_connection(host_session);
 		
 		if not host_session.sends2s then		
@@ -183,6 +184,10 @@
 	local from_host, to_host = host_session.from_host, host_session.to_host;
 	local connect_host, connect_port = idna_to_ascii(to_host), 5269;
 	
+	if not connect_host then
+		return false;
+	end
+	
 	if not err then -- This is our first attempt
 		log("debug", "First attempt to connect to %s, starting with SRV lookup...", to_host);
 		host_session.connecting = true;

mercurial