s2smanager: Handle DNS lookup error in response handler
authorMatthew Wild <mwild1@gmail.com>
Fri, 24 Dec 2010 04:57:17 +0000
changeset 4027 81d0ed5787f6
parent 4026 21edd42768b5
child 4028 f596e1a5e88a
s2smanager: Handle DNS lookup error in response handler
core/s2smanager.lua
--- a/core/s2smanager.lua	Fri Dec 24 04:56:37 2010 +0000
+++ b/core/s2smanager.lua	Fri Dec 24 04:57:17 2010 +0000
@@ -287,7 +287,7 @@
 function try_connect(host_session, connect_host, connect_port)
 	host_session.connecting = true;
 	local handle;
-	handle = adns.lookup(function (reply)
+	handle = adns.lookup(function (reply, err)
 		handle = nil;
 		host_session.connecting = nil;
 		
@@ -310,7 +310,8 @@
 			log("debug", "DNS lookup failed to get a response for %s", connect_host);
 			if not attempt_connection(host_session, "name resolution failed") then -- Retry if we can
 				log("debug", "No other records to try for %s - destroying", host_session.to_host);
-				destroy_session(host_session, "DNS resolution failed"); -- End of the line, we can't
+				err = err and (": "..err) or "";
+				destroy_session(host_session, "DNS resolution failed"..err); -- End of the line, we can't
 			end
 		end
 	end, connect_host, "A", "IN");