From fc605b34255e1bacf6126fcd87e56fcd8b69ceba Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 19 Sep 2018 08:54:13 +0200 Subject: mDNSResponder: Update to v765.20.4 The sources can be obtained via: https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-765.20.4.tar.gz Update #3522. --- mDNSResponder/.gitignore | 7 +++++++ mDNSResponder/Makefile | 2 +- mDNSResponder/mDNSMacOSX/mDNSMacOSX.c | 20 ++++++++++++-------- mDNSResponder/mDNSShared/dns_sd.h | 2 +- mDNSResponder/mDNSShared/dnssd_clientstub.c | 8 ++++---- 5 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 mDNSResponder/.gitignore (limited to 'mDNSResponder') diff --git a/mDNSResponder/.gitignore b/mDNSResponder/.gitignore new file mode 100644 index 00000000..119688da --- /dev/null +++ b/mDNSResponder/.gitignore @@ -0,0 +1,7 @@ +mDNSMacOSX/*.xcodeproj/project.xcworkspace +mDNSMacOSX/*.xcodeproj/xcuserdata +.svn +build +*~.m +*~.c +*~.h diff --git a/mDNSResponder/Makefile b/mDNSResponder/Makefile index ab610a7c..dbf604af 100644 --- a/mDNSResponder/Makefile +++ b/mDNSResponder/Makefile @@ -16,7 +16,7 @@ include $(MAKEFILEPATH)/pb_makefiles/platform.make -MVERS = "mDNSResponder-765.1.2" +MVERS = "mDNSResponder-765.20.4" DDNSWRITECONFIG = "$(DSTROOT)/Library/Application Support/Bonjour/ddnswriteconfig" VER = diff --git a/mDNSResponder/mDNSMacOSX/mDNSMacOSX.c b/mDNSResponder/mDNSMacOSX/mDNSMacOSX.c index c57eddda..c33c1663 100644 --- a/mDNSResponder/mDNSMacOSX/mDNSMacOSX.c +++ b/mDNSResponder/mDNSMacOSX/mDNSMacOSX.c @@ -7756,7 +7756,6 @@ mDNSlocal void UpdateSPSStatus(mDNS *const m, DNSQuestion *question, const Resou CFRelease(ifname); } -#if !TARGET_OS_EMBEDDED mDNSlocal mDNSs32 GetSystemSleepTimerSetting(void) { mDNSs32 val = -1; @@ -7806,6 +7805,7 @@ mDNSlocal void SetSPS(mDNS *const m) mDNSEthAddr bssid = zeroEthAddr; for (intf = GetFirstActiveInterface(m->HostInterfaces); intf; intf = GetFirstActiveInterface(intf->next)) { + if (intf->InterfaceID == AWDLInterfaceID) continue; bssid = GetBSSID(intf->ifname); if (!mDNSSameEthAddress(&bssid, &zeroEthAddr)) { @@ -7819,7 +7819,6 @@ mDNSlocal void SetSPS(mDNS *const m) mDNSCoreBeSleepProxyServer(m, sps, SPMetricPortability, SPMetricMarginalPower, SPMetricTotalPower, SPMetricFeatures); } -#endif // !TARGET_OS_EMBEDDED // The definitions below should eventually come from some externally-supplied header file. // However, since these definitions can't really be changed without breaking binary compatibility, @@ -8120,10 +8119,15 @@ mDNSlocal mDNSu8 SystemWakeForNetworkAccess(void) mDNSs32 val = 0; mDNSu8 ret = (mDNSu8)mDNS_NoWake; +#if TARGET_OS_IOS + LogSPS("SystemWakeForNetworkAccess: Sleep Proxy Client disabled by command-line option"); + return ret; +#endif + if (DisableSleepProxyClient) { LogSPS("SystemWakeForNetworkAccess: Sleep Proxy Client disabled by command-line option"); - return mDNSfalse; + return ret; } GetCurrentPMSetting(CFSTR("Wake On LAN"), &val); @@ -8545,8 +8549,8 @@ mDNSexport void mDNSMacOSXNetworkChanged(mDNS *const m) ClearInactiveInterfaces(m, utc); SetupActiveInterfaces(m, utc); -#if APPLE_OSX_mDNSResponder && !TARGET_OS_EMBEDDED - +#if APPLE_OSX_mDNSResponder +#if !TARGET_OS_EMBEDDED mDNS_Lock(m); ProcessConndConfigChanges(m); mDNS_Unlock(m); @@ -8595,6 +8599,7 @@ mDNSexport void mDNSMacOSXNetworkChanged(mDNS *const m) } } } +#endif //!TARGET_OS_EMBEDDED SetSPS(m); @@ -9491,11 +9496,10 @@ mDNSlocal void PowerChanged(void *refcon, io_service_t service, natural_t messag default: LogSPS("PowerChanged unknown message %X", messageType); break; } - if ((messageType == kIOMessageSystemWillSleep) || (messageType== kIOMessageCanSystemSleep)) - { + if (messageType == kIOMessageSystemWillSleep) m->p->SleepCookie = (long)messageArgument; + else if (messageType == kIOMessageCanSystemSleep) IOAllowPowerChange(m->p->PowerConnection, (long)messageArgument); - } KQueueUnlock(m, "PowerChanged Sleep/Wake"); } diff --git a/mDNSResponder/mDNSShared/dns_sd.h b/mDNSResponder/mDNSShared/dns_sd.h index 33ecfef2..25a53478 100644 --- a/mDNSResponder/mDNSShared/dns_sd.h +++ b/mDNSResponder/mDNSShared/dns_sd.h @@ -66,7 +66,7 @@ */ #ifndef _DNS_SD_H -#define _DNS_SD_H 7650102 +#define _DNS_SD_H 7652004 #ifdef __cplusplus extern "C" { diff --git a/mDNSResponder/mDNSShared/dnssd_clientstub.c b/mDNSResponder/mDNSShared/dnssd_clientstub.c index 5e12e0b1..5cf4ebe9 100644 --- a/mDNSResponder/mDNSShared/dnssd_clientstub.c +++ b/mDNSResponder/mDNSShared/dnssd_clientstub.c @@ -1890,7 +1890,7 @@ DNSServiceErrorType DNSSD_API DNSServiceRegisterRecord if ((interfaceIndex == kDNSServiceInterfaceIndexAny) && includeP2PWithIndexAny()) flags |= kDNSServiceFlagsIncludeP2P; - if (!sdRef || !RecordRef || !fullname || !rdata || !callBack) + if (!sdRef || !RecordRef || !fullname || (!rdata && rdlen) || !callBack) { syslog(LOG_WARNING, "dnssd_clientstub DNSServiceRegisterRecord called with NULL parameter"); return kDNSServiceErr_BadParam; @@ -1975,7 +1975,7 @@ DNSServiceErrorType DNSSD_API DNSServiceAddRecord DNSRecordRef rref; DNSRecord **p; - if (!sdRef || !RecordRef || !rdata) + if (!sdRef || !RecordRef || (!rdata && rdlen)) { syslog(LOG_WARNING, "dnssd_clientstub DNSServiceAddRecord called with NULL parameter"); return kDNSServiceErr_BadParam; @@ -2039,7 +2039,7 @@ DNSServiceErrorType DNSSD_API DNSServiceUpdateRecord size_t len = 0; char *ptr; - if (!sdRef || !rdata) + if (!sdRef || (!rdata && rdlen)) { syslog(LOG_WARNING, "dnssd_clientstub DNSServiceUpdateRecord called with NULL parameter"); return kDNSServiceErr_BadParam; @@ -2125,7 +2125,7 @@ DNSServiceErrorType DNSSD_API DNSServiceReconfirmRecord ipc_msg_hdr *hdr; DNSServiceOp *tmp; - if (!fullname || !rdata) return kDNSServiceErr_BadParam; + if (!fullname || (!rdata && rdlen)) return kDNSServiceErr_BadParam; err = ConnectToServer(&tmp, flags, reconfirm_record_request, NULL, NULL, NULL); if (err) return err; -- cgit v1.2.3