diff --git a/udp-listener.c b/udp-listener.c index bc7a3f4..d3f5590 100644 --- a/udp-listener.c +++ b/udp-listener.c @@ -225,13 +225,16 @@ static void mark_active(struct connection* cnx) /* Creates a new non-blocking socket */ static int nonblocking_socket(struct sslhcfg_protocols_item* proto) { + int res; + if (proto->resolve_on_forward) { - resolve_split_name(&(proto->saddr), proto->host, - proto->port); + res = resolve_split_name(&(proto->saddr), proto->host, + proto->port); + if (res) return -1; } int out = socket(proto->saddr->ai_family, SOCK_DGRAM, 0); - int res = set_nonblock(out); + res = set_nonblock(out); if (res == -1) { print_message(msg_system_error, "%s:%d:%s:%d:%s\n", __FILE__, __LINE__, "udp:socket:nonblock", errno, strerror(errno)); close(out);