From c4348cb50f039f0785bd1d6f6a37c0a85d15c1f4 Mon Sep 17 00:00:00 2001 From: Curtis Blackburn Date: Wed, 28 Aug 2013 15:56:49 -0500 Subject: [PATCH] 3638. [cleanup] Add the ability to handle ENOPROTOOPT in case it is encountered. [RT #34668] --- CHANGES | 3 +++ lib/isc/unix/socket.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/CHANGES b/CHANGES index 7a88bb16d9..ab02767e73 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +3638. [cleanup] Add the ability to handle ENOPROTOOPT in case it is + encountered. [RT #34668] + 3637. [bug] 'allow-query-on' was checking the source address rather than the destination address. [RT #34590] diff --git a/lib/isc/unix/socket.c b/lib/isc/unix/socket.c index 00881256af..be713d67c1 100644 --- a/lib/isc/unix/socket.c +++ b/lib/isc/unix/socket.c @@ -1845,6 +1845,10 @@ doio_recv(isc__socket_t *sock, isc_socketevent_t *dev) { /* HPUX 11.11 can return EADDRNOTAVAIL. */ SOFT_OR_HARD(EADDRNOTAVAIL, ISC_R_ADDRNOTAVAIL); ALWAYS_HARD(ENOBUFS, ISC_R_NORESOURCES); + /* Should never get this one but it was seen. */ +#ifdef ENOPROTOOPT + SOFT_OR_HARD(ENOPROTOOPT, ISC_R_HOSTUNREACH); +#endif /* * HPUX returns EPROTO and EINVAL on receiving some ICMP/ICMPv6 * errors.