--- a/net/adns.lua Thu Feb 18 16:41:53 2010 +0000
+++ b/net/adns.lua Thu Feb 18 16:44:26 2010 +0000
@@ -54,13 +54,15 @@
end
end
function listener.ondisconnect(conn, err)
- log("warn", "DNS socket for %s disconnected: %s", peername, err);
- local servers = resolver.server;
- if resolver.socketset[conn] == resolver.best_server and resolver.best_server == #servers then
- log("error", "Exhausted all %d configured DNS servers, next lookup will try %s again", #servers, servers[1]);
+ if err then
+ log("warn", "DNS socket for %s disconnected: %s", peername, err);
+ local servers = resolver.server;
+ if resolver.socketset[conn] == resolver.best_server and resolver.best_server == #servers then
+ log("error", "Exhausted all %d configured DNS servers, next lookup will try %s again", #servers, servers[1]);
+ end
+
+ resolver:servfail(conn); -- Let the magic commence
end
-
- resolver:servfail(conn); -- Let the magic commence
end
handler = server.wrapclient(sock, "dns", 53, listener);
if not handler then