Lines Matching defs:rr

164     const CacheRecord *rr;
165 FORALL_CACHERECORDS(slot, cg, rr)
167 if (rr->resrec.InterfaceID == id)
334 mDNSexport void NSEC3Parse(const ResourceRecord *const rr, mDNSu8 **salt, int *hashLength, mDNSu8 **nxtName, int *bitmaplen, mDNSu8 **bitmap)
336 const RDataBody2 *const rdb = (RDataBody2 *)rr->rdata->u.data;
358 *bitmaplen = rr->rdlength - (int)(p - rdb->data);
366 mDNSexport char *GetRRDisplayString_rdb(const ResourceRecord *const rr, const RDataBody *const rd1, char *const buffer)
371 mDNSu32 length = mDNS_snprintf(buffer, MaxMsg-1, "%4d %##s %s ", rr->rdlength, rr->name->c, DNSTypeName(rr->rrtype));
372 if (rr->RecordType == kDNSRecordTypePacketNegative) return(buffer);
373 if (!rr->rdlength && rr->rrtype != kDNSType_OPT) { mDNS_snprintf(buffer+length, RemSpc, "<< ZERO RDATA LENGTH >>"); return(buffer); }
375 switch (rr->rrtype)
391 while (t < rd->txt.c + rr->rdlength)
404 const rdataOPT *const end = (const rdataOPT *)&rd->data[rr->rdlength];
405 length += mDNS_snprintf(buffer+length, RemSpc, "Max %d", rr->rrclass);
451 bitmaplen = rr->rdlength - len;
454 if (UNICAST_NSEC(rr))
493 bitmaplen = rr->rdlength - (int)(p - rd->data);
517 rr->rdlength - (len + RRSIG_FIXED_SIZE), ENC_BASE64);
523 DNSSECAlgName(rrkey->alg), (unsigned int)keytag((mDNSu8 *)rrkey, rr->rdlength));
525 rr->rdlength - DNSKEY_FIXED_SIZE, ENC_BASE64);
537 for (i = 0; i < (rr->rdlength - DS_FIXED_SIZE); i++)
544 default: mDNS_snprintf(buffer+length, RemSpc, "RDLen %d: %s", rr->rdlength, rd->data);
1357 mDNSexport void mDNS_SetupResourceRecord(AuthRecord *rr, RData *RDataStorage, mDNSInterfaceID InterfaceID,
1390 rr->resrec.RecordType = RecordType;
1391 rr->resrec.InterfaceID = InterfaceID;
1392 rr->resrec.name = &rr->namestorage;
1393 rr->resrec.rrtype = rrtype;
1394 rr->resrec.rrclass = kDNSClass_IN;
1395 rr->resrec.rroriginalttl = ttl;
1396 rr->resrec.rDNSServer = mDNSNULL;
1397 rr->resrec.AnonInfo = mDNSNULL;
1398 // rr->resrec.rdlength = MUST set by client and/or in mDNS_Register_internal
1399 // rr->resrec.rdestimate = set in mDNS_Register_internal
1400 // rr->resrec.rdata = MUST be set by client
1403 rr->resrec.rdata = RDataStorage;
1406 rr->resrec.rdata = &rr->rdatastorage;
1407 rr->resrec.rdata->MaxRDLength = sizeof(RDataBody);
1411 rr->Additional1 = mDNSNULL;
1412 rr->Additional2 = mDNSNULL;
1413 rr->DependentOn = mDNSNULL;
1414 rr->RRSet = mDNSNULL;
1415 rr->RecordCallback = Callback;
1416 rr->RecordContext = Context;
1418 rr->AutoTarget = Target_Manual;
1419 rr->AllowRemoteQuery = mDNSfalse;
1420 rr->ForceMCast = mDNSfalse;
1422 rr->WakeUp = zeroOwner;
1423 rr->AddressProxy = zeroAddr;
1424 rr->TimeRcvd = 0;
1425 rr->TimeExpire = 0;
1426 rr->ARType = artype;
1427 rr->AuthFlags = 0;
1434 // of fields don't get set up properly. In particular, if we don't zero rr->QueuedRData then the uDNS code crashes.)
1435 rr->state = regState_Zero;
1436 rr->uselease = 0;
1437 rr->expire = 0;
1438 rr->Private = 0;
1439 rr->updateid = zeroID;
1440 rr->zone = rr->resrec.name;
1441 rr->nta = mDNSNULL;
1442 rr->tcp = mDNSNULL;
1443 rr->OrigRData = 0;
1444 rr->OrigRDLen = 0;
1445 rr->InFlightRData = 0;
1446 rr->InFlightRDLen = 0;
1447 rr->QueuedRData = 0;
1448 rr->QueuedRDLen = 0;
1449 mDNSPlatformMemZero(&rr->NATinfo, sizeof(rr->NATinfo));
1450 rr->SRVChanged = mDNSfalse;
1451 rr->mState = mergeState_Zero;
1453 rr->namestorage.c[0] = 0; // MUST be set by client before calling mDNS_Register()
1490 mDNSexport mDNSu32 RDataHashValue(const ResourceRecord *const rr)
1492 int len = rr->rdlength;
1493 const RDataBody2 *const rdb = (RDataBody2 *)rr->rdata->u.data;
1497 switch(rr->rrtype)
1679 mDNSexport mDNSBool RRAssertsExistence(const ResourceRecord *const rr, mDNSu16 type)
1681 const RDataBody2 *const rdb = (RDataBody2 *)rr->rdata->u.data;
1686 if (rr->rrtype != kDNSType_NSEC) return mDNSfalse;
1690 bitmaplen = rr->rdlength - len;
1697 mDNSexport mDNSBool RRAssertsNonexistence(const ResourceRecord *const rr, mDNSu16 type)
1699 if (rr->rrtype != kDNSType_NSEC) return mDNSfalse;
1701 return !RRAssertsExistence(rr, type);
1705 mDNSlocal mDNSBool DNSSECRecordAnswersQuestion(const ResourceRecord *const rr, const DNSQuestion *const q, mDNSBool *checkType)
1712 if (q->qtype == rr->rrtype)
1724 if ((q->qtype == kDNSType_DS || q->qtype == kDNSType_DNSKEY) && (q->qtype != rr->rrtype))
1726 debugf("DNSSECRecordAnswersQuestion: %d type resource record matched question %##s (%s), ignoring", rr->rrtype,
1737 if (rr->rrtype == kDNSType_RRSIG && q->ValidatingResponse)
1739 const RDataBody2 *const rdb = (RDataBody2 *)rr->rdata->u.data;
1759 if (rr->rrtype == kDNSType_NSEC && DNSSECQuestion(q))
1762 DNSTypeName(q->qtype), rr->name->c);
1775 mDNSexport mDNSBool SameNameRecordAnswersQuestion(const ResourceRecord *const rr, const DNSQuestion *const q)
1781 if ((rr->InterfaceID == mDNSInterface_LocalOnly) || (rr->InterfaceID == mDNSInterface_P2P))
1783 LogMsg("SameNameRecordAnswersQuestion: ERROR!! called with LocalOnly ResourceRecord %p, Question %p", rr->InterfaceID, q->InterfaceID);
1789 if (rr->InterfaceID &&
1791 rr->InterfaceID != q->InterfaceID) return(mDNSfalse);
1794 if (!rr->InterfaceID)
1796 mDNSu16 idr = (rr->rDNSServer ? rr->rDNSServer->resGroupID : 0);
1799 if (!DNSSECRecordAnswersQuestion(rr, q, &checkType)) return mDNSfalse;
1803 if (rr->InterfaceID && !mDNSOpaque16IsZero(q->TargetQID)) return(mDNSfalse);
1807 if (rr->rrtype == kDNSType_CNAME && rr->RecordType == kDNSRecordTypePacketNegative && rr->rrtype != q->qtype)
1811 if (checkType && !RRTypeAnswersQuestionType(rr,q->qtype)) return(mDNSfalse);
1812 if (rr->rrclass != q->qclass && q->qclass != kDNSQClass_ANY) return(mDNSfalse);
1815 if (!mDNSPlatformValidRecordForQuestion(rr, q))
1819 if (!AnonInfoAnswersQuestion(rr, q))
1825 mDNSexport mDNSBool ResourceRecordAnswersQuestion(const ResourceRecord *const rr, const DNSQuestion *const q)
1827 if (!SameNameRecordAnswersQuestion(rr, q))
1830 return(rr->namehash == q->qnamehash && SameDomainName(rr->name, &q->qname));
1844 ResourceRecord *rr = &ar->resrec;
1850 LogMsg("LocalOnlyRecordAnswersQuestion: ERROR!! called with regular AuthRecordAny %##s", rr->name->c);
1861 if (rr->InterfaceID &&
1863 rr->InterfaceID != q->InterfaceID) return(mDNSfalse);
1900 if (ar->ARType != AuthRecordLocalOnly && rr->InterfaceID && !mDNSOpaque16IsZero(q->TargetQID)) return(mDNSfalse);
1903 if (!RRTypeAnswersQuestionType(rr,q->qtype)) return(mDNSfalse);
1904 if (rr->rrclass != q->qclass && q->qclass != kDNSQClass_ANY) return(mDNSfalse);
1906 if (!AnonInfoAnswersQuestion(rr, q))
1909 return(rr->namehash == q->qnamehash && SameDomainName(rr->name, &q->qname));
1912 mDNSexport mDNSBool AnyTypeRecordAnswersQuestion(const ResourceRecord *const rr, const DNSQuestion *const q)
1916 if ((rr->InterfaceID == mDNSInterface_LocalOnly) || (rr->InterfaceID == mDNSInterface_P2P))
1918 LogMsg("AnyTypeRecordAnswersQuestion: ERROR!! called with LocalOnly ResourceRecord %p, Question %p", rr->InterfaceID, q->InterfaceID);
1921 if (rr->InterfaceID &&
1923 rr->InterfaceID != q->InterfaceID) return(mDNSfalse);
1928 if (!rr->InterfaceID)
1930 mDNSu16 idr = (rr->rDNSServer ? rr->rDNSServer->resGroupID : 0);
1936 if (rr->InterfaceID && !mDNSOpaque16IsZero(q->TargetQID)) return(mDNSfalse);
1938 if (rr->rrclass != q->qclass && q->qclass != kDNSQClass_ANY) return(mDNSfalse);
1940 if (!AnonInfoAnswersQuestion(rr, q))
1943 return(rr->namehash == q->qnamehash && SameDomainName(rr->name, &q->qname));
1951 mDNSexport mDNSBool ResourceRecordAnswersUnicastResponse(const ResourceRecord *const rr, const DNSQuestion *const q)
1959 if (rr->InterfaceID &&
1960 q->InterfaceID && rr->InterfaceID != q->InterfaceID) return(mDNSfalse);
1963 if (rr->InterfaceID && !mDNSOpaque16IsZero(q->TargetQID)) return(mDNSfalse);
1965 if (!DNSSECRecordAnswersQuestion(rr, q, &checkType)) return mDNSfalse;
1968 if (checkType && !RRTypeAnswersQuestionType(rr,q->qtype)) return(mDNSfalse);
1970 if (rr->rrclass != q->qclass && q->qclass != kDNSQClass_ANY) return(mDNSfalse);
1972 return(rr->namehash == q->qnamehash && SameDomainName(rr->name, &q->qname));
1975 mDNSexport mDNSu16 GetRDLength(const ResourceRecord *const rr, mDNSBool estimate)
1977 const RDataBody2 *const rd = (RDataBody2 *)rr->rdata->u.data;
1978 const domainname *const name = estimate ? rr->name : mDNSNULL;
1979 if (rr->rrclass == kDNSQClass_ANY) return(rr->rdlength); // Used in update packets to mean "Delete An RRset" (RFC 2136)
1980 else switch (rr->rrtype)
1999 case kDNSType_DHCID: return(rr->rdlength); // Not self-describing, so have to just trust rdlength
2018 case kDNSType_OPT: return(rr->rdlength);
2024 if (UNICAST_NSEC(rr))
2025 return (mDNSu16)(CompressedDomainNameLength(next, name) + rr->rdlength - dlen);
2027 return (mDNSu16)((estimate ? 2 : dlen) + rr->rdlength - dlen);
2030 default: debugf("Warning! Don't know how to get length of resource type %d", rr->rrtype);
2031 return(rr->rdlength);
2228 mDNSexport mDNSu8 *putRData(const DNSMessage *const msg, mDNSu8 *ptr, const mDNSu8 *const limit, const ResourceRecord *const rr)
2230 const RDataBody2 *const rdb = (RDataBody2 *)rr->rdata->u.data;
2231 switch (rr->rrtype)
2233 case kDNSType_A: if (rr->rdlength != 4)
2234 { debugf("putRData: Illegal length %d for kDNSType_A", rr->rdlength); return(mDNSNULL); }
2265 case kDNSType_DHCID: if (ptr + rr->rdlength > limit) return(mDNSNULL);
2266 mDNSPlatformMemCopy(ptr, rdb->data, rr->rdlength);
2267 return(ptr + rr->rdlength);
2288 case kDNSType_AAAA: if (rr->rdlength != sizeof(rdb->ipv6))
2289 { debugf("putRData: Illegal length %d for kDNSType_AAAA", rr->rdlength); return(mDNSNULL); }
2306 const rdataOPT *const end = (const rdataOPT *)&rr->rdata->u.data[rr->rdlength];
2307 for (opt = &rr->rdata->u.opt[0]; opt < end; opt++)
2314 for (opt = &rr->rdata->u.opt[0]; opt < end; opt++)
2360 int len = rr->rdlength;
2373 if (!UNICAST_NSEC(rr))
2395 ptr = putDomainNameAsLabels(msg, ptr, limit, rr->name);
2396 if (!ptr) { LogInfo("putRData: Can't put name, Length %d, record %##s", limit - save, rr->name->c); return(mDNSNULL); }
2399 if (ptr + 2 + i > limit) { LogInfo("putRData: Can't put window, Length %d, i %d, record %##s", limit - ptr, i, rr->name->c); return(mDNSNULL); }
2427 if (ptr + rr->rdlength > limit) { LogMsg("putRData: NSEC rdlength beyond limit %##s (%s), ptr %p, rdlength %d, limit %p", rr->name->c, DNSTypeName(rr->rrtype), ptr, rr->rdlength, limit); return(mDNSNULL);}
2430 mDNSPlatformMemCopy(ptr, rdb->data, rr->rdlength);
2431 return(ptr + rr->rdlength);
2435 default: debugf("putRData: Warning! Writing unknown resource type %d as raw data", rr->rrtype);
2436 if (ptr + rr->rdlength > limit) return(mDNSNULL);
2437 mDNSPlatformMemCopy(ptr, rdb->data, rr->rdlength);
2438 return(ptr + rr->rdlength);
2444 mDNSexport mDNSu8 *PutResourceRecordTTLWithLimit(DNSMessage *const msg, mDNSu8 *ptr, mDNSu16 *count, ResourceRecord *rr, mDNSu32 ttl, const mDNSu8 *limit)
2449 const DNSMessage *const rdatacompressionbase = (IsUnicastUpdate(msg) && rr->rrtype == kDNSType_SRV) ? mDNSNULL : msg;
2451 if (rr->RecordType == kDNSRecordTypeUnregistered)
2453 LogMsg("PutResourceRecordTTLWithLimit ERROR! Attempt to put kDNSRecordTypeUnregistered %##s (%s)", rr->name->c, DNSTypeName(rr->rrtype));
2459 LogMsg("PutResourceRecordTTLWithLimit ptr is null %##s (%s)", rr->name->c, DNSTypeName(rr->rrtype));
2463 ptr = putDomainNameAsLabels(msg, ptr, limit, rr->name);
2467 LogInfo("PutResourceRecordTTLWithLimit: can't put name, out of space %##s (%s), ptr %p, limit %p", rr->name->c,
2468 DNSTypeName(rr->rrtype), ptr, limit);
2471 ptr[0] = (mDNSu8)(rr->rrtype >> 8);
2472 ptr[1] = (mDNSu8)(rr->rrtype & 0xFF);
2473 ptr[2] = (mDNSu8)(rr->rrclass >> 8);
2474 ptr[3] = (mDNSu8)(rr->rrclass & 0xFF);
2481 endofrdata = putRData(rdatacompressionbase, ptr+10, limit, rr);
2484 LogInfo("PutResourceRecordTTLWithLimit: Ran out of space in PutResourceRecord for %##s (%s), ptr %p, limit %p", rr->name->c,
2485 DNSTypeName(rr->rrtype), ptr+10, limit);
2496 else LogMsg("PutResourceRecordTTL: ERROR: No target count to update for %##s (%s)", rr->name->c, DNSTypeName(rr->rrtype));
2500 mDNSlocal mDNSu8 *putEmptyResourceRecord(DNSMessage *const msg, mDNSu8 *ptr, const mDNSu8 *const limit, mDNSu16 *count, const AuthRecord *rr)
2502 ptr = putDomainNameAsLabels(msg, ptr, limit, rr->resrec.name);
2504 ptr[0] = (mDNSu8)(rr->resrec.rrtype >> 8); // Put type
2505 ptr[1] = (mDNSu8)(rr->resrec.rrtype & 0xFF);
2506 ptr[2] = (mDNSu8)(rr->resrec.rrclass >> 8); // Put class
2507 ptr[3] = (mDNSu8)(rr->resrec.rrclass & 0xFF);
2551 mDNSexport mDNSu8 *putDeletionRecord(DNSMessage *msg, mDNSu8 *ptr, ResourceRecord *rr)
2554 const mDNSu16 origclass = rr->rrclass;
2555 rr->rrclass = kDNSClass_NONE;
2556 ptr = PutResourceRecordTTLJumbo(msg, ptr, &msg->h.mDNS_numUpdates, rr, 0);
2557 rr->rrclass = origclass;
2562 mDNSexport mDNSu8 *putDeletionRecordWithLimit(DNSMessage *msg, mDNSu8 *ptr, ResourceRecord *rr, mDNSu8 *limit)
2565 const mDNSu16 origclass = rr->rrclass;
2566 rr->rrclass = kDNSClass_NONE;
2567 ptr = PutResourceRecordTTLWithLimit(msg, ptr, &msg->h.mDNS_numUpdates, rr, 0, limit);
2568 rr->rrclass = origclass;
2612 AuthRecord rr;
2613 mDNS_SetupResourceRecord(&rr, mDNSNULL, mDNSInterface_Any, kDNSType_OPT, kStandardTTL, kDNSRecordTypeKnownUnique, AuthRecordAny, mDNSNULL, mDNSNULL);
2614 rr.resrec.rrclass = NormalMaxDNSMessageData;
2615 rr.resrec.rdlength = sizeof(rdataOPT); // One option in this OPT record
2616 rr.resrec.rdestimate = sizeof(rdataOPT);
2617 rr.resrec.rdata->u.opt[0].opt = kDNSOpt_Lease;
2618 rr.resrec.rdata->u.opt[0].u.updatelease = lease;
2619 end = PutResourceRecordTTLJumbo(msg, end, &msg->h.numAdditionals, &rr.resrec, 0);
2627 AuthRecord rr;
2628 mDNS_SetupResourceRecord(&rr, mDNSNULL, mDNSInterface_Any, kDNSType_OPT, kStandardTTL, kDNSRecordTypeKnownUnique, AuthRecordAny, mDNSNULL, mDNSNULL);
2629 rr.resrec.rrclass = NormalMaxDNSMessageData;
2630 rr.resrec.rdlength = sizeof(rdataOPT); // One option in this OPT record
2631 rr.resrec.rdestimate = sizeof(rdataOPT);
2632 rr.resrec.rdata->u.opt[0].opt = kDNSOpt_Lease;
2633 rr.resrec.rdata->u.opt[0].u.updatelease = lease;
2634 end = PutResourceRecordTTLWithLimit(msg, end, &msg->h.numAdditionals, &rr.resrec, 0, limit);
2641 AuthRecord rr;
2644 mDNS_SetupResourceRecord(&rr, mDNSNULL, mDNSInterface_Any, kDNSType_OPT, kStandardTTL, kDNSRecordTypeKnownUnique, AuthRecordAny, mDNSNULL, mDNSNULL);
2647 rr.resrec.rrclass = 4096;
2648 rr.resrec.rdlength = 0;
2649 rr.resrec.rdestimate = 0;
2652 end = PutResourceRecordTTLWithLimit(msg, end, &msg->h.numAdditionals, &rr.resrec, ttl, limit);
2702 mDNSexport void SetNewRData(ResourceRecord *const rr, RData *NewRData, mDNSu16 rdlength)
2707 rr->rdata = NewRData;
2708 rr->rdlength = rdlength;
2710 // Must not try to get target pointer until after updating rr->rdata
2711 target = GetRRDomainNameTarget(rr);
2712 rr->rdlength = GetRDLength(rr, mDNSfalse);
2713 rr->rdestimate = GetRDLength(rr, mDNStrue);
2714 rr->rdatahash = target ? DomainNameHashValue(target) : RDataHashValue(rr);
2854 CacheRecord *const rr = &largecr->r;
2855 RDataBody2 *const rdb = (RDataBody2 *)rr->smallrdatastorage.data;
2857 switch (rr->resrec.rrtype)
2942 rr->resrec.rdlength = rdlength;
3135 rr->resrec.rdlength = savelen + DomainNameLength(&name);
3137 if (rr->resrec.rdlength > MaximumRDSize)
3139 LogInfo("SetRData: Malformed NAPTR rdlength %d, rr->resrec.rdlength %d, "
3140 "bmaplen %d, name %##s", rdlength, rr->resrec.rdlength, name.c);
3148 mDNSu8 *dataend = rr->resrec.rdata->u.data;
3149 rdataOPT *opt = rr->resrec.rdata->u.opt;
3150 rr->resrec.rdlength = 0;
3219 rr->resrec.rdlength = (mDNSu16)((mDNSu8*)opt - rr->resrec.rdata->u.data);
3266 rr->resrec.rdlength = DomainNameLength(&name) + bmaplen;
3269 if (rr->resrec.rdlength > MaximumRDSize)
3271 LogInfo("SetRData: Malformed NSEC rdlength %d, rr->resrec.rdlength %d, "
3272 "bmaplen %d, name %##s", rdlength, rr->resrec.rdlength, name.c);
3325 rr->resrec.rdlength = rdlength;
3348 LogInfo("SetRData: Malformed name for TSIG/TKEY type %d", rr->resrec.rrtype);
3353 rr->resrec.rdlength = dlen + rlen;
3391 LogInfo("SetRData: Not enough bytes for signature type %d", rr->resrec.rrtype);
3394 rr->resrec.rdlength = rdlength;
3405 rr->resrec.rdlength = rdlength;
3416 rr->resrec.rdlength = rdlength;
3422 rr->resrec.rrtype, DNSTypeName(rr->resrec.rrtype));
3428 rr->resrec.rdlength = rdlength;
3440 CacheRecord *const rr = &largecr->r;
3451 rr->next = mDNSNULL;
3452 rr->resrec.name = &largecr->namestorage;
3454 rr->NextInKAList = mDNSNULL;
3455 rr->TimeRcvd = m ? m->timenow : 0;
3456 rr->DelayDelivery = 0;
3457 rr->NextRequiredQuery = m ? m->timenow : 0; // Will be updated to the real value when we call SetNextCacheCheckTimeForRecord()
3458 rr->LastUsed = m ? m->timenow : 0;
3459 rr->CRActiveQuestion = mDNSNULL;
3460 rr->UnansweredQueries = 0;
3461 rr->LastUnansweredTime= 0;
3463 rr->MPUnansweredQ = 0;
3464 rr->MPLastUnansweredQT= 0;
3465 rr->MPUnansweredKA = 0;
3466 rr->MPExpectingKA = mDNSfalse;
3468 rr->NextInCFList = mDNSNULL;
3470 rr->resrec.InterfaceID = InterfaceID;
3471 rr->resrec.rDNSServer = mDNSNULL;
3475 rr->resrec.namehash = DomainNameHashValue(rr->resrec.name);
3479 rr->resrec.rrtype = (mDNSu16) ((mDNSu16)ptr[0] << 8 | ptr[1]);
3480 rr->resrec.rrclass = (mDNSu16)(((mDNSu16)ptr[2] << 8 | ptr[3]) & kDNSClass_Mask);
3481 rr->resrec.rroriginalttl = (mDNSu32) ((mDNSu32)ptr[4] << 24 | (mDNSu32)ptr[5] << 16 | (mDNSu32)ptr[6] << 8 | ptr[7]);
3482 if (rr->resrec.rroriginalttl > 0x70000000UL / mDNSPlatformOneSecond && (mDNSs32)rr->resrec.rroriginalttl != -1)
3483 rr->resrec.rroriginalttl = 0x70000000UL / mDNSPlatformOneSecond;
3497 rr->resrec.rdata = (RData*)&rr->smallrdatastorage;
3498 rr->resrec.rdata->MaxRDLength = MaximumRDSize;
3503 DNSTypeName(rr->resrec.rrtype), pktrdlength, rr->resrec.rdata->MaxRDLength);
3507 if (!RecordType) LogMsg("GetLargeResourceRecord: No RecordType for %##s", rr->resrec.name->c);
3514 if (rr->resrec.rrclass == kDNSQClass_ANY && pktrdlength == 0) // Used in update packets to mean "Delete An RRset" (RFC 2136)
3515 rr->resrec.rdlength = 0;
3519 SetNewRData(&rr->resrec, mDNSNULL, 0); // Sets rdlength, rdestimate, rdatahash for us
3522 rr->resrec.RecordType = RecordType;
3528 rr->resrec.RecordType = kDNSRecordTypePacketNegative;
3529 rr->resrec.rdlength = 0;
3530 rr->resrec.rdestimate = 0;
3531 rr->resrec.rdatahash = 0;
3889 AuthRecord *rr;
3890 for (rr = m->NewLocalRecords; rr; rr = rr->next)
3891 if (LocalRecordReady(rr)) return rr;
3940 AuthRecord *rr;
3957 rr = AnyLocalRecordReady(m);
3958 if (rr) LogMsg("Task Scheduling Error: NewLocalRecords %s", ARDisplayString(m, rr));