summaryrefslogtreecommitdiff
path: root/external/apache2
diff options
context:
space:
mode:
authorroy <roy@NetBSD.org>2020-07-21 14:04:07 +0000
committerroy <roy@NetBSD.org>2020-07-21 14:04:07 +0000
commit73405826ccae6ce4777f3304989a36bfbbc2ca1a (patch)
tree621acd72d8b73bae4441b451574a6409196dc9c9 /external/apache2
parent6588d85c2a95c2c99a1d94c0ebe3dc5448e90b33 (diff)
mdnsd: Treat EADDRNOTAVAIL as a transient error
Diffstat (limited to 'external/apache2')
-rwxr-xr-xexternal/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c3
-rw-r--r--external/apache2/mDNSResponder/dist/mDNSShared/PlatformCommon.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c b/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c
index 78e90eead86..f4ac238e91d 100755
--- a/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c
+++ b/external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c
@@ -195,8 +195,9 @@ mDNSexport mStatus mDNSPlatformSendUDP(const mDNS *const m, const void *const ms
{
static int MessageCount = 0;
// Don't report EHOSTDOWN (i.e. ARP failure), ENETDOWN, or no route to host for unicast destinations
- if (!mDNSAddressIsAllDNSLinkGroup(dst))
+ if (!mDNSAddressIsAllDNSLinkGroup(dst)) {
if (errno == EHOSTDOWN || errno == ENETDOWN || errno == EHOSTUNREACH || errno == ENETUNREACH) return(mStatus_TransientErr);
+ } else if (errno == EADDRNOTAVAIL) return(mStatus_TransientErr);
if (MessageCount < 1000)
{
diff --git a/external/apache2/mDNSResponder/dist/mDNSShared/PlatformCommon.c b/external/apache2/mDNSResponder/dist/mDNSShared/PlatformCommon.c
index ed74ea9cd00..97680477387 100644
--- a/external/apache2/mDNSResponder/dist/mDNSShared/PlatformCommon.c
+++ b/external/apache2/mDNSResponder/dist/mDNSShared/PlatformCommon.c
@@ -70,7 +70,11 @@ mDNSexport void mDNSPlatformSourceAddrForDest(mDNSAddr *const src, const mDNSAdd
else return;
if ((connect(sock, &addr.s, inner_len)) < 0)
- { LogMsg("mDNSPlatformSourceAddrForDest: connect %#a failed errno %d (%s)", dst, errno, strerror(errno)); goto exit; }
+ {
+ if (errno != EADDRNOTAVAIL)
+ LogMsg("mDNSPlatformSourceAddrForDest: connect %#a failed errno %d (%s)", dst, errno, strerror(errno));
+ goto exit;
+ }
if ((getsockname(sock, &addr.s, &len)) < 0)
{ LogMsg("mDNSPlatformSourceAddrForDest: getsockname failed errno %d (%s)", errno, strerror(errno)); goto exit; }