Pull up following revision(s) (requested by roy in ticket #1023):

external/apache2/mDNSResponder/dist/mDNSShared/PlatformCommon.c: revision 1.6
	external/apache2/mDNSResponder/dist/mDNSPosix/mDNSPosix.c: revision 1.17
	external/apache2/mDNSResponder/dist/mDNSPosix/PosixDaemon.c: revision 1.13
	external/apache2/mDNSResponder/dist/mDNSPosix/PosixDaemon.c: revision 1.14

mdnsd: Treat EADDRNOTAVAIL as a transient error

mdnsd: starting and stopping are informational messages

mdnsd: Make the unable to parse resolv.conf message informative
This commit is contained in:
martin 2020-07-26 10:44:28 +00:00
parent 42616d0efa
commit 6d58b96d53
3 changed files with 10 additions and 5 deletions

View File

@ -92,7 +92,7 @@ static void Reconfigure(mDNS *m)
mDNS_SetPrimaryInterfaceInfo(m, NULL, NULL, NULL);
mDNS_Lock(m);
if (ParseDNSServers(m, uDNS_SERVERS_FILE) < 0)
LogMsg("Unable to parse DNS server list. Unicast DNS-SD unavailable");
LogInfo("Unable to parse DNS server list. Unicast DNS-SD unavailable");
mDNS_Unlock(m);
ReadDDNSSettingsFromConfFile(m, CONFIG_FILE, &DynDNSHostname, &DynDNSZone, NULL);
mDNSPlatformSourceAddrForDest(&DynDNSIP, &dummy);
@ -177,7 +177,7 @@ int main(int argc, char **argv)
ParseCmdLinArgs(argc, argv);
LogMsg("%s starting", mDNSResponderVersionString);
LogInfo("%s starting", mDNSResponderVersionString);
err = mDNS_Init(&mDNSStorage, &PlatformStorage, gRRCache, RR_CACHE_SIZE, mDNS_Init_AdvertiseLocalAddresses,
mDNS_StatusCallback, mDNS_Init_NoInitCallbackContext);
@ -200,7 +200,7 @@ int main(int argc, char **argv)
if (mStatus_NoError == err)
err = MainLoop(&mDNSStorage);
LogMsg("%s stopping", mDNSResponderVersionString);
LogInfo("%s stopping", mDNSResponderVersionString);
mDNS_Close(&mDNSStorage);

View File

@ -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)
{

View File

@ -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; }