From: W.C.A. Wijngaards Date: Fri, 11 Dec 2020 09:30:54 +0000 (+0100) Subject: - Fix to squelch permission denied and other errors from remote host, X-Git-Tag: release-1.13.1rc1~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=70776609322d4629fd1418224887470498a670e0;p=thirdparty%2Funbound.git - Fix to squelch permission denied and other errors from remote host, they are logged at higher verbosity but not on low verbosity. --- diff --git a/doc/Changelog b/doc/Changelog index af111d8a0..26e423f8e 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,5 +1,7 @@ 11 December 2020: Wouter - Fix #371: unbound-control timeout when Unbound is not running. + - Fix to squelch permission denied and other errors from remote host, + they are logged at higher verbosity but not on low verbosity. 3 December 2020: Wouter - make depend. diff --git a/util/netevent.c b/util/netevent.c index d3e268a01..7e604a9fa 100644 --- a/util/netevent.c +++ b/util/netevent.c @@ -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) { + case EACCES: /* some hosts send ICMP 'Permission Denied' */ #ifndef USE_WINSOCK case ECONNREFUSED: # ifdef ENETUNREACH @@ -1609,6 +1610,26 @@ comm_point_tcp_handle_read(int fd, struct comm_point* c, int short_ok) if(errno == ECONNRESET && verbosity < 2) return 0; /* silence reset by peer */ #endif +#ifdef ENETUNREACH + if(errno == ENETUNREACH && verbosity < 2) + return 0; /* silence it */ +#endif +#ifdef EHOSTDOWN + if(errno == EHOSTDOWN && verbosity < 2) + return 0; /* silence it */ +#endif +#ifdef EHOSTUNREACH + if(errno == EHOSTUNREACH && verbosity < 2) + return 0; /* silence it */ +#endif +#ifdef ENETDOWN + if(errno == ENETDOWN && verbosity < 2) + return 0; /* silence it */ +#endif +#ifdef EACCES + if(errno == EACCES && verbosity < 2) + return 0; /* silence it */ +#endif #ifdef ENOTCONN if(errno == ENOTCONN) { log_err_addr("read (in tcp s) failed and this could be because TCP Fast Open is enabled [--disable-tfo-client --disable-tfo-server] but does not work", sock_strerror(errno),