diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-19 08:54:52 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-20 11:23:33 +0200 |
commit | 7d33d36d73d2e902b107fb597e84e44ab11274a9 (patch) | |
tree | 7ef04cf1c29216f342da8e5ee69de7c1290959aa /mDNSResponder/mDNSCore | |
parent | mDNSResponder: Update to v765.20.4 (diff) | |
download | rtems-libbsd-7d33d36d73d2e902b107fb597e84e44ab11274a9.tar.bz2 |
mDNSResponder: Update to v765.30.11
The sources can be obtained via:
https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-765.30.11.tar.gz
Update #3522.
Diffstat (limited to 'mDNSResponder/mDNSCore')
-rw-r--r-- | mDNSResponder/mDNSCore/dnsproxy.c | 21 | ||||
-rwxr-xr-x | mDNSResponder/mDNSCore/mDNSEmbeddedAPI.h | 2 | ||||
-rwxr-xr-x | mDNSResponder/mDNSCore/uDNS.c | 5 |
3 files changed, 15 insertions, 13 deletions
diff --git a/mDNSResponder/mDNSCore/dnsproxy.c b/mDNSResponder/mDNSCore/dnsproxy.c index 05b70dd9..5376d3c8 100644 --- a/mDNSResponder/mDNSCore/dnsproxy.c +++ b/mDNSResponder/mDNSCore/dnsproxy.c @@ -195,6 +195,8 @@ mDNSlocal mDNSu8 *AddResourceRecords(mDNS *const m, DNSProxyClient *pc, mDNSu8 * CacheRecord *soa = mDNSNULL; CacheRecord *cname = mDNSNULL; mDNSu8 *limit; + domainname tempQName; + mDNSu32 tempQNameHash; *error = mStatus_NoError; *prevptr = mDNSNULL; @@ -222,20 +224,17 @@ mDNSlocal mDNSu8 *AddResourceRecords(mDNS *const m, DNSProxyClient *pc, mDNSu8 * } LogInfo("AddResourceRecords: Limit is %d", limit - m->omsg.data); - if (!SameDomainName(&pc->qname, &pc->q.qname)) - { - AssignDomainName(&pc->q.qname, &pc->qname); - pc->q.qnamehash = DomainNameHashValue(&pc->q.qname); - } + AssignDomainName(&tempQName, &pc->qname); + tempQNameHash = DomainNameHashValue(&tempQName); again: nsec = soa = cname = mDNSNULL; - slot = HashSlot(&pc->q.qname); - - cg = CacheGroupForName(m, slot, pc->q.qnamehash, &pc->q.qname); + slot = HashSlot(&tempQName); + + cg = CacheGroupForName(m, slot, tempQNameHash, &tempQName); if (!cg) { - LogInfo("AddResourceRecords: CacheGroup not found"); + LogInfo("AddResourceRecords: CacheGroup not found for %##s", tempQName.c); *error = mStatus_NoSuchRecord; return mDNSNULL; } @@ -344,8 +343,8 @@ again: } if (cname) { - AssignDomainName(&pc->q.qname, &cname->resrec.rdata->u.name); - pc->q.qnamehash = DomainNameHashValue(&pc->q.qname); + AssignDomainName(&tempQName, &cname->resrec.rdata->u.name); + tempQNameHash = DomainNameHashValue(&tempQName); goto again; } if (!ptr) diff --git a/mDNSResponder/mDNSCore/mDNSEmbeddedAPI.h b/mDNSResponder/mDNSCore/mDNSEmbeddedAPI.h index 3fd654eb..248b848f 100755 --- a/mDNSResponder/mDNSCore/mDNSEmbeddedAPI.h +++ b/mDNSResponder/mDNSCore/mDNSEmbeddedAPI.h @@ -3376,7 +3376,7 @@ extern mDNSu8 *DNSProxySetAttributes(DNSQuestion *q, DNSMessageHeader *h, DNSMes #if APPLE_OSX_mDNSResponder extern void mDNSPlatformGetDNSRoutePolicy(mDNS *const m, DNSQuestion *q, mDNSBool *isBlocked); #endif -extern void mDNSPlatformSetSocktOpt(void *sock, mDNSTransport_Type transType, mDNSAddr_Type addrType, DNSQuestion *q); +extern void mDNSPlatformSetSocktOpt(void *sock, mDNSTransport_Type transType, mDNSAddr_Type addrType, const DNSQuestion *q); extern mDNSs32 mDNSPlatformGetPID(void); extern mDNSBool mDNSValidKeepAliveRecord(AuthRecord *rr); diff --git a/mDNSResponder/mDNSCore/uDNS.c b/mDNSResponder/mDNSCore/uDNS.c index 694c745c..5848e1e1 100755 --- a/mDNSResponder/mDNSCore/uDNS.c +++ b/mDNSResponder/mDNSCore/uDNS.c @@ -4737,7 +4737,10 @@ mDNSexport void uDNS_CheckCurrentQuestion(mDNS *const m) { q->LocalSocket = mDNSPlatformUDPSocket(m, zeroIPPort); if (q->LocalSocket) - mDNSPlatformSetSocktOpt(q->LocalSocket, mDNSTransport_UDP, q->qDNSServer->addr.type, q); + { + mDNSPlatformSetSocktOpt(q->LocalSocket, mDNSTransport_UDP, mDNSAddrType_IPv4, q); + mDNSPlatformSetSocktOpt(q->LocalSocket, mDNSTransport_UDP, mDNSAddrType_IPv6, q); + } } if (!q->LocalSocket) err = mStatus_NoMemoryErr; // If failed to make socket (should be very rare), we'll try again next time else |