+ local handler = {};
+ function listener.onincoming(conn, data)
+ if data then
+ dns.feed(handler, data);
+ end
+ end
+ function listener.ondisconnect(conn, err)
+ 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