From 5b13d561ee874824d6f4ab70d72307264f22973f Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 10 Jul 2013 07:45:10 +0200 Subject: net.dns, net.adns: Make sure errors from net.server are propagated (thanks asterix) --- net/adns.lua | 4 ++-- net/dns.lua | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/adns.lua b/net/adns.lua index cd69a627..158747c6 100644 --- a/net/adns.lua +++ b/net/adns.lua @@ -68,9 +68,9 @@ function new_async_socket(sock, resolver) 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 --git a/net/dns.lua b/net/dns.lua index 89b50255..cdd949a2 100644 --- a/net/dns.lua +++ b/net/dns.lua @@ -622,10 +622,10 @@ function resolver:getsocket(servernum) -- - - - - - - - - - - - - getsocket 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); -- cgit v1.2.3