# HG changeset patch # User Kim Alvefur # Date 1373435110 -7200 # Node ID 411e9e7d8035f9948a7f0ce5598acb85210735be # Parent 2ecf400b194a771c8b17044f2b107e0b7de46c06 net.dns, net.adns: Make sure errors from net.server are propagated (thanks asterix) diff -r 2ecf400b194a -r 411e9e7d8035 net/adns.lua --- a/net/adns.lua Mon Jul 08 23:59:51 2013 +0100 +++ b/net/adns.lua Wed Jul 10 07:45:10 2013 +0200 @@ -68,9 +68,9 @@ resolver:servfail(conn); -- Let the magic commence end end - handler = server.wrapclient(sock, "dns", 53, listener); + handler, err = server.wrapclient(sock, "dns", 53, listener); if not handler then - log("warn", "handler is nil"); + return nil, err; end handler.settimeout = function () end diff -r 2ecf400b194a -r 411e9e7d8035 net/dns.lua --- a/net/dns.lua Mon Jul 08 23:59:51 2013 +0100 +++ b/net/dns.lua Wed Jul 10 07:45:10 2013 +0200 @@ -622,10 +622,10 @@ local err; sock, err = socket.udp(); + if sock and self.socket_wrapper then sock, err = self.socket_wrapper(sock, self); end if not sock then return nil, err; end - if self.socket_wrapper then sock = self.socket_wrapper(sock, self); end sock:settimeout(0); -- todo: attempt to use a random port, fallback to 0 sock:setsockname('*', 0);