]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix on windows to ignore connection failure on UDP, unless verbose.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 2 Dec 2020 10:58:24 +0000 (11:58 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 2 Dec 2020 10:58:24 +0000 (11:58 +0100)
doc/Changelog
util/netevent.c

index 9bb31615ffdbc8908b57b28bedf7cad541f3e706..9d055b5dfdfd07c30870e38d1d0405fc160830b0 100644 (file)
@@ -5,6 +5,7 @@
        - Fix #356: deadlock when listening tcp.
        - Fix unbound-dnstap-socket to not use log routine from interrupt
          handler and not print so frequently when invoked in sequence.
+       - Fix on windows to ignore connection failure on UDP, unless verbose.
 
 1 December 2020: Wouter
        - Fix #358: Squelch udp connect 'no route to host' errors on low
index 98796a78815084833971d6c7ce8e16eaa09c0f99..e7a674f8a5c53b1b618624e4d17bae61a6355e2c 100644 (file)
@@ -583,6 +583,7 @@ comm_point_send_udp_msg_if(struct comm_point *c, sldns_buffer* packet,
 static int udp_recv_needs_log(int err)
 {
        switch(err) {
+#ifndef USE_WINSOCK
        case ECONNREFUSED:
 #  ifdef ENETUNREACH
        case ENETUNREACH:
@@ -596,6 +597,13 @@ static int udp_recv_needs_log(int err)
 #  ifdef ENETDOWN
        case ENETDOWN:
 #  endif
+#else /* USE_WINSOCK */
+       case WSAECONNREFUSED:
+       case WSAENETUNREACH:
+       case WSAEHOSTDOWN:
+       case WSAEHOSTUNREACH:
+       case WSAENETDOWN:
+#endif
                if(verbosity >= VERB_ALGO)
                        return 1;
                return 0;
@@ -736,7 +744,8 @@ comm_point_udp_callback(int fd, short event, void* arg)
 #else
                        if(WSAGetLastError() != WSAEINPROGRESS &&
                                WSAGetLastError() != WSAECONNRESET &&
-                               WSAGetLastError()!= WSAEWOULDBLOCK)
+                               WSAGetLastError()!= WSAEWOULDBLOCK &&
+                               udp_recv_needs_log(WSAGetLastError()))
                                log_err("recvfrom failed: %s",
                                        wsa_strerror(WSAGetLastError()));
 #endif