diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-18 13:13:40 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-23 18:17:22 +0200 |
commit | dac4628cd0539e068a6b6f1df24caf1d31f4854b (patch) | |
tree | d44e74b939c0e3113f760b4d3d6aab6ad08d3cb8 /mDNSResponder/mDNSMacOSX | |
parent | mDNSResponder: Update to v878.260.1 (diff) | |
download | rtems-libbsd-dac4628cd0539e068a6b6f1df24caf1d31f4854b.tar.bz2 |
mDNSResponder: Update to v878.270.2
The sources can be obtained via:
https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-878.270.2.tar.gz
Update #4010.
Diffstat (limited to 'mDNSResponder/mDNSMacOSX')
-rw-r--r-- | mDNSResponder/mDNSMacOSX/DNS64.c | 26 | ||||
-rw-r--r-- | mDNSResponder/mDNSMacOSX/DNS64.h | 4 | ||||
-rw-r--r-- | mDNSResponder/mDNSMacOSX/daemon.c | 6 | ||||
-rw-r--r-- | mDNSResponder/mDNSMacOSX/mDNSMacOSX.c | 109 | ||||
-rw-r--r-- | mDNSResponder/mDNSMacOSX/mDNSMacOSX.h | 7 | ||||
-rw-r--r-- | mDNSResponder/mDNSMacOSX/mDNSResponder.xcodeproj/project.pbxproj | 8 |
6 files changed, 113 insertions, 47 deletions
diff --git a/mDNSResponder/mDNSMacOSX/DNS64.c b/mDNSResponder/mDNSMacOSX/DNS64.c index 6fef38f8..e167cdde 100644 --- a/mDNSResponder/mDNSMacOSX/DNS64.c +++ b/mDNSResponder/mDNSMacOSX/DNS64.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Apple Inc. All rights reserved. + * Copyright (c) 2017-2019 Apple Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -54,12 +54,12 @@ check_compile_time(sizeof_field(DNS64, qnameStash) == kDNS64IPv4OnlyFQDNLength) // Local Prototypes //=========================================================================================================================== -mDNSlocal mStatus DNS64GetIPv6Addrs(mDNS *m, mDNSu16 inResGroupID, struct in6_addr **outAddrs, uint32_t *outAddrCount); -mDNSlocal mStatus DNS64GetPrefixes(mDNS *m, mDNSu16 inResGroupID, nw_nat64_prefix_t **outPrefixes, uint32_t *outPrefixCount); +mDNSlocal mStatus DNS64GetIPv6Addrs(mDNS *m, mDNSu32 inResGroupID, struct in6_addr **outAddrs, uint32_t *outAddrCount); +mDNSlocal mStatus DNS64GetPrefixes(mDNS *m, mDNSu32 inResGroupID, nw_nat64_prefix_t **outPrefixes, uint32_t *outPrefixCount); mDNSlocal mDNSBool DNS64GetReverseIPv6Addr(const domainname *inQName, struct in6_addr *outAddr); mDNSlocal mDNSu32 DNS64IPv4OnlyFQDNHash(void); mDNSlocal void DNS64RestartQuestion(mDNS *m, DNSQuestion *q, DNS64State newState); -mDNSlocal mDNSBool DNS64TestIPv6Synthesis(mDNS *m, mDNSu16 inResGroupID, const mDNSv4Addr *inV4Addr); +mDNSlocal mDNSBool DNS64TestIPv6Synthesis(mDNS *m, mDNSu32 inResGroupID, const mDNSv4Addr *inV4Addr); //=========================================================================================================================== // DNS64StateMachine @@ -174,10 +174,10 @@ mDNSexport mDNSBool DNS64StateMachine(mDNS *m, DNSQuestion *inQ, const ResourceR } //=========================================================================================================================== -// DNS64AnswerQuestion +// DNS64AnswerCurrentQuestion //=========================================================================================================================== -mDNSexport mStatus DNS64AnswerQuestion(mDNS *m, DNSQuestion *inQ, const ResourceRecord *inRR, QC_result inResult) +mDNSexport mStatus DNS64AnswerCurrentQuestion(mDNS *m, const ResourceRecord *inRR, QC_result inResult) { mStatus err; ResourceRecord newRR; @@ -187,10 +187,11 @@ mDNSexport mStatus DNS64AnswerQuestion(mDNS *m, DNSQuestion *inQ, const Resource uint32_t i; struct in_addr v4Addr; struct in6_addr synthV6; + DNSQuestion * const q = m->CurrentQuestion; - require_action_quiet(inQ->qDNSServer, exit, err = mStatus_BadParamErr); + require_action_quiet(q->qDNSServer, exit, err = mStatus_BadParamErr); - err = DNS64GetPrefixes(m, inQ->qDNSServer->resGroupID, &prefixes, &prefixCount); + err = DNS64GetPrefixes(m, q->qDNSServer->resGroupID, &prefixes, &prefixCount); require_noerr_quiet(err, exit); newRR = *inRR; @@ -205,7 +206,8 @@ mDNSexport mStatus DNS64AnswerQuestion(mDNS *m, DNSQuestion *inQ, const Resource if (nw_nat64_synthesize_v6(&prefixes[i], &v4Addr, &synthV6)) { memcpy(rdata.u.ipv6.b, synthV6.s6_addr, 16); - inQ->QuestionCallback(m, inQ, &newRR, inResult); + q->QuestionCallback(m, q, &newRR, inResult); + if (m->CurrentQuestion != q) break; } } err = mStatus_NoError; @@ -354,7 +356,7 @@ mDNSexport void DNS64RestartQuestions(mDNS *m) ((RR)->RecordType != kDNSRecordTypePacketNegative) && \ !(RR)->InterfaceID) -mDNSlocal mStatus DNS64GetIPv6Addrs(mDNS *m, const mDNSu16 inResGroupID, struct in6_addr **outAddrs, uint32_t *outAddrCount) +mDNSlocal mStatus DNS64GetIPv6Addrs(mDNS *m, const mDNSu32 inResGroupID, struct in6_addr **outAddrs, uint32_t *outAddrCount) { mStatus err; const CacheGroup * cg; @@ -403,7 +405,7 @@ exit: // DNS64GetPrefixes //=========================================================================================================================== -mDNSlocal mStatus DNS64GetPrefixes(mDNS *m, mDNSu16 inResGroupID, nw_nat64_prefix_t **outPrefixes, uint32_t *outPrefixCount) +mDNSlocal mStatus DNS64GetPrefixes(mDNS *m, mDNSu32 inResGroupID, nw_nat64_prefix_t **outPrefixes, uint32_t *outPrefixCount) { mStatus err; struct in6_addr * v6Addrs; @@ -535,7 +537,7 @@ mDNSlocal void DNS64RestartQuestion(mDNS *const m, DNSQuestion *inQ, DNS64State // DNS64TestIPv6Synthesis //=========================================================================================================================== -mDNSlocal mDNSBool DNS64TestIPv6Synthesis(mDNS *m, mDNSu16 inResGroupID, const mDNSv4Addr *inV4Addr) +mDNSlocal mDNSBool DNS64TestIPv6Synthesis(mDNS *m, mDNSu32 inResGroupID, const mDNSv4Addr *inV4Addr) { mStatus err; nw_nat64_prefix_t * prefixes = NULL; diff --git a/mDNSResponder/mDNSMacOSX/DNS64.h b/mDNSResponder/mDNSMacOSX/DNS64.h index 80eb7feb..dc07dcc1 100644 --- a/mDNSResponder/mDNSMacOSX/DNS64.h +++ b/mDNSResponder/mDNSMacOSX/DNS64.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Apple Inc. All rights reserved. + * Copyright (c) 2017-2019 Apple Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ extern "C" { #endif mDNSexport mDNSBool DNS64StateMachine(mDNS *m, DNSQuestion *inQ, const ResourceRecord *inRR, QC_result inResult); -mDNSexport mStatus DNS64AnswerQuestion(mDNS *m, DNSQuestion *inQ, const ResourceRecord *inRR, QC_result inResult); +mDNSexport mStatus DNS64AnswerCurrentQuestion(mDNS *m, const ResourceRecord *inRR, QC_result inResult); mDNSexport void DNS64HandleNewQuestion(mDNS *m, DNSQuestion *inQ); mDNSexport void DNS64ResetState(DNSQuestion *inQ); mDNSexport void DNS64RestartQuestions(mDNS *m); diff --git a/mDNSResponder/mDNSMacOSX/daemon.c b/mDNSResponder/mDNSMacOSX/daemon.c index 695e4114..233ffb99 100644 --- a/mDNSResponder/mDNSMacOSX/daemon.c +++ b/mDNSResponder/mDNSMacOSX/daemon.c @@ -517,13 +517,13 @@ mDNSexport void INFOCallback(void) for (s = mDNSStorage.DNSServers; s; s = s->next) { NetworkInterfaceInfoOSX *ifx = IfindexToInterfaceInfoOSX(s->interface); - LogMsgNoIdent("DNS Server %##s %s%s%#a:%d %d %s %d %d %s %s %s %s %s %s", + LogMsgNoIdent("DNS Server %##s %s%s%#a:%d %d %s %d %u %s %s %s %s %s %s", s->domain.c, ifx ? ifx->ifinfo.ifname : "", ifx ? " " : "", &s->addr, mDNSVal16(s->port), - s->penaltyTime ? s->penaltyTime - mDNS_TimeNow(&mDNSStorage) : 0, DNSScopeToString(s->scoped), + s->penaltyTime ? (s->penaltyTime - mDNS_TimeNow(&mDNSStorage)) : 0, DNSScopeToString(s->scopeType), s->timeout, s->resGroupID, s->req_A ? "v4" : "!v4", s->req_AAAA ? "v6" : "!v6", - s->cellIntf ? "cell" : "!cell", + s->isCell ? "cell" : "!cell", s->isExpensive ? "exp" : "!exp", s->isCLAT46 ? "clat46" : "!clat46", s->DNSSECAware ? "DNSSECAware" : "!DNSSECAware"); diff --git a/mDNSResponder/mDNSMacOSX/mDNSMacOSX.c b/mDNSResponder/mDNSMacOSX/mDNSMacOSX.c index b7e53032..126edd03 100644 --- a/mDNSResponder/mDNSMacOSX/mDNSMacOSX.c +++ b/mDNSResponder/mDNSMacOSX/mDNSMacOSX.c @@ -93,7 +93,6 @@ // Include definition of opaque_presence_indication for KEV_DL_NODE_PRESENCE handling logic. #include <Kernel/IOKit/apple80211/apple80211_var.h> -#include <network_information.h> // for nwi_state #if MDNSRESPONDER_BTMM_SUPPORT #include <AWACS.h> @@ -3626,7 +3625,6 @@ mDNSlocal NetworkInterfaceInfoOSX *AddInterfaceToList(struct ifaddrs *ifa, mDNSs i->isExpensive = (eflags & IFEF_EXPENSIVE) ? mDNStrue: mDNSfalse; i->isAWDL = (eflags & IFEF_AWDL) ? mDNStrue: mDNSfalse; - i->isCLAT46 = (eflags & IFEF_CLAT46) ? mDNStrue: mDNSfalse; if (eflags & IFEF_AWDL) { // Set SupportsUnicastMDNSResponse false for the AWDL interface since unicast reserves @@ -5410,7 +5408,7 @@ mDNSlocal void ConfigSearchDomains(dns_resolver_t *resolver, mDNSInterfaceID int { if (MakeDomainNameFromDNSNameString(&d, resolver->search[j]) != NULL) { - static char interface_buf[32]; + char interface_buf[32]; mDNS_snprintf(interface_buf, sizeof(interface_buf), "for interface %s", InterfaceNameForID(&mDNSStorage, interfaceId)); LogInfo("ConfigSearchDomains: (%s) configuring search domain %s %s (generation= %llu)", scopeString, resolver->search[j], (interfaceId == mDNSInterface_Any) ? "" : interface_buf, generation); @@ -5476,7 +5474,24 @@ mDNSlocal void ConfigNonUnicastResolver(dns_resolver_t *r) } } -mDNSlocal void ConfigDNSServers(dns_resolver_t *r, mDNSInterfaceID interface, mDNSu32 scope, mDNSu16 resGroupID) +#if !defined(NWI_IFSTATE_FLAGS_HAS_CLAT46) +#define NWI_IFSTATE_FLAGS_HAS_CLAT46 0x0040 +#endif + +mDNSlocal mDNSBool NWIInterfaceHasCLAT46(nwi_state_t state, uint32_t ifIndex) +{ + char ifNameBuf[IFNAMSIZ + 1]; + const char *ifNamePtr = if_indextoname(ifIndex, ifNameBuf); + if (!ifNamePtr) return(mDNSfalse); + + const nwi_ifstate_t ifState = nwi_state_get_ifstate(state, ifNamePtr); + if (!ifState) return(mDNSfalse); + + const nwi_ifstate_flags flags = nwi_ifstate_get_flags(ifState); + return((flags & NWI_IFSTATE_FLAGS_HAS_CLAT46) ? mDNStrue : mDNSfalse); +} + +mDNSlocal void ConfigDNSServers(dns_resolver_t *r, mDNSInterfaceID interface, mDNSu32 scope, mDNSu32 resGroupID) { int n; domainname d; @@ -5509,7 +5524,15 @@ mDNSlocal void ConfigDNSServers(dns_resolver_t *r, mDNSInterfaceID interface, mD reqAAAA = (r->flags & DNS_RESOLVER_FLAGS_REQUEST_AAAA_RECORDS ? mDNStrue : mDNSfalse); info = IfindexToInterfaceInfoOSX(interface); isExpensive = (info && info->isExpensive) ? mDNStrue : mDNSfalse; - isCLAT46 = (info && info->isCLAT46) ? mDNStrue : mDNSfalse; + if (mDNSStorage.p->NWIState && interface) + { + const uint32_t ifIndex = (uint32_t)((uintptr_t)interface); + isCLAT46 = NWIInterfaceHasCLAT46(mDNSStorage.p->NWIState, ifIndex); + } + else + { + isCLAT46 = mDNSfalse; + } for (n = 0; n < r->n_nameserver; n++) { @@ -5553,7 +5576,7 @@ mDNSlocal void ConfigDNSServers(dns_resolver_t *r, mDNSInterfaceID interface, mD // "service_specific_resolver" has entries that should be used for Service scoped question i.e., questions that specify // a service identifier (q->ServiceID) // -mDNSlocal void ConfigResolvers(dns_config_t *config, mDNSu32 scope, mDNSBool setsearch, mDNSBool setservers, MD5_CTX *sdc, mDNSu16 resGroupID) +mDNSlocal void ConfigResolvers(dns_config_t *config, mDNSu32 scope, mDNSBool setsearch, mDNSBool setservers, MD5_CTX *sdc) { int i; dns_resolver_t **resolver; @@ -5609,12 +5632,7 @@ mDNSlocal void ConfigResolvers(dns_config_t *config, mDNSu32 scope, mDNSBool set } else { - // Each scoped resolver gets its own ID (i.e., they are in their own group) so that responses from the - // scoped resolver are not used by other non-scoped or scoped resolvers. - if (scope != kScopeNone) - resGroupID++; - - ConfigDNSServers(r, interface, scope, resGroupID); + ConfigDNSServers(r, interface, scope, mDNS_GetNextResolverGroupID()); } } } @@ -5910,7 +5928,6 @@ mDNSexport mDNSBool mDNSPlatformSetDNSConfig(mDNSBool setservers, mDNSBool setse { mDNS *const m = &mDNSStorage; MD5_CTX sdc; // search domain context - static mDNSu16 resolverGroupID = 0; // Need to set these here because we need to do this even if SCDynamicStoreCreate() or SCDynamicStoreCopyValue() below don't succeed if (fqdn ) fqdn->c[0] = 0; @@ -6011,20 +6028,9 @@ mDNSexport mDNSBool mDNSPlatformSetDNSConfig(mDNSBool setservers, mDNSBool setse SetupActiveDirectoryDomain(config); #endif - // With scoped DNS, we don't want to answer a non-scoped question using a scoped cache entry - // and vice-versa. As we compare resolverGroupID for matching cache entry with question, we need - // to make sure that they don't match. We ensure this by always bumping up resolverGroupID between - // the two calls to ConfigResolvers DNSServers for scoped and non-scoped can never have the - // same resolverGroupID. - // - // All non-scoped resolvers use the same resolverGroupID i.e, we treat them all equally. - ConfigResolvers(config, kScopeNone, setsearch, setservers, &sdc, ++resolverGroupID); - resolverGroupID += config->n_resolver; - - ConfigResolvers(config, kScopeInterfaceID, setsearch, setservers, &sdc, resolverGroupID); - resolverGroupID += config->n_scoped_resolver; - - ConfigResolvers(config, kScopeServiceID, setsearch, setservers, &sdc, resolverGroupID); + ConfigResolvers(config, kScopeNone, setsearch, setservers, &sdc); + ConfigResolvers(config, kScopeInterfaceID, setsearch, setservers, &sdc); + ConfigResolvers(config, kScopeServiceID, setsearch, setservers, &sdc); // Acking provides a hint to other processes that the current DNS configuration has completed // its update. When configd receives the ack, it publishes a notification. @@ -9532,6 +9538,36 @@ mDNSlocal void RegisterLocalOnlyAAAARecord(const domainname *const name, const m } #endif +mDNSlocal void NWIEventHandler(void) +{ + mDNS * const m = &mDNSStorage; + nwi_state_t newState = nwi_state_copy(); + + KQueueLock(); + const nwi_state_t oldState = m->p->NWIState; + m->p->NWIState = newState; + if (m->p->NWIState) + { + uint32_t lastIfIndex = 0; + mDNSBool lastCLAT46 = mDNSfalse; + for (DNSServer *server = m->DNSServers; server; server = server->next) + { + const uint32_t ifIndex = (uint32_t)((uintptr_t)server->interface); + if (ifIndex == 0) continue; + if (ifIndex == lastIfIndex) + { + server->isCLAT46 = lastCLAT46; + continue; + } + server->isCLAT46 = NWIInterfaceHasCLAT46(m->p->NWIState, ifIndex); + lastIfIndex = ifIndex; + lastCLAT46 = server->isCLAT46; + } + } + KQueueUnlock("NWIEventHandler"); + if (oldState) nwi_state_release(oldState); +} + mDNSlocal mStatus mDNSPlatformInit_setup(mDNS *const m) { mStatus err; @@ -9672,6 +9708,18 @@ mDNSlocal mStatus mDNSPlatformInit_setup(mDNS *const m) err = WatchForSysEvents(m); if (err) { LogMsg("mDNSPlatformInit_setup: WatchForSysEvents failed %d", err); return(err); } + m->p->NWIState = nwi_state_copy(); + uint32_t status = notify_register_dispatch(nwi_state_get_notify_key(), &m->p->NWINotifyToken, dispatch_get_main_queue(), + ^(__unused int token) { NWIEventHandler(); }); + if (status == NOTIFY_STATUS_OK) + { + m->p->NWINotifyRegistered = mDNStrue; + } + else + { + LogMsg("mDNSPlatformInit_setup: notify_register_dispatch failed %u", status); + } + mDNSs32 utc = mDNSPlatformUTC(); m->SystemWakeOnLANEnabled = SystemWakeForNetworkAccess(); myGetIfAddrs(1); @@ -9868,7 +9916,11 @@ mDNSexport void mDNSPlatformClose(mDNS *const m) } if (m->p->SysEventNotifier >= 0) { close(m->p->SysEventNotifier); m->p->SysEventNotifier = -1; } - + if (m->p->NWINotifyRegistered) + { + notify_cancel(m->p->NWINotifyToken); + m->p->NWINotifyRegistered = mDNSfalse; + } terminateD2DPlugins(); mDNSs32 utc = mDNSPlatformUTC(); @@ -9981,6 +10033,7 @@ mDNSexport void mDNSPlatformQsort ( void *base, int nel, int width, in } #if !(APPLE_OSX_mDNSResponder && MACOSX_MDNS_MALLOC_DEBUGGING) mDNSexport void * mDNSPlatformMemAllocate(mDNSu32 len) { return(mallocL("mDNSPlatformMemAllocate", len)); } +mDNSexport void * mDNSPlatformMemAllocateClear(mDNSu32 len) { return(callocL("mDNSPlatformMemAllocateClear", len)); } #endif mDNSexport void mDNSPlatformMemFree (void *mem) { freeL("mDNSPlatformMemFree", mem); } diff --git a/mDNSResponder/mDNSMacOSX/mDNSMacOSX.h b/mDNSResponder/mDNSMacOSX/mDNSMacOSX.h index 82de4331..23368183 100644 --- a/mDNSResponder/mDNSMacOSX/mDNSMacOSX.h +++ b/mDNSResponder/mDNSMacOSX/mDNSMacOSX.h @@ -28,7 +28,8 @@ extern "C" { #include <IOKit/pwr_mgt/IOPMLibPrivate.h> #include <sys/socket.h> #include <netinet/in.h> -#include "mDNSEmbeddedAPI.h" // for domain name structure +#include <network_information.h> // for nwi_state +#include "mDNSEmbeddedAPI.h" // for domain name structure #include <net/if.h> #include <os/log.h> @@ -154,7 +155,6 @@ struct NetworkInterfaceInfoOSX_struct u_int BPF_len; mDNSBool isExpensive; // True if this interface has the IFEF_EXPENSIVE flag set. mDNSBool isAWDL; // True if this interface has the IFEF_AWDL flag set. - mDNSBool isCLAT46; // True if this interface has the IFEF_CLAT46 flag set. #ifdef MDNSRESPONDER_USES_LIB_DISPATCH_AS_PRIMARY_EVENT_LOOP_MECHANISM dispatch_source_t BPF_source; #else @@ -185,6 +185,9 @@ struct mDNS_PlatformSupport_struct SCDynamicStoreRef Store; CFRunLoopSourceRef StoreRLS; CFRunLoopSourceRef PMRLS; + nwi_state_t NWIState; + int NWINotifyToken; + mDNSBool NWINotifyRegistered; int SysEventNotifier; KQueueEntry SysEventKQueue; IONotificationPortRef PowerPortRef; diff --git a/mDNSResponder/mDNSMacOSX/mDNSResponder.xcodeproj/project.pbxproj b/mDNSResponder/mDNSMacOSX/mDNSResponder.xcodeproj/project.pbxproj index 8067d931..5df1073d 100644 --- a/mDNSResponder/mDNSMacOSX/mDNSResponder.xcodeproj/project.pbxproj +++ b/mDNSResponder/mDNSMacOSX/mDNSResponder.xcodeproj/project.pbxproj @@ -347,6 +347,8 @@ BDB04224203FF18000419961 /* dns_sd_private.h in Headers */ = {isa = PBXBuildFile; fileRef = BDA9A7871B3A923600523835 /* dns_sd_private.h */; settings = {ATTRIBUTES = (Private, ); }; }; BDB61845206ADB9D00AFF600 /* com.apple.mDNSResponder.plist in Copy Base Logging Profile */ = {isa = PBXBuildFile; fileRef = BDB61843206ADB7700AFF600 /* com.apple.mDNSResponder.plist */; }; BDBF9B941ED74B9C001498A8 /* DNS64State.h in Headers */ = {isa = PBXBuildFile; fileRef = BDBF9B931ED74B8C001498A8 /* DNS64State.h */; }; + BDE5BCCA226D7181009C723C /* DNSCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = BDE5BCC9226D7181009C723C /* DNSCommon.h */; }; + BDE5BCCC226D7198009C723C /* uDNS.h in Headers */ = {isa = PBXBuildFile; fileRef = BDE5BCCB226D7197009C723C /* uDNS.h */; }; BDF8BB902208E2A800419B62 /* mDNSResponder.plist in Copy BATS test plist */ = {isa = PBXBuildFile; fileRef = BDF8BB8F2208E26E00419B62 /* mDNSResponder.plist */; }; D284BE540ADD80740027CCDF /* dnssd_ipc.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E11B5B04A28126019798ED /* dnssd_ipc.h */; }; D284BE580ADD80740027CCDF /* mDNS.c in Sources */ = {isa = PBXBuildFile; fileRef = 6575FBE9022EAF5A00000109 /* mDNS.c */; }; @@ -1018,6 +1020,8 @@ BDB61846206ADDDF00AFF600 /* com.apple.mDNSResponder.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = com.apple.mDNSResponder.plist; sourceTree = "<group>"; }; BDBF9B931ED74B8C001498A8 /* DNS64State.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNS64State.h; sourceTree = "<group>"; }; BDE238C11DF69D8300B9F696 /* dns_sd_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dns_sd_internal.h; path = ../mDNSShared/dns_sd_internal.h; sourceTree = "<group>"; }; + BDE5BCC9226D7181009C723C /* DNSCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DNSCommon.h; path = ../mDNSCore/DNSCommon.h; sourceTree = "<group>"; }; + BDE5BCCB226D7197009C723C /* uDNS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = uDNS.h; path = ../mDNSCore/uDNS.h; sourceTree = "<group>"; }; BDF8BB8F2208E26E00419B62 /* mDNSResponder.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = mDNSResponder.plist; sourceTree = "<group>"; }; D284BE730ADD80740027CCDF /* mDNSResponder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mDNSResponder; sourceTree = BUILT_PRODUCTS_DIR; }; D284BEB00ADD80920027CCDF /* dns-sd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "dns-sd"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1347,6 +1351,7 @@ 84F4C08F188F04CF00D1E1DE /* dns_services.h */, 848DA5D516547F7200D2E8B4 /* dns_xpc.h */, 7F18A9F60587CEF6001880B3 /* DNSCommon.c */, + BDE5BCC9226D7181009C723C /* DNSCommon.h */, 7F461DB5062DBF2900672BF3 /* DNSDigest.c */, FF13FFEA0A5DA44A00897C81 /* dnsextd_lexer.l */, FF13FFEC0A5DA45500897C81 /* dnsextd_parser.y */, @@ -1398,6 +1403,7 @@ FFCB6D73075D539900B8AF62 /* PlatformCommon.c */, BD03E88C1AD31278005E8A81 /* SymptomReporter.c */, 7F18A9F70587CEF6001880B3 /* uDNS.c */, + BDE5BCCB226D7197009C723C /* uDNS.h */, 216D9ACD1720C9F5008066E1 /* uDNSPathEvalulation.c */, F525E72804AA167501F1CF4D /* uds_daemon.c */, 4A2E69DD0F5475A3004A87B0 /* uds_daemon.h */, @@ -1835,7 +1841,9 @@ 2ECC11A60C4FEC3800CB1885 /* helpermsg-types.h in Headers */, 21A57F4E145B2AE100939099 /* CryptoAlg.h in Headers */, 21A57F55145B2B1400939099 /* CryptoSupport.h in Headers */, + BDE5BCCA226D7181009C723C /* DNSCommon.h in Headers */, 2124FA2C1471E98C0021D7BB /* nsec.h in Headers */, + BDE5BCCC226D7198009C723C /* uDNS.h in Headers */, 2124FA301471E9B50021D7BB /* dnssec.h in Headers */, BD691B2B1ED2F4AB00E6F317 /* DNS64.h in Headers */, 218E8E53156D8C0300720DA0 /* dnsproxy.h in Headers */, |