Lines Matching refs:rr
834 mDNSlocal void sendRecordRegistration(mDNS *const m, AuthRecord *rr);
892 mDNSlocal mStatus unlinkAR(AuthRecord **list, AuthRecord *const rr) in unlinkAR() argument
894 while (*list && *list != rr) list = &(*list)->next; in unlinkAR()
895 if (*list) { *list = rr->next; rr->next = mDNSNULL; return(mStatus_NoError); } in unlinkAR()
896 LogMsg("ERROR: unlinkAR - no such active record %##s", rr->resrec.name->c); in unlinkAR()
944 mDNSlocal void SetRecordRetry(mDNS *const m, AuthRecord *rr, mStatus SendErr) in SetRecordRetry() argument
946 rr->LastAPTime = mDNSPlatformTimeNow(m); in SetRecordRetry()
947 …if (SendErr == mStatus_TransientErr || rr->ThisAPInterval < INIT_UCAST_POLL_INTERVAL) rr->ThisAPI… in SetRecordRetry()
948 …else if (rr->ThisAPInterval*2 <= MAX_UCAST_POLL_INTERVAL) rr->ThisAPI… in SetRecordRetry()
949 …else if (rr->ThisAPInterval != MAX_UCAST_POLL_INTERVAL) rr->ThisAPI… in SetRecordRetry()
1174 AuthRecord *rr = mDNSNULL; in ReceiveNATAddrResponse() local
1184 rr = n->reg.RecordRegistration; in ReceiveNATAddrResponse()
1185 if (!rr) in ReceiveNATAddrResponse()
1192 addr.ip.v4 = rr->resrec.rdata->u.ipv4; in ReceiveNATAddrResponse()
1241 if (rr) in ReceiveNATAddrResponse()
1243 rr->uDNS_info.NATinfo = mDNSNULL; in ReceiveNATAddrResponse()
1244 rr->uDNS_info.state = regState_Unregistered; // note that rr is not yet in global list in ReceiveNATAddrResponse()
1245 rr->RecordCallback(m, rr, mStatus_NATTraversal); in ReceiveNATAddrResponse()
1251 rr->resrec.rdata->u.ipv4 = addr.ip.v4; // replace rdata w/ public address in ReceiveNATAddrResponse()
1252 uDNS_RegisterRecord(m, rr); in ReceiveNATAddrResponse()
1672 mDNSlocal void HostnameCallback(mDNS *const m, AuthRecord *const rr, mStatus result) in HostnameCallback() argument
1674 uDNS_HostnameInfo *hi = (uDNS_HostnameInfo *)rr->RecordContext; in HostnameCallback()
1680 if (hi->arv4 == rr) hi->arv4 = mDNSNULL; in HostnameCallback()
1681 else if (hi->arv4 == rr) hi->arv6 = mDNSNULL; in HostnameCallback()
1682 rr->RecordContext = mDNSNULL; in HostnameCallback()
1685 ufree(rr); in HostnameCallback()
1692 if (rr->resrec.rrtype == kDNSType_A) in HostnameCallback()
1693 …meCallback: Error %ld for registration of %##s IP %.4a", result, rr->resrec.name->c, &rr->resrec.r… in HostnameCallback()
1695 …eCallback: Error %ld for registration of %##s IP %.16a", result, rr->resrec.name->c, &rr->resrec.r… in HostnameCallback()
1696 if (!hi) { ufree(rr); return; } in HostnameCallback()
1697 …if (rr->uDNS_info.state != regState_Unregistered) LogMsg("Error: HostnameCallback invoked with err… in HostnameCallback()
1703 rr->RecordContext = (void *)hi->StatusContext; in HostnameCallback()
1705 hi->StatusCallback(m, rr, result); // client may NOT make API calls here in HostnameCallback()
1706 rr->RecordContext = (void *)hi; in HostnameCallback()
1715 if (rr->resrec.rrtype == kDNSType_A) in HostnameCallback()
1716 LogMsg("Registered hostname %##s IP %.4a", rr->resrec.name->c, &rr->resrec.rdata->u.ipv4); in HostnameCallback()
1718 LogMsg("Registered hostname %##s IP %.16a", rr->resrec.name->c, &rr->resrec.rdata->u.ipv6); in HostnameCallback()
1720 rr->RecordContext = (void *)hi->StatusContext; in HostnameCallback()
1722 hi->StatusCallback(m, rr, result); // client may NOT make API calls here in HostnameCallback()
1723 rr->RecordContext = (void *)hi; in HostnameCallback()
1993 mDNSlocal mDNSBool kaListContainsAnswer(DNSQuestion *question, CacheRecord *rr) in kaListContainsAnswer() argument
1998 if (SameResourceRecord(&ptr->resrec, &rr->resrec)) return mDNStrue; in kaListContainsAnswer()
2004 mDNSlocal void removeKnownAnswer(DNSQuestion *question, CacheRecord *rr) in removeKnownAnswer() argument
2010 if (SameResourceRecord(&ptr->resrec, &rr->resrec)) in removeKnownAnswer()
2023 mDNSlocal void addKnownAnswer(DNSQuestion *question, const CacheRecord *rr) in addKnownAnswer() argument
2028 size = sizeof(CacheRecord) + rr->resrec.rdlength - InlineCacheRDSize; in addKnownAnswer()
2031 umemcpy(newCR, rr, size); in addKnownAnswer()
2033 newCR->resrec.rdata->MaxRDLength = rr->resrec.rdlength; in addKnownAnswer()
2569 mDNSlocal void hndlRecordUpdateReply(mDNS *m, AuthRecord *rr, mStatus err) in hndlRecordUpdateReply() argument
2571 uDNS_RegInfo *info = &rr->uDNS_info; in hndlRecordUpdateReply()
2578 LogMsg("Update record failed for %##s (err %d)", rr->resrec.name->c, err); in hndlRecordUpdateReply()
2583 debugf("Update record %##s - success", rr->resrec.name->c); in hndlRecordUpdateReply()
2586 if (info->UpdateRDCallback) info->UpdateRDCallback(m, rr, info->OrigRData); in hndlRecordUpdateReply()
2587 SetNewRData(&rr->resrec, info->InFlightRData, info->InFlightRDLen); in hndlRecordUpdateReply()
2595 …debugf("Received reply for deregister record %##s type %d", rr->resrec.name->c, rr->resrec.rrtype); in hndlRecordUpdateReply()
2597 rr->resrec.name->c, rr->resrec.rrtype, err); in hndlRecordUpdateReply()
2607 rr->resrec.name->c, rr->resrec.rrtype, err); in hndlRecordUpdateReply()
2610 …debugf("Calling deferred deregistration of record %##s type %d", rr->resrec.name->c, rr->resrec.r… in hndlRecordUpdateReply()
2612 uDNS_DeregisterRecord(m, rr); in hndlRecordUpdateReply()
2627 LogMsg("Re-trying update of record %##s without lease option", rr->resrec.name->c); in hndlRecordUpdateReply()
2629 sendRecordRegistration(m, rr); in hndlRecordUpdateReply()
2632 …LogMsg("Registration of record %##s type %d failed with error %ld", rr->resrec.name->c, rr->resrec… in hndlRecordUpdateReply()
2637 if (info->state == regState_Unregistered) unlinkAR(&m->uDNS_info.RecordRegistrations, rr); in hndlRecordUpdateReply()
2638 …else rr->ThisAPInterval = INIT_UCAST_POLL_INTERVAL - 1; // reset retry delay for future refreshes… in hndlRecordUpdateReply()
2645 info->OrigRData = rr->resrec.rdata; in hndlRecordUpdateReply()
2646 info->OrigRDLen = rr->resrec.rdlength; in hndlRecordUpdateReply()
2648 sendRecordRegistration(m, rr); in hndlRecordUpdateReply()
2655 if (rr->RecordCallback) rr->RecordCallback(m, rr, err); in hndlRecordUpdateReply()
2886 AuthRecord rr; in putLLQ() local
2887 ResourceRecord *opt = &rr.resrec; in putLLQ()
2901 ubzero(&rr, sizeof(AuthRecord)); in putLLQ()
2902 …mDNS_SetupResourceRecord(&rr, mDNSNULL, mDNSInterface_Any, kDNSType_OPT, kStandardTTL, kDNSRecordT… in putLLQ()
2906 optRD = &rr.resrec.rdata->u.opt; in putLLQ()
3606 mDNSlocal void processSOA(ntaContext *context, ResourceRecord *rr);
3727 ResourceRecord *rr = &lcr.r.resrec; in hndlLookupSOA() local
3740 if (rr->rrtype == kDNSType_SOA && SameDomainName(context->curSOA, rr->name)) in hndlLookupSOA()
3742 processSOA(context, rr); in hndlLookupSOA()
3752 if (rr->rrtype == kDNSType_SOA) in hndlLookupSOA()
3754 processSOA(context, rr); in hndlLookupSOA()
3784 mDNSlocal void processSOA(ntaContext *context, ResourceRecord *rr) in processSOA() argument
3786 AssignDomainName(&context->zone, rr->name); in processSOA()
3787 context->zoneClass = rr->rrclass; in processSOA()
3788 AssignDomainName(&context->ns, &rr->rdata->u.soa.mname); in processSOA()
3798 const ResourceRecord *const rr = &lcr.r.resrec; in confirmNS() local
3821 if (rr->rrtype == kDNSType_NS && in confirmNS()
3822 SameDomainName(&context->zone, rr->name) && SameDomainName(&context->ns, &rr->rdata->u.name)) in confirmNS()
3854 ResourceRecord *rr = &lcr.r.resrec; in lookupNSAddr() local
3876 if (rr->rrtype == kDNSType_A && SameDomainName(&context->ns, rr->name)) in lookupNSAddr()
3878 context->addr = rr->rdata->u.ipv4; in lookupNSAddr()
3895 if (rr->rrtype == kDNSType_A && SameDomainName(&context->ns, rr->name)) in lookupNSAddr()
3897 context->addr = rr->rdata->u.ipv4; in lookupNSAddr()
4084 mDNSlocal void sendRecordRegistration(mDNS *const m, AuthRecord *rr) in sendRecordRegistration() argument
4091 uDNS_RegInfo *regInfo = &rr->uDNS_info; in sendRecordRegistration()
4096 rr->uDNS_info.id = id; in sendRecordRegistration()
4099 ptr = putZone(&msg, ptr, end, ®Info->zone, mDNSOpaque16fromIntVal(rr->resrec.rrclass)); in sendRecordRegistration()
4105 SetNewRData(&rr->resrec, regInfo->OrigRData, regInfo->OrigRDLen); in sendRecordRegistration()
4106 if (!(ptr = putDeletionRecord(&msg, ptr, &rr->resrec))) goto error; // delete old rdata in sendRecordRegistration()
4109 SetNewRData(&rr->resrec, regInfo->InFlightRData, regInfo->InFlightRDLen); in sendRecordRegistration()
4110 …if (!(ptr = PutResourceRecordTTLJumbo(&msg, ptr, &msg.h.mDNS_numUpdates, &rr->resrec, rr->resrec.r… in sendRecordRegistration()
4115 if (rr->resrec.RecordType == kDNSRecordTypeKnownUnique) in sendRecordRegistration()
4118 ptr = putDeleteRRSet(&msg, ptr, rr->resrec.name, rr->resrec.rrtype); in sendRecordRegistration()
4122 else if (rr->resrec.RecordType != kDNSRecordTypeShared) in sendRecordRegistration()
4124 ptr = putPrereqNameNotInUse(rr->resrec.name, &msg, ptr, end); in sendRecordRegistration()
4128 …ptr = PutResourceRecordTTLJumbo(&msg, ptr, &msg.h.mDNS_numUpdates, &rr->resrec, rr->resrec.rrorigi… in sendRecordRegistration()
4132 if (rr->uDNS_info.lease) in sendRecordRegistration()
4135 …, ptr, mDNSInterface_Any, ®Info->ns, regInfo->port, -1, GetAuthInfoForName(u, rr->resrec.name)); in sendRecordRegistration()
4138 SetRecordRetry(m, rr, err); in sendRecordRegistration()
4147 if (rr->uDNS_info.state != regState_Unregistered) in sendRecordRegistration()
4149 unlinkAR(&u->RecordRegistrations, rr); in sendRecordRegistration()
4150 rr->uDNS_info.state = regState_Unregistered; in sendRecordRegistration()
4153 if (rr->RecordCallback) rr->RecordCallback(m, rr, err); in sendRecordRegistration()
4412 mDNSlocal mStatus SetupRecordRegistration(mDNS *m, AuthRecord *rr) in SetupRecordRegistration() argument
4414 domainname *target = GetRRDomainNameTarget(&rr->resrec); in SetupRecordRegistration()
4417 while (ptr && ptr != rr) ptr = ptr->next; in SetupRecordRegistration()
4418 …if (ptr) { LogMsg("Error: SetupRecordRegistration - record %##s already in list!", rr->resrec.name… in SetupRecordRegistration()
4420 if (rr->uDNS_info.state == regState_FetchingZoneData || in SetupRecordRegistration()
4421 rr->uDNS_info.state == regState_Pending || in SetupRecordRegistration()
4422 rr->uDNS_info.state == regState_Registered) in SetupRecordRegistration()
4425 rr->resrec.name->c, rr->resrec.rrtype); in SetupRecordRegistration()
4429 rr->resrec.rdlength = GetRDLength(&rr->resrec, mDNSfalse); in SetupRecordRegistration()
4430 rr->resrec.rdestimate = GetRDLength(&rr->resrec, mDNStrue); in SetupRecordRegistration()
4432 if (!ValidateDomainName(rr->resrec.name)) in SetupRecordRegistration()
4434 LogMsg("Attempt to register record with invalid name: %s", ARDisplayString(m, rr)); in SetupRecordRegistration()
4439 if (!ValidateRData(rr->resrec.rrtype, rr->resrec.rdlength, rr->resrec.rdata)) in SetupRecordRegistration()
4441 LogMsg("Attempt to register record with invalid rdata: %s", ARDisplayString(m, rr)); in SetupRecordRegistration()
4445 rr->resrec.namehash = DomainNameHashValue(rr->resrec.name); in SetupRecordRegistration()
4446 …rr->resrec.rdatahash = target ? DomainNameHashValue(target) : RDataHashValue(rr->resrec.rdlength,… in SetupRecordRegistration()
4448 rr->uDNS_info.state = regState_FetchingZoneData; in SetupRecordRegistration()
4449 rr->next = m->uDNS_info.RecordRegistrations; in SetupRecordRegistration()
4450 m->uDNS_info.RecordRegistrations = rr; in SetupRecordRegistration()
4451 rr->uDNS_info.lease = mDNStrue; in SetupRecordRegistration()
4456 mDNSexport mStatus uDNS_RegisterRecord(mDNS *const m, AuthRecord *const rr) in uDNS_RegisterRecord() argument
4458 mStatus err = SetupRecordRegistration(m, rr); in uDNS_RegisterRecord()
4460 …else return startGetZoneData(rr->resrec.name, m, mDNStrue, mDNSfalse, RecordRegistrationCallback, … in uDNS_RegisterRecord()
4463 mDNSlocal void SendRecordDeregistration(mDNS *m, AuthRecord *rr) in SendRecordDeregistration() argument
4471 InitializeDNSMessage(&msg.h, rr->uDNS_info.id, UpdateReqFlags); in SendRecordDeregistration()
4473 ptr = putZone(&msg, ptr, end, &rr->uDNS_info.zone, mDNSOpaque16fromIntVal(rr->resrec.rrclass)); in SendRecordDeregistration()
4475 if (!(ptr = putDeletionRecord(&msg, ptr, &rr->resrec))) goto error; in SendRecordDeregistration()
4477 …SMessage(m, &msg, ptr, mDNSInterface_Any, &rr->uDNS_info.ns, rr->uDNS_info.port, -1, GetAuthInfoFo… in SendRecordDeregistration()
4480 SetRecordRetry(m, rr, err); in SendRecordDeregistration()
4481 rr->uDNS_info.state = regState_DeregPending; in SendRecordDeregistration()
4486 unlinkAR(&u->RecordRegistrations, rr); in SendRecordDeregistration()
4487 rr->uDNS_info.state = regState_Unregistered; in SendRecordDeregistration()
4492 mDNSexport mStatus uDNS_DeregisterRecord(mDNS *const m, AuthRecord *const rr) in uDNS_DeregisterRecord() argument
4495 NATTraversalInfo *n = rr->uDNS_info.NATinfo; in uDNS_DeregisterRecord()
4497 switch (rr->uDNS_info.state) in uDNS_DeregisterRecord()
4501 rr->uDNS_info.NATinfo = mDNSNULL; in uDNS_DeregisterRecord()
4507 rr->uDNS_info.state = regState_Unregistered; in uDNS_DeregisterRecord()
4510 rr->uDNS_info.state = regState_Unregistered; in uDNS_DeregisterRecord()
4513 rr->uDNS_info.state = regState_Cancelled; in uDNS_DeregisterRecord()
4518 rr->uDNS_info.state = regState_DeregDeferred; in uDNS_DeregisterRecord()
4519 …LogMsg("Deferring deregistration of record %##s until registration completes", rr->resrec.name->c); in uDNS_DeregisterRecord()
4527 rr->resrec.name->c, rr->resrec.rrtype); in uDNS_DeregisterRecord()
4531 rr->resrec.name->c, rr->resrec.rrtype); in uDNS_DeregisterRecord()
4535 …uDNS_DeregisterRecord called for record %##s with bad state %s", rr->resrec.name->c, rr->uDNS_info… in uDNS_DeregisterRecord()
4539 if (rr->uDNS_info.state == regState_Unregistered) in uDNS_DeregisterRecord()
4543 unlinkAR(&u->RecordRegistrations, rr); in uDNS_DeregisterRecord()
4545 if (rr->RecordCallback) rr->RecordCallback(m, rr, mStatus_MemFree); in uDNS_DeregisterRecord()
4550 rr->uDNS_info.NATinfo = mDNSNULL; in uDNS_DeregisterRecord()
4553 SendRecordDeregistration(m, rr); in uDNS_DeregisterRecord()
4710 mDNSexport mStatus uDNS_UpdateRecord(mDNS *m, AuthRecord *rr) in uDNS_UpdateRecord() argument
4715 uDNS_RegInfo *info = &rr->uDNS_info; in uDNS_UpdateRecord()
4720 if (&parent->RR_TXT == rr) { stateptr = &parent->uDNS_info.state; break; } in uDNS_UpdateRecord()
4726 if (rptr == rr) { stateptr = &rr->uDNS_info.state; break; } in uDNS_UpdateRecord()
4744 if (info->UpdateRDCallback) info->UpdateRDCallback(m, rr, rr->resrec.rdata); in uDNS_UpdateRecord()
4745 SetNewRData(&rr->resrec, rr->NewRData, rr->newrdlength); in uDNS_UpdateRecord()
4746 rr->NewRData = mDNSNULL; in uDNS_UpdateRecord()
4755 info->UpdateRDCallback(m, rr, info->QueuedRData); in uDNS_UpdateRecord()
4756 info->QueuedRData = rr->NewRData; in uDNS_UpdateRecord()
4757 info->QueuedRDLen = rr->newrdlength; in uDNS_UpdateRecord()
4758 rr->NewRData = mDNSNULL; in uDNS_UpdateRecord()
4762 info->OrigRData = rr->resrec.rdata; in uDNS_UpdateRecord()
4763 info->OrigRDLen = rr->resrec.rdlength; in uDNS_UpdateRecord()
4764 info->InFlightRData = rr->NewRData; in uDNS_UpdateRecord()
4765 info->InFlightRDLen = rr->newrdlength; in uDNS_UpdateRecord()
4766 rr->NewRData = mDNSNULL; in uDNS_UpdateRecord()
4769 else sendRecordRegistration(m, rr); in uDNS_UpdateRecord()
4773 …LogMsg("ERROR: uDNS_UpdateRecord called for record %##s with bad state regState_NATError", rr->res… in uDNS_UpdateRecord()
4779 rr->resrec.name->c, rr->resrec.rrtype); in uDNS_UpdateRecord()
4913 AuthRecord *rr; in CheckRecordRegistrations() local
4919 for (rr = u->RecordRegistrations; rr; rr = rr->next) in CheckRecordRegistrations()
4921 rInfo = &rr->uDNS_info; in CheckRecordRegistrations()
4924 if (rr->LastAPTime + rr->ThisAPInterval - timenow < 0) in CheckRecordRegistrations()
4931 debugf("Retransmit record %s %##s", op, rr->resrec.name->c); in CheckRecordRegistrations()
4934 if (rInfo->state == regState_DeregPending) SendRecordDeregistration(m, rr); in CheckRecordRegistrations()
4935 else sendRecordRegistration(m, rr); in CheckRecordRegistrations()
4937 …if (rr->LastAPTime + rr->ThisAPInterval - nextevent < 0) nextevent = rr->LastAPTime + rr->ThisAPIn… in CheckRecordRegistrations()
4943 debugf("refreshing record %##s", rr->resrec.name->c); in CheckRecordRegistrations()
4945 sendRecordRegistration(m, rr); in CheckRecordRegistrations()
5133 AuthRecord *rr = m->uDNS_info.RecordRegistrations; in SleepRecordRegistrations() local
5136 while (rr) in SleepRecordRegistrations()
5138 if (rr->uDNS_info.state == regState_Registered || in SleepRecordRegistrations()
5139 rr->uDNS_info.state == regState_Refresh) in SleepRecordRegistrations()
5145 ptr = putZone(&msg, ptr, end, &rr->uDNS_info.zone, mDNSOpaque16fromIntVal(rr->resrec.rrclass)); in SleepRecordRegistrations()
5147 ptr = putDeletionRecord(&msg, ptr, &rr->resrec); in SleepRecordRegistrations()
5150 …ge(m, &msg, ptr, mDNSInterface_Any, &rr->uDNS_info.ns, rr->uDNS_info.port, -1, GetAuthInfoForName(… in SleepRecordRegistrations()
5151 rr->uDNS_info.state = regState_Refresh; in SleepRecordRegistrations()
5152 rr->LastAPTime = timenow; in SleepRecordRegistrations()
5153 rr->ThisAPInterval = 300 * mDNSPlatformOneSecond; in SleepRecordRegistrations()
5155 rr = rr->next; in SleepRecordRegistrations()
5162 AuthRecord *rr = m->uDNS_info.RecordRegistrations; in WakeRecordRegistrations() local
5164 while (rr) in WakeRecordRegistrations()
5166 if (rr->uDNS_info.state == regState_Refresh) in WakeRecordRegistrations()
5169 rr->LastAPTime = timenow; in WakeRecordRegistrations()
5170 rr->ThisAPInterval = INIT_UCAST_POLL_INTERVAL; in WakeRecordRegistrations()
5172 rr = rr->next; in WakeRecordRegistrations()