From c96c2d8a45f2269c4f888d1759f3250989a3f73c Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Mon, 16 Jul 2018 10:27:12 +0000 Subject: [PATCH] - Squelch can't bind socket errors with Permission denied unless verbosity is 4 or higher, for UDP sockets. git-svn-id: file:///svn/unbound/trunk@4781 be551aaa-1e26-0410-a405-d3ace91eadb9 --- doc/Changelog | 2 ++ services/listen_dnsport.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/Changelog b/doc/Changelog index 55cc4c70f..3c0dbabec 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,8 @@ 16 July 2018: Wouter - Fix qname minimisation NXDOMAIN validation lookup failures causing error_supers assertion fails. + - Squelch can't bind socket errors with Permission denied unless + verbosity is 4 or higher, for UDP sockets. 12 July 2018: Wouter - Fix to improve systemd socket activation code file descriptor diff --git a/services/listen_dnsport.c b/services/listen_dnsport.c index 4638285e1..358d34331 100644 --- a/services/listen_dnsport.c +++ b/services/listen_dnsport.c @@ -573,7 +573,8 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr, /* detect freebsd jail with no ipv6 permission */ if(family==AF_INET6 && errno==EINVAL) *noproto = 1; - else if(errno != EADDRINUSE) { + else if(errno != EADDRINUSE && + !(errno == EACCES && verbosity < 4)) { log_err_addr("can't bind socket", strerror(errno), (struct sockaddr_storage*)addr, addrlen); } @@ -581,7 +582,8 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr, close(s); #else /* USE_WINSOCK */ if(WSAGetLastError() != WSAEADDRINUSE && - WSAGetLastError() != WSAEADDRNOTAVAIL) { + WSAGetLastError() != WSAEADDRNOTAVAIL && + !(WSAGetLastError() == WSAEACCES && verbosity < 4)) { log_err_addr("can't bind socket", wsa_strerror(WSAGetLastError()), (struct sockaddr_storage*)addr, addrlen);