Lines Matching refs:m

55 #define SetNextuDNSEvent(m, rr) { \  argument
56 …if ((m)->NextuDNSEvent - ((rr)->LastAPTime + (rr)->ThisAPInterval) >= 0) …
57 …(m)->NextuDNSEvent = ((rr)->LastAPTime + (rr)->ThisAPInterval); …
68 mDNSlocal void SetRecordRetry(mDNS *const m, AuthRecord *rr, mDNSu32 random) in SetRecordRetry() argument
70 rr->LastAPTime = m->timenow; in SetRecordRetry()
74 mDNSs32 remaining = rr->expire - m->timenow; in SetRecordRetry()
84 …isAPInterval/mDNSPlatformOneSecond, (rr->expire - m->timenow)/mDNSPlatformOneSecond, ARDisplayStri… in SetRecordRetry()
90 …isAPInterval/mDNSPlatformOneSecond, (rr->expire - m->timenow)/mDNSPlatformOneSecond, ARDisplayStri… in SetRecordRetry()
103 LogInfo("SetRecordRetry retry in %d ms for %s", rr->ThisAPInterval, ARDisplayString(m, rr)); in SetRecordRetry()
111 mDNSexport DNSServer *mDNS_AddDNSServer(mDNS *const m, const domainname *d, const mDNSInterfaceID i… in mDNS_AddDNSServer() argument
115 DNSServer **p = &m->DNSServers; in mDNS_AddDNSServer()
185 (*p)->lasttest = m->timenow - INIT_UCAST_POLL_INTERVAL; in mDNS_AddDNSServer()
211 mDNSexport void PenalizeDNSServer(mDNS *const m, DNSQuestion *q, mDNSOpaque16 responseFlags) in PenalizeDNSServer() argument
216 mDNS_CheckLock(m); in PenalizeDNSServer()
250 q->qDNSServer->penaltyTime = NonZeroTime(m->timenow + DNSSERVER_PENALTY_TIME); in PenalizeDNSServer()
259 new = GetServerForQuestion(m, q); in PenalizeDNSServer()
282 DNSServerChangeForQuestion(m, q, new); in PenalizeDNSServer()
295 q->LastQTime = m->timenow - q->ThisQInterval; in PenalizeDNSServer()
296 SetNextQueryTime(m, q); in PenalizeDNSServer()
327 mDNSlocal DomainAuthInfo *GetAuthInfoForName_direct(mDNS *m, const domainname *const name) in GetAuthInfoForName_direct() argument
333 for (ptr = m->AuthInfoList; ptr; ptr = ptr->next) in GetAuthInfoForName_direct()
346 mDNSexport DomainAuthInfo *GetAuthInfoForName_internal(mDNS *m, const domainname *const name) in GetAuthInfoForName_internal() argument
348 DomainAuthInfo **p = &m->AuthInfoList; in GetAuthInfoForName_internal()
350 mDNS_CheckLock(m); in GetAuthInfoForName_internal()
355 if ((*p)->deltime && m->timenow - (*p)->deltime >= 0 && AutoTunnelUnregistered(*p)) in GetAuthInfoForName_internal()
361 for (q = m->Questions; q; q=q->next) in GetAuthInfoForName_internal()
364 q->AuthInfo = GetAuthInfoForName_direct(m, &q->qname); in GetAuthInfoForName_internal()
379 return(GetAuthInfoForName_direct(m, name)); in GetAuthInfoForName_internal()
382 mDNSexport DomainAuthInfo *GetAuthInfoForName(mDNS *m, const domainname *const name) in GetAuthInfoForName() argument
385 mDNS_Lock(m); in GetAuthInfoForName()
386 d = GetAuthInfoForName_internal(m, name); in GetAuthInfoForName()
387 mDNS_Unlock(m); in GetAuthInfoForName()
392 mDNSexport mStatus mDNS_SetSecretForDomain(mDNS *m, DomainAuthInfo *info, in mDNS_SetSecretForDomain() argument
396 DomainAuthInfo **p = &m->AuthInfoList; in mDNS_SetSecretForDomain()
440 for (q = m->Questions; q; q=q->next) in mDNS_SetSecretForDomain()
442 DomainAuthInfo *newinfo = GetAuthInfoForQuestion(m, q); in mDNS_SetSecretForDomain()
463 mDNSlocal mStatus uDNS_RequestAddress(mDNS *m) in uDNS_RequestAddress() argument
467 if (!m->NATTraversals) in uDNS_RequestAddress()
469 m->retryGetAddr = NonZeroTime(m->timenow + 0x78000000); in uDNS_RequestAddress()
472 else if (m->timenow - m->retryGetAddr >= 0) in uDNS_RequestAddress()
474 if (mDNSv4AddrIsRFC1918(&m->Router.ip.v4)) in uDNS_RequestAddress()
479 … err = mDNSPlatformSendUDP(m, start, end, 0, mDNSNULL, &m->Router, NATPMPPort, mDNSfalse); in uDNS_RequestAddress()
483 if (mDNSIPPortIsZero(m->UPnPRouterPort) || mDNSIPPortIsZero(m->UPnPSOAPPort)) in uDNS_RequestAddress()
485 LNT_SendDiscoveryMsg(m); in uDNS_RequestAddress()
490 mStatus lnterr = LNT_GetExternalAddress(m); in uDNS_RequestAddress()
501 if (m->retryIntervalGetAddr < NATMAP_INIT_RETRY) in uDNS_RequestAddress()
503 m->retryIntervalGetAddr = NATMAP_INIT_RETRY; in uDNS_RequestAddress()
505 else if (m->retryIntervalGetAddr < NATMAP_MAX_RETRY_INTERVAL / 2) in uDNS_RequestAddress()
507 m->retryIntervalGetAddr *= 2; in uDNS_RequestAddress()
511 m->retryIntervalGetAddr = NATMAP_MAX_RETRY_INTERVAL; in uDNS_RequestAddress()
514 m->retryGetAddr = NonZeroTime(m->timenow + m->retryIntervalGetAddr); in uDNS_RequestAddress()
523 if (m->NextScheduledNATOp - m->retryGetAddr > 0) in uDNS_RequestAddress()
524 m->NextScheduledNATOp = m->retryGetAddr; in uDNS_RequestAddress()
529 mDNSlocal mStatus uDNS_SendNATMsg(mDNS *m, NATTraversalInfo *info, mDNSBool usePCP) in uDNS_SendNATMsg() argument
540 if (mDNSv4AddrIsRFC1918(&m->Router.ip.v4)) in uDNS_SendNATMsg()
562 …err = mDNSPlatformSendUDP(m, (mDNSu8 *)&NATPortReq, end, 0, mDNSNULL, &m->Router, NATPMPPort, mDNS… in uDNS_SendNATMsg()
569 info->NewAddress = m->ExtAddress; in uDNS_SendNATMsg()
598 mDNSAddrMapIPv4toIPv6(&m->AdvertisedV4.ip.v4, &req.clientAddr); in uDNS_SendNATMsg()
600 req.nonce[0] = m->PCPNonce[0]; in uDNS_SendNATMsg()
601 req.nonce[1] = m->PCPNonce[1]; in uDNS_SendNATMsg()
602 req.nonce[2] = m->PCPNonce[2]; in uDNS_SendNATMsg()
620 … err = mDNSPlatformSendUDP(m, start, end, 0, mDNSNULL, &m->Router, NATPMPPort, mDNSfalse); in uDNS_SendNATMsg()
631 if (mDNSIPPortIsZero(m->UPnPRouterPort) || mDNSIPPortIsZero(m->UPnPSOAPPort)) in uDNS_SendNATMsg()
633 LNT_SendDiscoveryMsg(m); in uDNS_SendNATMsg()
638 mStatus lnterr = LNT_MapPort(m, info); in uDNS_SendNATMsg()
651 mDNSexport void RecreateNATMappings(mDNS *const m, const mDNSu32 waitTicks) in RecreateNATMappings() argument
653 mDNSu32 when = NonZeroTime(m->timenow + waitTicks); in RecreateNATMappings()
655 for (n = m->NATTraversals; n; n=n->next) in RecreateNATMappings()
667 m->PCPNonce[0] = mDNSRandom(-1); in RecreateNATMappings()
668 m->PCPNonce[1] = mDNSRandom(-1); in RecreateNATMappings()
669 m->PCPNonce[2] = mDNSRandom(-1); in RecreateNATMappings()
670 m->retryIntervalGetAddr = 0; in RecreateNATMappings()
671 m->retryGetAddr = when; in RecreateNATMappings()
674 LNT_ClearState(m); in RecreateNATMappings()
677 m->NextScheduledNATOp = m->timenow; // Need to send packets immediately in RecreateNATMappings()
680 mDNSexport void natTraversalHandleAddressReply(mDNS *const m, mDNSu16 err, mDNSv4Addr ExtAddr) in natTraversalHandleAddressReply() argument
701 m->ExtAddress = ExtAddr; in natTraversalHandleAddressReply()
704 m->retryIntervalGetAddr = NATMAP_MAX_RETRY_INTERVAL; in natTraversalHandleAddressReply()
706 m->retryIntervalGetAddr = NATMAP_INIT_RETRY; in natTraversalHandleAddressReply()
709 m->retryGetAddr = m->timenow + m->retryIntervalGetAddr; in natTraversalHandleAddressReply()
710 if (m->NextScheduledNATOp - m->retryGetAddr > 0) in natTraversalHandleAddressReply()
711 m->NextScheduledNATOp = m->retryGetAddr; in natTraversalHandleAddressReply()
715 for (n = m->NATTraversals; n; n=n->next) in natTraversalHandleAddressReply()
736 n->retryPortMap = m->timenow; in natTraversalHandleAddressReply()
741 m->NextScheduledNATOp = m->timenow; // Need to send packets immediately in natTraversalHandleAddressReply()
747 mDNSlocal void NATSetNextRenewalTime(mDNS *const m, NATTraversalInfo *n) in NATSetNextRenewalTime() argument
749 n->retryInterval = (n->ExpiryTime - m->timenow)/2; in NATSetNextRenewalTime()
752 n->retryPortMap = m->timenow + n->retryInterval; in NATSetNextRenewalTime()
755 mDNSlocal void natTraversalHandlePortMapReplyWithAddress(mDNS *const m, NATTraversalInfo *n, const … in natTraversalHandlePortMapReplyWithAddress() argument
765 n->retryPortMap = m->timenow + NATMAP_MAX_RETRY_INTERVAL; in natTraversalHandlePortMapReplyWithAddress()
774 n->ExpiryTime = NonZeroTime(m->timenow + lease * mDNSPlatformOneSecond); in natTraversalHandlePortMapReplyWithAddress()
792 …NATSetNextRenewalTime(m, n); // Got our port mapping; now set timer to renew it at half… in natTraversalHandlePortMapReplyWithAddress()
793 m->NextScheduledNATOp = m->timenow; // May need to invoke client callback immediately in natTraversalHandlePortMapReplyWithAddress()
798 mDNSexport void natTraversalHandlePortMapReply(mDNS *const m, NATTraversalInfo *n, const mDNSInterf… in natTraversalHandlePortMapReply() argument
800 …natTraversalHandlePortMapReplyWithAddress(m, n, InterfaceID, err, m->ExtAddress, extport, lease, p… in natTraversalHandlePortMapReply()
804 mDNSexport mStatus mDNS_StartNATOperation_internal(mDNS *const m, NATTraversalInfo *traversal) in mDNS_StartNATOperation_internal() argument
812 for (n = &m->NATTraversals; *n; n=&(*n)->next) in mDNS_StartNATOperation_internal()
835 traversal->retryPortMap = m->timenow; in mDNS_StartNATOperation_internal()
852 if (!m->NATTraversals) // If this is our first NAT request, kick off an address request too in mDNS_StartNATOperation_internal()
854 m->retryGetAddr = m->timenow; in mDNS_StartNATOperation_internal()
855 m->retryIntervalGetAddr = NATMAP_INIT_RETRY; in mDNS_StartNATOperation_internal()
863 traversal->NewAddress = m->ExtAddress; in mDNS_StartNATOperation_internal()
866m->NextScheduledNATOp = m->timenow; // This will always trigger sending the packet ASAP, and gener… in mDNS_StartNATOperation_internal()
874 mDNSexport mStatus mDNS_StopNATOperation_internal(mDNS *m, NATTraversalInfo *traversal) in mDNS_StopNATOperation_internal() argument
878 NATTraversalInfo **ptr = &m->NATTraversals; in mDNS_StopNATOperation_internal()
891 if (m->CurrentNATTraversal == traversal) in mDNS_StopNATOperation_internal()
892 m->CurrentNATTraversal = m->CurrentNATTraversal->next; in mDNS_StopNATOperation_internal()
895 for (p = m->NATTraversals; p; p=p->next) in mDNS_StopNATOperation_internal()
931 uDNS_SendNATMsg(m, traversal, traversal->lastSuccessfulProtocol != NATTProtocolNATPMP); in mDNS_StopNATOperation_internal()
937 mStatus err = LNT_UnmapPort(m, traversal); in mDNS_StopNATOperation_internal()
945 mDNSexport mStatus mDNS_StartNATOperation(mDNS *const m, NATTraversalInfo *traversal) in mDNS_StartNATOperation() argument
948 mDNS_Lock(m); in mDNS_StartNATOperation()
949 status = mDNS_StartNATOperation_internal(m, traversal); in mDNS_StartNATOperation()
950 mDNS_Unlock(m); in mDNS_StartNATOperation()
954 mDNSexport mStatus mDNS_StopNATOperation(mDNS *const m, NATTraversalInfo *traversal) in mDNS_StopNATOperation() argument
957 mDNS_Lock(m); in mDNS_StopNATOperation()
958 status = mDNS_StopNATOperation_internal(m, traversal); in mDNS_StopNATOperation()
959 mDNS_Unlock(m); in mDNS_StopNATOperation()
970 mDNSlocal void StartLLQPolling(mDNS *const m, DNSQuestion *q) in StartLLQPolling() argument
977 q->LastQTime = m->timenow - q->ThisQInterval + 1; in StartLLQPolling()
978 SetNextQueryTime(m, q); in StartLLQPolling()
980 UpdateAutoTunnelDomainStatuses(m); in StartLLQPolling()
1020 mDNSlocal mDNSu16 GetLLQEventPort(const mDNS *const m, const mDNSAddr *const dst) in GetLLQEventPort() argument
1025 …return(mDNSv4AddrIsRFC1918(&src.ip.v4) ? mDNSVal16(m->LLQNAT.ExternalPort) : mDNSVal16(MulticastDN… in GetLLQEventPort()
1030 mDNSlocal void sendChallengeResponse(mDNS *const m, DNSQuestion *const q, const LLQOptData *llq) in sendChallengeResponse() argument
1032 mDNSu8 *responsePtr = m->omsg.data; in sendChallengeResponse()
1042 StartLLQPolling(m,q); in sendChallengeResponse()
1056 q->LastQTime = m->timenow; in sendChallengeResponse()
1058 SetNextQueryTime(m, q); in sendChallengeResponse()
1063 InitializeDNSMessage(&m->omsg.h, q->TargetQID, uQueryFlags); in sendChallengeResponse()
1064 responsePtr = putLLQ(&m->omsg, responsePtr, q, llq); in sendChallengeResponse()
1067 …mStatus err = mDNSSendDNSMessage(m, &m->omsg, responsePtr, mDNSInterface_Any, q->LocalSocket, &q->… in sendChallengeResponse()
1070 else StartLLQPolling(m,q); in sendChallengeResponse()
1073 mDNSlocal void SetLLQTimer(mDNS *const m, DNSQuestion *const q, const LLQOptData *const llq) in SetLLQTimer() argument
1077 q->LastQTime = m->timenow; in SetLLQTimer()
1078 q->expire = m->timenow + lease; in SetLLQTimer()
1081 SetNextQueryTime(m, q); in SetLLQTimer()
1084 mDNSlocal void recvSetupResponse(mDNS *const m, mDNSu8 rcode, DNSQuestion *const q, const LLQOptDat… in recvSetupResponse() argument
1099 …("recvSetupResponse - received llq->err %d from server", llq->err); StartLLQPolling(m,q); return; } in recvSetupResponse()
1106 q->expire = m->timenow + ((mDNSs32)llq->llqlease * mDNSPlatformOneSecond); in recvSetupResponse()
1112 sendChallengeResponse(m, q, llq); in recvSetupResponse()
1128 …code %d from server", q->qname.c, DNSTypeName(q->qtype), llq->err); StartLLQPolling(m,q); return; } in recvSetupResponse()
1133 SetLLQTimer(m, q, llq); in recvSetupResponse()
1135 UpdateAutoTunnelDomainStatuses(m); in recvSetupResponse()
1140 mDNSexport uDNS_LLQType uDNS_recvLLQResponse(mDNS *const m, const DNSMessage *const msg, const mDNS… in uDNS_recvLLQResponse() argument
1146 const rdataOPT *opt = GetLLQOptData(m, msg, end); in uDNS_recvLLQResponse()
1148 for (q = m->Questions; q; q = q->next) in uDNS_recvLLQResponse()
1158m->rec.r.resrec.RecordType = 0; // Clear RecordType to show we're not still using it in uDNS_recvLLQResponse()
1172 … if (!mDNSAddressIsOnes(&q->servAddr) && !mDNSIPPortIsZero(m->LLQNAT.ExternalPort) && in uDNS_recvLLQResponse()
1173 !m->LLQNAT.Result) in uDNS_recvLLQResponse()
1180 q->LastQTime = m->timenow; in uDNS_recvLLQResponse()
1181 SetNextQueryTime(m, q); in uDNS_recvLLQResponse()
1190 InitializeDNSMessage(&m->omsg.h, msg->h.id, ResponseFlags); in uDNS_recvLLQResponse()
1191 ackEnd = putLLQ(&m->omsg, m->omsg.data, q, &opt->u.llq); in uDNS_recvLLQResponse()
1192 …if (ackEnd) mDNSSendDNSMessage(m, &m->omsg, ackEnd, mDNSInterface_Any, q->LocalSocket, srcaddr, sr… in uDNS_recvLLQResponse()
1193m->rec.r.resrec.RecordType = 0; // Clear RecordType to show we're not still using it in uDNS_recvLLQResponse()
1208 … if (opt->u.llq.llqlease == 0 && m->SleepLimit) m->NextScheduledSPRetry = m->timenow; in uDNS_recvLLQResponse()
1209 GrantCacheExtensions(m, q, opt->u.llq.llqlease); in uDNS_recvLLQResponse()
1210 SetLLQTimer(m, q, &opt->u.llq); in uDNS_recvLLQResponse()
1213m->rec.r.resrec.RecordType = 0; // Clear RecordType to show we're not still using it in uDNS_recvLLQResponse()
1220 recvSetupResponse(m, msg->h.flags.b[1] & kDNSFlag1_RC_Mask, q, &opt->u.llq); in uDNS_recvLLQResponse()
1221m->rec.r.resrec.RecordType = 0; // Clear RecordType to show we're not still using it in uDNS_recvLLQResponse()
1235 m->rec.r.resrec.RecordType = 0; // Clear RecordType to show we're not still using it in uDNS_recvLLQResponse()
1250 mDNS *m = tcpInfo->m; in tcpCallback() local
1273 … AuthInfo = tcpInfo->rr ? GetAuthInfoForName(m, tcpInfo->rr->resrec.name) : mDNSNULL; in tcpCallback()
1281 …else if (q && q->LongLived && q->state != LLQ_Poll && !mDNSIPPortIsZero(m->LLQNAT.ExternalPort) &&… in tcpCallback()
1290 …llqData.err = GetLLQEventPort(m, &tcpInfo->Addr); // We're using TCP; tell server what UDP port … in tcpCallback()
1316 …err = mDNSSendDNSMessage(m, &tcpInfo->request, end, mDNSInterface_Any, mDNSNULL, &tcpInfo->Addr, t… in tcpCallback()
1322 mDNS_Lock(m); in tcpCallback()
1323 q->LastQTime = m->timenow; in tcpCallback()
1326 SetNextQueryTime(m, q); in tcpCallback()
1327 mDNS_Unlock(m); in tcpCallback()
1438 if (!q || !q->LongLived || m->SleepState) in tcpCallback()
1441 mDNSCoreReceive(m, reply, end, &Addr, Port, tls ? (mDNSAddr *)1 : mDNSNULL, srcPort, 0); in tcpCallback()
1457 mDNS_Lock(m); // Need to grab the lock to get m->timenow in tcpCallback()
1465 q->LastQTime = m->timenow; in tcpCallback()
1491 SetNextQueryTime(m, q); in tcpCallback()
1493 …else if (NextQSendTime(q) - m->timenow > (q->LongLived ? LLQ_POLL_INTERVAL : MAX_UCAST_POLL_INTERV… in tcpCallback()
1497 q->LastQTime = m->timenow; in tcpCallback()
1499 SetNextQueryTime(m, q); in tcpCallback()
1515 if (q->LongLived && q->state != LLQ_Poll) StartLLQPolling(m, q); in tcpCallback()
1519 mDNS_Unlock(m); in tcpCallback()
1525 mDNSlocal tcpInfo_t *MakeTCPConn(mDNS *const m, const DNSMessage *const msg, const mDNSu8 *const en… in MakeTCPConn() argument
1543 info->m = m; in MakeTCPConn()
1544 info->sock = mDNSPlatformTCPSocket(m, flags, &srcport, useBackgroundTrafficClass); in MakeTCPConn()
1585 mDNSexport void startLLQHandshake(mDNS *m, DNSQuestion *q) in startLLQHandshake() argument
1587 if (m->LLQNAT.clientContext != mDNSNULL) // LLQNAT just started, give it some time in startLLQHandshake()
1591 q->LastQTime = m->timenow; in startLLQHandshake()
1592 SetNextQueryTime(m, q); in startLLQHandshake()
1598 if (mDNSIPPortIsZero(m->LLQNAT.ExternalPort) || m->LLQNAT.Result) in startLLQHandshake()
1601 … q->qname.c, DNSTypeName(q->qtype), mDNSVal16(m->LLQNAT.ExternalPort), m->LLQNAT.Result); in startLLQHandshake()
1602 StartLLQPolling(m, q); in startLLQHandshake()
1610 q->LastQTime = m->timenow; in startLLQHandshake()
1611 SetNextQueryTime(m, q); in startLLQHandshake()
1614 if (q->nta) CancelGetZoneData(m, q->nta); in startLLQHandshake()
1615 q->nta = StartGetZoneData(m, &q->qname, ZoneServiceLLQ, LLQGotZoneData, q); in startLLQHandshake()
1633 q->nta = StartGetZoneData(m, &q->qname, ZoneServiceLLQ, LLQGotZoneData, q); in startLLQHandshake()
1641 …q->tcp = MakeTCPConn(m, mDNSNULL, mDNSNULL, kTCPSocketFlags_UseTLS, &q->servAddr, q->servPort, &q-… in startLLQHandshake()
1650 q->LastQTime = m->timenow; in startLLQHandshake()
1651 SetNextQueryTime(m, q); in startLLQHandshake()
1656 …&m->AdvertisedV4, mDNSv4AddrIsRFC1918(&m->AdvertisedV4.ip.v4) ? " (RFC 1918)" … in startLLQHandshake()
1663 StartLLQPolling(m, q); in startLLQHandshake()
1677 InitializeDNSMessage(&m->omsg.h, q->TargetQID, uQueryFlags); in startLLQHandshake()
1678 end = putLLQ(&m->omsg, m->omsg.data, q, &llqData); in startLLQHandshake()
1679 if (!end) { LogMsg("ERROR: startLLQHandshake - putLLQ"); StartLLQPolling(m,q); return; } in startLLQHandshake()
1681 …mDNSSendDNSMessage(m, &m->omsg, end, mDNSInterface_Any, q->LocalSocket, &q->servAddr, q->servPort,… in startLLQHandshake()
1687 q->LastQTime = m->timenow; in startLLQHandshake()
1688 SetNextQueryTime(m, q); in startLLQHandshake()
1694 mDNSlocal void GetStaticHostname(mDNS *m);
1696 mDNSexport const domainname *GetServiceTarget(mDNS *m, AuthRecord *const rr) in GetServiceTarget() argument
1705 DomainAuthInfo *AuthInfo = GetAuthInfoForName_internal(m, rr->resrec.name); in GetServiceTarget()
1708 StartServerTunnel(m, AuthInfo); in GetServiceTarget()
1719 for (hi = m->Hostnames; hi; hi = hi->next) in GetServiceTarget()
1731 if (m->StaticHostname.c[0]) return(&m->StaticHostname); in GetServiceTarget()
1732 else GetStaticHostname(m); // asynchronously do reverse lookup for primary IPv4 address in GetServiceTarget()
1733 LogInfo("GetServiceTarget: Returning NULL for %s", ARDisplayString(m, rr)); in GetServiceTarget()
1752 mDNSlocal mStatus GetZoneData_StartQuery(mDNS *const m, ZoneData *zd, mDNSu16 qtype);
1755 mDNSlocal void GetZoneData_QuestionCallback(mDNS *const m, DNSQuestion *question, const ResourceRec… in GetZoneData_QuestionCallback() argument
1759 …debugf("GetZoneData_QuestionCallback: %s %s", AddRecord ? "Add" : "Rmv", RRDisplayString(m, answer… in GetZoneData_QuestionCallback()
1767 debugf("GetZoneData GOT SOA %s", RRDisplayString(m, answer)); in GetZoneData_QuestionCallback()
1768 mDNS_StopQuery(m, question); in GetZoneData_QuestionCallback()
1776 GetZoneData_StartQuery(m, zd, kDNSType_SRV); in GetZoneData_QuestionCallback()
1780 DomainAuthInfo *AuthInfo = GetAuthInfoForName(m, zd->CurrentSOA); in GetZoneData_QuestionCallback()
1786 zd->ZoneDataCallback(m, mStatus_NoSuchNameErr, zd); in GetZoneData_QuestionCallback()
1792 GetZoneData_StartQuery(m, zd, kDNSType_SOA); in GetZoneData_QuestionCallback()
1798 zd->ZoneDataCallback(m, mStatus_NoSuchNameErr, zd); in GetZoneData_QuestionCallback()
1803 debugf("GetZoneData GOT SRV %s", RRDisplayString(m, answer)); in GetZoneData_QuestionCallback()
1804 mDNS_StopQuery(m, question); in GetZoneData_QuestionCallback()
1814 GetZoneData_StartQuery(m, zd, kDNSType_SRV); // Try again, non-private this time in GetZoneData_QuestionCallback()
1824 GetZoneData_StartQuery(m, zd, kDNSType_A); in GetZoneData_QuestionCallback()
1832 zd->ZoneDataCallback(m, mStatus_NoError, zd); in GetZoneData_QuestionCallback()
1838 debugf("GetZoneData GOT A %s", RRDisplayString(m, answer)); in GetZoneData_QuestionCallback()
1839 mDNS_StopQuery(m, question); in GetZoneData_QuestionCallback()
1858 zd->ZoneDataCallback(m, mStatus_NoError, zd); in GetZoneData_QuestionCallback()
1863 mDNSlocal mStatus GetZoneData_StartQuery(mDNS *const m, ZoneData *zd, mDNSu16 qtype) in GetZoneData_StartQuery() argument
1905 return(mDNS_StartQuery(m, &zd->question)); in GetZoneData_StartQuery()
1909 mDNSexport ZoneData *StartGetZoneData(mDNS *const m, const domainname *const name, const ZoneServic… in StartGetZoneData() argument
1911 DomainAuthInfo *AuthInfo = GetAuthInfoForName_internal(m, name); in StartGetZoneData()
1948 GetZoneData_StartQuery(m, zd, kDNSType_A); in StartGetZoneData()
1954 GetZoneData_StartQuery(m, zd, kDNSType_SOA); in StartGetZoneData()
1974 mDNSexport DomainAuthInfo *GetAuthInfoForQuestion(mDNS *m, const DNSQuestion *const q) // Must be … in GetAuthInfoForQuestion() argument
1978 return(GetAuthInfoForName_internal(m, &q->qname)); in GetAuthInfoForQuestion()
1986 mDNSlocal void SendRecordRegistration(mDNS *const m, AuthRecord *rr);
1987 mDNSlocal void SendRecordDeregistration(mDNS *m, AuthRecord *rr);
1988 mDNSlocal mDNSBool IsRecordMergeable(mDNS *const m, AuthRecord *rr, mDNSs32 time);
1992 mDNSlocal void UpdateAllServiceRecords(mDNS *const m, AuthRecord *rr, mDNSBool reg) in UpdateAllServiceRecords() argument
1996 …lServiceRecords:ERROR!! ResourceRecord not a service record %s", ARDisplayString(m, rr)); return; } in UpdateAllServiceRecords()
1998 …ds:ERROR!! SRV record %s in noTarget state during registration", ARDisplayString(m, rr)); return; } in UpdateAllServiceRecords()
2000 LogInfo("UpdateAllServiceRecords: ResourceRecord %s", ARDisplayString(m, rr)); in UpdateAllServiceRecords()
2002 for (r = m->ResourceRecords; r; r=r->next) in UpdateAllServiceRecords()
2011 …lServiceRecords: ERROR!! Resource record %s wrong, expecting SRV type", ARDisplayString(m, srvRR)); in UpdateAllServiceRecords()
2016 LogInfo("UpdateAllServiceRecords: deregistering %s", ARDisplayString(m, r)); in UpdateAllServiceRecords()
2019 r->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in UpdateAllServiceRecords()
2034 … LogInfo("UpdateAllServiceRecords: not registering %s, state %d", ARDisplayString(m, r), r->state); in UpdateAllServiceRecords()
2037 … LogInfo("UpdateAllServiceRecords: registering %s, state %d", ARDisplayString(m, r), r->state); in UpdateAllServiceRecords()
2038 ActivateUnicastRegistration(m, r); in UpdateAllServiceRecords()
2047 mDNSlocal void CompleteRecordNatMap(mDNS *m, NATTraversalInfo *n) in CompleteRecordNatMap() argument
2055 …if (!n->NATLease) { LogMsg("CompleteRecordNatMap No NATLease for %s", ARDisplayString(m, rr)); ret… in CompleteRecordNatMap()
2057 …pe_SRV) {LogMsg("CompleteRecordNatMap: Not a service record %s", ARDisplayString(m, rr)); return; } in CompleteRecordNatMap()
2059 …nfo("CompleteRecordNatMap called for %s, Service deregistering", ARDisplayString(m, rr)); return; } in CompleteRecordNatMap()
2061 …fo("CompleteRecordNatMap called for %s, record in DeregPending", ARDisplayString(m, rr)); return; } in CompleteRecordNatMap()
2068 … LogInfo("CompleteRecordNatMap called for %s but no zone information!", ARDisplayString(m, rr)); in CompleteRecordNatMap()
2073 mDNS_StopNATOperation_internal(m, &rr->NATinfo); in CompleteRecordNatMap()
2078 rr->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in CompleteRecordNatMap()
2082 mDNS_Lock(m); in CompleteRecordNatMap()
2085 target = GetServiceTarget(m, rr); in CompleteRecordNatMap()
2096 mDNS_Unlock(m); in CompleteRecordNatMap()
2097 UpdateAllServiceRecords(m, rr, mDNSfalse); in CompleteRecordNatMap()
2129 rr->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in CompleteRecordNatMap()
2130 if (IsRecordMergeable(m, rr, m->timenow + MERGE_DELAY_TIME)) in CompleteRecordNatMap()
2134 mDNS_Unlock(m); in CompleteRecordNatMap()
2140 UpdateAllServiceRecords(m, rr, mDNStrue); in CompleteRecordNatMap()
2143 mDNSlocal void StartRecordNatMap(mDNS *m, AuthRecord *rr) in StartRecordNatMap() argument
2164 if (rr->NATinfo.clientContext) mDNS_StopNATOperation_internal(m, &rr->NATinfo); in StartRecordNatMap()
2174 mDNS_StartNATOperation_internal(m, &rr->NATinfo); in StartRecordNatMap()
2196 mDNSlocal mStatus UnlinkResourceRecord(mDNS *const m, AuthRecord *const rr) in UnlinkResourceRecord() argument
2198 AuthRecord **list = &m->ResourceRecords; in UnlinkResourceRecord()
2208 mDNS_StopNATOperation_internal(m, &rr->NATinfo); in UnlinkResourceRecord()
2222 mDNSlocal void RegisterAllServiceRecords(mDNS *const m, AuthRecord *rr) in RegisterAllServiceRecords() argument
2228 UnlinkResourceRecord(m, rr); in RegisterAllServiceRecords()
2229 mDNS_Register_internal(m, rr); in RegisterAllServiceRecords()
2231 UpdateAllServiceRecords(m, rr, mDNStrue); in RegisterAllServiceRecords()
2235 mDNSlocal void UpdateOneSRVRecord(mDNS *m, AuthRecord *rr) in UpdateOneSRVRecord() argument
2243 const domainname *const nt = GetServiceTarget(m, rr); in UpdateOneSRVRecord()
2254 …Target_AutoHostAndNATMAP && !mDNSIPPortIsZero(port) && mDNSv4AddrIsRFC1918(&m->AdvertisedV4.ip.v4)… in UpdateOneSRVRecord()
2261 …cord: Resource Record %s TargetChanged %d, NewTarget %##s", ARDisplayString(m, rr), TargetChanged,… in UpdateOneSRVRecord()
2267 mDNS_CheckLock(m); in UpdateOneSRVRecord()
2303 … LogInfo("UpdateOneSRVRecord: No target yet for Resource Record %s", ARDisplayString(m, rr)); in UpdateOneSRVRecord()
2306 RegisterAllServiceRecords(m, rr); in UpdateOneSRVRecord()
2336 rr->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in UpdateOneSRVRecord()
2347 UpdateAllServiceRecords(m, rr, mDNSfalse); in UpdateOneSRVRecord()
2355 mDNSexport void UpdateAllSRVRecords(mDNS *m) in UpdateAllSRVRecords() argument
2357 m->NextSRVUpdate = 0; in UpdateAllSRVRecords()
2358 LogInfo("UpdateAllSRVRecords %d", m->SleepState); in UpdateAllSRVRecords()
2360 if (m->CurrentRecord) in UpdateAllSRVRecords()
2361 …LogMsg("UpdateAllSRVRecords ERROR m->CurrentRecord already set %s", ARDisplayString(m, m->CurrentR… in UpdateAllSRVRecords()
2362 m->CurrentRecord = m->ResourceRecords; in UpdateAllSRVRecords()
2363 while (m->CurrentRecord) in UpdateAllSRVRecords()
2365 AuthRecord *rptr = m->CurrentRecord; in UpdateAllSRVRecords()
2366 m->CurrentRecord = m->CurrentRecord->next; in UpdateAllSRVRecords()
2368 UpdateOneSRVRecord(m, rptr); in UpdateAllSRVRecords()
2373 mDNSlocal void HostnameCallback(mDNS *const m, AuthRecord *const rr, mStatus result);
2376 mDNSlocal void hostnameGetPublicAddressCallback(mDNS *m, NATTraversalInfo *n) in hostnameGetPublicAddressCallback() argument
2391 … mDNS_Deregister(m, &h->arv4); // mStatus_MemFree callback will re-register with new address in hostnameGetPublicAddressCallback()
2398 mDNS_Register(m, &h->arv4); in hostnameGetPublicAddressCallback()
2404 mDNSlocal void AdvertiseHostname(mDNS *m, HostnameInfo *h) in AdvertiseHostname() argument
2406 …if (!mDNSIPv4AddressIsZero(m->AdvertisedV4.ip.v4) && h->arv4.resrec.RecordType == kDNSRecordTypeUn… in AdvertiseHostname()
2410 h->arv4.resrec.rdata->u.ipv4 = m->AdvertisedV4.ip.v4; in AdvertiseHostname()
2412 if (mDNSv4AddrIsRFC1918(&m->AdvertisedV4.ip.v4)) in AdvertiseHostname()
2415 if (h->natinfo.clientContext) mDNS_StopNATOperation_internal(m, &h->natinfo); in AdvertiseHostname()
2422 mDNS_StartNATOperation_internal(m, &h->natinfo); in AdvertiseHostname()
2426 … LogInfo("Advertising hostname %##s IPv4 %.4a", h->arv4.resrec.name->c, &m->AdvertisedV4.ip.v4); in AdvertiseHostname()
2428 mDNS_Register_internal(m, &h->arv4); in AdvertiseHostname()
2432 …if (!mDNSIPv6AddressIsZero(m->AdvertisedV6.ip.v6) && h->arv6.resrec.RecordType == kDNSRecordTypeUn… in AdvertiseHostname()
2436 h->arv6.resrec.rdata->u.ipv6 = m->AdvertisedV6.ip.v6; in AdvertiseHostname()
2438 … LogInfo("Advertising hostname %##s IPv6 %.16a", h->arv6.resrec.name->c, &m->AdvertisedV6.ip.v6); in AdvertiseHostname()
2439 mDNS_Register_internal(m, &h->arv6); in AdvertiseHostname()
2443 mDNSlocal void HostnameCallback(mDNS *const m, AuthRecord *const rr, mStatus result) in HostnameCallback() argument
2453 … LogInfo("HostnameCallback: Got mStatus_MemFree for %p %p %s", hi, rr, ARDisplayString(m, rr)); in HostnameCallback()
2454 for (i = m->Hostnames; i; i = i->next) in HostnameCallback()
2456 { mDNS_Lock(m); AdvertiseHostname(m, i); mDNS_Unlock(m); return; } in HostnameCallback()
2462 if (hi->natinfo.clientContext) mDNS_StopNATOperation_internal(m, &hi->natinfo); in HostnameCallback()
2486 hi->StatusCallback(m, rr, result); // client may NOT make API calls here in HostnameCallback()
2493 mDNS_Lock(m); in HostnameCallback()
2494 m->NextSRVUpdate = NonZeroTime(m->timenow); in HostnameCallback()
2495 mDNS_Unlock(m); in HostnameCallback()
2506 hi->StatusCallback(m, rr, result); // client may NOT make API calls here in HostnameCallback()
2510 mDNSlocal void FoundStaticHostname(mDNS *const m, DNSQuestion *question, const ResourceRecord *cons… in FoundStaticHostname() argument
2513 domainname *storedname = &m->StaticHostname; in FoundStaticHostname()
2514 HostnameInfo *h = m->Hostnames; in FoundStaticHostname()
2531 m->NextSRVUpdate = NonZeroTime(m->timenow + 5 * mDNSPlatformOneSecond); in FoundStaticHostname()
2532 … debugf("FoundStaticHostname: NextSRVUpdate in %d %d", m->NextSRVUpdate - m->timenow, m->timenow); in FoundStaticHostname()
2537 mDNS_Lock(m); in FoundStaticHostname()
2538 m->NextSRVUpdate = NonZeroTime(m->timenow); in FoundStaticHostname()
2539 mDNS_Unlock(m); in FoundStaticHostname()
2543 mDNS_Lock(m); in FoundStaticHostname()
2545 m->NextSRVUpdate = NonZeroTime(m->timenow); in FoundStaticHostname()
2546 mDNS_Unlock(m); in FoundStaticHostname()
2551 mDNSlocal void GetStaticHostname(mDNS *m) in GetStaticHostname() argument
2554 DNSQuestion *q = &m->ReverseMap; in GetStaticHostname()
2555 mDNSu8 *ip = m->AdvertisedV4.ip.v4.b; in GetStaticHostname()
2558 if (m->ReverseMap.ThisQInterval != -1) return; // already running in GetStaticHostname()
2559 if (mDNSIPv4AddressIsZero(m->AdvertisedV4.ip.v4)) return; in GetStaticHostname()
2594 err = mDNS_StartQuery_internal(m, q); in GetStaticHostname()
2598 mDNSexport void mDNS_AddDynDNSHostName(mDNS *m, const domainname *fqdn, mDNSRecordCallback *StatusC… in mDNS_AddDynDNSHostName() argument
2600 HostnameInfo **ptr = &m->Hostnames; in mDNS_AddDynDNSHostName()
2618 AdvertiseHostname(m, *ptr); in mDNS_AddDynDNSHostName()
2621 mDNSexport void mDNS_RemoveDynDNSHostName(mDNS *m, const domainname *fqdn) in mDNS_RemoveDynDNSHostName() argument
2623 HostnameInfo **ptr = &m->Hostnames; in mDNS_RemoveDynDNSHostName()
2639 if (f4) mDNS_Deregister_internal(m, &hi->arv4, mDNS_Dereg_normal); in mDNS_RemoveDynDNSHostName()
2640 if (f6) mDNS_Deregister_internal(m, &hi->arv6, mDNS_Dereg_normal); in mDNS_RemoveDynDNSHostName()
2643 mDNS_CheckLock(m); in mDNS_RemoveDynDNSHostName()
2644 m->NextSRVUpdate = NonZeroTime(m->timenow); in mDNS_RemoveDynDNSHostName()
2649 mDNSexport void mDNS_SetPrimaryInterfaceInfo(mDNS *m, const mDNSAddr *v4addr, const mDNSAddr *v6add… in mDNS_SetPrimaryInterfaceInfo() argument
2654 if (m->mDNS_busy != m->mDNS_reentrancy) in mDNS_SetPrimaryInterfaceInfo()
2655 …_SetPrimaryInterfaceInfo: mDNS_busy (%ld) != mDNS_reentrancy (%ld)", m->mDNS_busy, m->mDNS_reentra… in mDNS_SetPrimaryInterfaceInfo()
2661 mDNS_Lock(m); in mDNS_SetPrimaryInterfaceInfo()
2663 … v4Changed = !mDNSSameIPv4Address(m->AdvertisedV4.ip.v4, v4addr ? v4addr->ip.v4 : zerov4Addr); in mDNS_SetPrimaryInterfaceInfo()
2668 v6Changed = !mDNSSameIPv6Address(m->AdvertisedV6.ip.v6, v6); in mDNS_SetPrimaryInterfaceInfo()
2669 … RouterChanged = !mDNSSameIPv4Address(m->Router.ip.v4, router ? router->ip.v4 : zerov4Addr); in mDNS_SetPrimaryInterfaceInfo()
2672 … debugf("mDNS_SetPrimaryInterfaceInfo: address changed from %#a to %#a", &m->AdvertisedV4, v4addr); in mDNS_SetPrimaryInterfaceInfo()
2674 if (v4addr) m->AdvertisedV4 = *v4addr;else m->AdvertisedV4.ip.v4 = zerov4Addr; in mDNS_SetPrimaryInterfaceInfo()
2675 if (v6addr) m->AdvertisedV6 = *v6addr;else m->AdvertisedV6.ip.v6 = zerov6Addr; in mDNS_SetPrimaryInterfaceInfo()
2676 if (router) m->Router = *router;else m->Router.ip.v4 = zerov4Addr; in mDNS_SetPrimaryInterfaceInfo()
2687 for (i = m->Hostnames; i; i = i->next) in mDNS_SetPrimaryInterfaceInfo()
2692 !mDNSSameIPv4Address(i->arv4.resrec.rdata->u.ipv4, m->AdvertisedV4.ip.v4)) in mDNS_SetPrimaryInterfaceInfo()
2694 … LogInfo("mDNS_SetPrimaryInterfaceInfo deregistering %s", ARDisplayString(m, &i->arv4)); in mDNS_SetPrimaryInterfaceInfo()
2695 mDNS_Deregister_internal(m, &i->arv4, mDNS_Dereg_normal); in mDNS_SetPrimaryInterfaceInfo()
2699 !mDNSSameIPv6Address(i->arv6.resrec.rdata->u.ipv6, m->AdvertisedV6.ip.v6)) in mDNS_SetPrimaryInterfaceInfo()
2701 … LogInfo("mDNS_SetPrimaryInterfaceInfo deregistering %s", ARDisplayString(m, &i->arv6)); in mDNS_SetPrimaryInterfaceInfo()
2702 mDNS_Deregister_internal(m, &i->arv6, mDNS_Dereg_normal); in mDNS_SetPrimaryInterfaceInfo()
2707 AdvertiseHostname(m, i); in mDNS_SetPrimaryInterfaceInfo()
2717 m->ExtAddress = zerov4Addr; in mDNS_SetPrimaryInterfaceInfo()
2718 m->LastNATMapResultCode = NATErr_None; in mDNS_SetPrimaryInterfaceInfo()
2720 RecreateNATMappings(m, mDNSPlatformOneSecond * waitSeconds); in mDNS_SetPrimaryInterfaceInfo()
2722 for (n = m->NATTraversals; n; n=n->next) in mDNS_SetPrimaryInterfaceInfo()
2731 if (m->ReverseMap.ThisQInterval != -1) mDNS_StopQuery_internal(m, &m->ReverseMap); in mDNS_SetPrimaryInterfaceInfo()
2732 m->StaticHostname.c[0] = 0; in mDNS_SetPrimaryInterfaceInfo()
2734 m->NextSRVUpdate = NonZeroTime(m->timenow); in mDNS_SetPrimaryInterfaceInfo()
2737 if (RouterChanged) uuid_generate(m->asl_uuid); in mDNS_SetPrimaryInterfaceInfo()
2738 UpdateAutoTunnelDomainStatuses(m); in mDNS_SetPrimaryInterfaceInfo()
2742 mDNS_Unlock(m); in mDNS_SetPrimaryInterfaceInfo()
2750 mDNSlocal mStatus ParseTSIGError(mDNS *const m, const DNSMessage *const msg, const mDNSu8 *const en… in ParseTSIGError() argument
2761 ptr = GetLargeResourceRecord(m, msg, ptr, end, 0, kDNSRecordTypePacketAdd, &m->rec); in ParseTSIGError()
2763 …if (m->rec.r.resrec.RecordType != kDNSRecordTypePacketNegative && m->rec.r.resrec.rrtype == kDNSTy… in ParseTSIGError()
2766 mDNSu8 *rd = m->rec.r.resrec.rdata->u.data; in ParseTSIGError()
2767 mDNSu8 *rdend = rd + m->rec.r.resrec.rdlength; in ParseTSIGError()
2768 int alglen = DomainNameLengthLimit(&m->rec.r.resrec.rdata->u.name, rdend); in ParseTSIGError()
2791 m->rec.r.resrec.RecordType = 0; // Clear RecordType to show we're not still using it in ParseTSIGError()
2795 m->rec.r.resrec.RecordType = 0; // Clear RecordType to show we're not still using it in ParseTSIGError()
2799 mDNSlocal mStatus checkUpdateResult(mDNS *const m, const domainname *const displayname, const mDNSu… in checkUpdateResult() argument
2821 mStatus tsigerr = ParseTSIGError(m, msg, end, displayname); in checkUpdateResult()
2831 mStatus tsigerr = ParseTSIGError(m, msg, end, displayname); in checkUpdateResult()
2848 mDNSlocal mDNSu32 RRAdditionalSize(mDNS *const m, DomainAuthInfo *AuthInfo) in RRAdditionalSize() argument
2860 hinfoSize = (m->hostlabel.c[0] + 1) + DomainNameLength(&AuthInfo->domain) + in RRAdditionalSize()
2861 rr_base_size + (2 + m->HIHardware.c[0] + m->HISoftware.c[0]); in RRAdditionalSize()
2882 mDNSlocal mDNSu8* BuildUpdateMessage(mDNS *const m, mDNSu8 *ptr, AuthRecord *rr, mDNSu8 *limit) in BuildUpdateMessage() argument
2888 ptr = putDeletionRecordWithLimit(&m->omsg, ptr, &rr->resrec, limit); in BuildUpdateMessage()
2913 …if (!(ptr = putDeletionRecordWithLimit(&m->omsg, ptr, &rr->resrec, limit))) goto exit; // delete o… in BuildUpdateMessage()
2917 …if (!(ptr = PutResourceRecordTTLWithLimit(&m->omsg, ptr, &m->omsg.h.mDNS_numUpdates, &rr->resrec, … in BuildUpdateMessage()
2926 ptr = putDeleteRRSetWithLimit(&m->omsg, ptr, rr->resrec.name, rr->resrec.rrtype, limit); in BuildUpdateMessage()
2936 …ptr = PutResourceRecordTTLWithLimit(&m->omsg, ptr, &m->omsg.h.mDNS_numUpdates, &rr->resrec, rr->re… in BuildUpdateMessage()
2942 LogMsg("BuildUpdateMessage: Error formatting message for %s", ARDisplayString(m, rr)); in BuildUpdateMessage()
2947 mDNSlocal void SendRecordRegistration(mDNS *const m, AuthRecord *rr) in SendRecordRegistration() argument
2949 mDNSu8 *ptr = m->omsg.data; in SendRecordRegistration()
2958 AuthInfo = GetAuthInfoForName_internal(m, rr->resrec.name); in SendRecordRegistration()
2959 limit -= RRAdditionalSize(m, AuthInfo); in SendRecordRegistration()
2961 mDNS_CheckLock(m); in SendRecordRegistration()
2966 …ogMsg("SendRecordRegistration: No Zone information, should not happen %s", ARDisplayString(m, rr)); in SendRecordRegistration()
2970 rr->updateid = mDNS_NewMessageID(m); in SendRecordRegistration()
2971 InitializeDNSMessage(&m->omsg.h, rr->updateid, UpdateReqFlags); in SendRecordRegistration()
2974 ptr = putZone(&m->omsg, ptr, limit, rr->zone, mDNSOpaque16fromIntVal(rr->resrec.rrclass)); in SendRecordRegistration()
2977 if (!(ptr = BuildUpdateMessage(m, ptr, rr, limit))) goto exit; in SendRecordRegistration()
2981 ptr = putUpdateLeaseWithLimit(&m->omsg, ptr, DEFAULT_UPDATE_LEASE, limit); in SendRecordRegistration()
2986 LogInfo("SendRecordRegistration TCP %p %s", rr->tcp, ARDisplayString(m, rr)); in SendRecordRegistration()
2987 …ogInfo("SendRecordRegistration: Disposing existing TCP connection for %s", ARDisplayString(m, rr)); in SendRecordRegistration()
2989 …Msg("SendRecordRegistration:Private:ERROR!! nta is NULL for %s", ARDisplayString(m, rr)); return; } in SendRecordRegistration()
2990 …rr->tcp = MakeTCPConn(m, &m->omsg, ptr, kTCPSocketFlags_UseTLS, &rr->nta->Addr, rr->nta->Port, &rr… in SendRecordRegistration()
2994 LogInfo("SendRecordRegistration UDP %s", ARDisplayString(m, rr)); in SendRecordRegistration()
2995 …a) { LogMsg("SendRecordRegistration:ERROR!! nta is NULL for %s", ARDisplayString(m, rr)); return; } in SendRecordRegistration()
2996 …DNSSendDNSMessage(m, &m->omsg, ptr, mDNSInterface_Any, mDNSNULL, &rr->nta->Addr, rr->nta->Port, mD… in SendRecordRegistration()
3000 SetRecordRetry(m, rr, 0); in SendRecordRegistration()
3003 …Registration: Error formatting message for %s, disabling further updates", ARDisplayString(m, rr)); in SendRecordRegistration()
3009 mDNSlocal mDNSBool IsRecordMergeable(mDNS *const m, AuthRecord *rr, mDNSs32 time) in IsRecordMergeable() argument
3012 (void) m; //unused in IsRecordMergeable()
3032 …%d not reached for %s", rr->LastAPTime + rr->ThisAPInterval - m->timenow, ARDisplayString(m, rr));… in IsRecordMergeable()
3036 info = GetAuthInfoForName_internal(m, rr->zone); in IsRecordMergeable()
3038 …if (info && info->deltime && m->timenow - info->deltime >= 0) {debugf("IsRecordMergeable: Domain %… in IsRecordMergeable()
3041 …{ debugf("IsRecordMergeable: state %d not right %s", rr->state, ARDisplayString(m, rr)); return m… in IsRecordMergeable()
3047 …e_DontMerge) {debugf("IsRecordMergeable Dontmerge true %s", ARDisplayString(m, rr)); return mDNSfa… in IsRecordMergeable()
3048 debugf("IsRecordMergeable: Returning true for %s", ARDisplayString(m, rr)); in IsRecordMergeable()
3053 mDNSlocal mDNSBool AreRecordsMergeable(mDNS *const m, AuthRecord *currentRR, AuthRecord *rr, mDNSs3… in AreRecordsMergeable() argument
3057 if (!IsRecordMergeable(m, rr, time)) return mDNSfalse; in AreRecordsMergeable()
3066 debugf("AreRecordsMergeable: Returning true for %s", ARDisplayString(m, rr)); in AreRecordsMergeable()
3072 mDNSlocal void RRMergeFailure(mDNS *const m) in RRMergeFailure() argument
3075 for (rr = m->ResourceRecords; rr; rr = rr->next) in RRMergeFailure()
3081 ActivateUnicastRegistration(m, rr); in RRMergeFailure()
3085 mDNSlocal void SendGroupRRMessage(mDNS *const m, AuthRecord *anchorRR, mDNSu8 *ptr, DomainAuthInfo … in SendGroupRRMessage() argument
3090 if (info && info->AutoTunnel) limit = m->omsg.data + AbsoluteMaxDNSMessageData; in SendGroupRRMessage()
3091 else limit = m->omsg.data + NormalMaxDNSMessageData; in SendGroupRRMessage()
3094 ptr = putUpdateLeaseWithLimit(&m->omsg, ptr, DEFAULT_UPDATE_LEASE, limit); in SendGroupRRMessage()
3099 RRMergeFailure(m); in SendGroupRRMessage()
3104 …bugf("SendGroupRRMessage: Disposing existing TCP connection for %s", ARDisplayString(m, anchorRR)); in SendGroupRRMessage()
3106 …) { LogMsg("SendGroupRRMessage:ERROR!! nta is NULL for %s", ARDisplayString(m, anchorRR)); return;… in SendGroupRRMessage()
3107 …anchorRR->tcp = MakeTCPConn(m, &m->omsg, ptr, kTCPSocketFlags_UseTLS, &anchorRR->nta->Addr, anchor… in SendGroupRRMessage()
3108 …ogInfo("SendGroupRRMessage: Cannot establish TCP connection for %s", ARDisplayString(m, anchorRR)); in SendGroupRRMessage()
3109 …: Sent a group update ID: %d start %p, end %p, limit %p", mDNSVal16(m->omsg.h.id), m->omsg.data, p… in SendGroupRRMessage()
3113 …mStatus err = mDNSSendDNSMessage(m, &m->omsg, ptr, mDNSInterface_Any, mDNSNULL, &anchorRR->nta->Ad… in SendGroupRRMessage()
3114 …if (err) LogInfo("SendGroupRRMessage: Cannot send UDP message for %s", ARDisplayString(m, anchorRR… in SendGroupRRMessage()
3115 …nt a group UDP update ID: %d start %p, end %p, limit %p", mDNSVal16(m->omsg.h.id), m->omsg.data, p… in SendGroupRRMessage()
3160 mDNSlocal AuthRecord *MarkRRForSending(mDNS *const m) in MarkRRForSending() argument
3179 for (rr = m->ResourceRecords; rr; rr = rr->next) in MarkRRForSending()
3183 if (!IsRecordMergeable(m, rr, m->timenow + MERGE_DELAY_TIME)) continue; in MarkRRForSending()
3186 else if (!AreRecordsMergeable(m, firstRR, rr, m->timenow + MERGE_DELAY_TIME)) continue; in MarkRRForSending()
3188 …) LogMsg("MarkRRForSending: Resourcerecord %s already marked for sending", ARDisplayString(m, rr)); in MarkRRForSending()
3206 for (rr = m->ResourceRecords; rr; rr = rr->next) in MarkRRForSending()
3210 (!AreRecordsMergeable(m, firstRR, rr, m->timenow + rr->ThisAPInterval/2))) in MarkRRForSending()
3220 mDNSlocal mDNSBool SendGroupUpdates(mDNS *const m) in SendGroupUpdates() argument
3226 mDNSu8 *next = m->omsg.data; in SendGroupUpdates()
3230 AuthRecord *startRR = m->ResourceRecords; in SendGroupUpdates()
3264 AuthInfo = GetAuthInfoForName_internal(m, rr->zone); in SendGroupUpdates()
3272 next = m->omsg.data; in SendGroupUpdates()
3273 spaceleft -= RRAdditionalSize(m, AuthInfo); in SendGroupUpdates()
3277 RRMergeFailure(m); in SendGroupUpdates()
3283 msgid = mDNS_NewMessageID(m); in SendGroupUpdates()
3284 InitializeDNSMessage(&m->omsg.h, msgid, UpdateReqFlags); in SendGroupUpdates()
3294 RRMergeFailure(m); in SendGroupUpdates()
3297 … next = putZone(&m->omsg, next, limit, rr->zone, mDNSOpaque16fromIntVal(rr->resrec.rrclass)); in SendGroupUpdates()
3301 RRMergeFailure(m); in SendGroupUpdates()
3315 …roupUpdates: Skipping message %s, spaceleft %d, rrSize %d", ARDisplayString(m, rr), spaceleft, rrS… in SendGroupUpdates()
3320 rr->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in SendGroupUpdates()
3327 …s and sending using %s, spaceleft %d, rrSize %d", nrecords, ARDisplayString(m, anchorRR), spacelef… in SendGroupUpdates()
3328 SendGroupRRMessage(m, anchorRR, next, AuthInfo); in SendGroupUpdates()
3334 …essage with resource record %s, next %p, state %d, ttl %d", ARDisplayString(m, rr), next, rr->stat… in SendGroupUpdates()
3335 if (!(next = BuildUpdateMessage(m, next, rr, limit))) in SendGroupUpdates()
3339 … LogMsg("SendGroupUpdates: ptr NULL while building message with %s", ARDisplayString(m, rr)); in SendGroupUpdates()
3340 RRMergeFailure(m); in SendGroupUpdates()
3345 …imation is wrong for %s, Estimate %d, Actual %d, state %d", ARDisplayString(m, rr), rrSize, next -… in SendGroupUpdates()
3356 SetRecordRetry(m, rr, 0); in SendGroupUpdates()
3364 …SendGroupUpdates: Parsed %d records and sending using %s", nrecords, ARDisplayString(m, anchorRR)); in SendGroupUpdates()
3365 SendGroupRRMessage(m, anchorRR, next, AuthInfo); in SendGroupUpdates()
3372 mDNSlocal void CheckGroupRecordUpdates(mDNS *const m) in CheckGroupRecordUpdates() argument
3376 while (MarkRRForSending(m)) in CheckGroupRecordUpdates()
3378 if (!SendGroupUpdates(m)) in CheckGroupRecordUpdates()
3381 for (rr = m->ResourceRecords; rr; rr = nextRR) in CheckGroupRecordUpdates()
3390 if (rr->LastAPTime + rr->ThisAPInterval - m->timenow > 0) in CheckGroupRecordUpdates()
3391 …CheckGroupRecordUpdates: ERROR!! Resourcerecord %s not ready", ARDisplayString(m, rr)); continue; } in CheckGroupRecordUpdates()
3393 SendRecordRegistration(m, rr); in CheckGroupRecordUpdates()
3403 mDNSlocal void hndlSRVChanged(mDNS *const m, AuthRecord *rr) in hndlSRVChanged() argument
3408 const domainname *target = GetServiceTarget(m, rr); in hndlSRVChanged()
3429 rr->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in hndlSRVChanged()
3454 UpdateOneSRVRecord(m, rr); in hndlSRVChanged()
3466 mDNSlocal void hndlRecordUpdateReply(mDNS *m, AuthRecord *rr, mStatus err, mDNSu32 random) in hndlRecordUpdateReply() argument
3471 mDNS_CheckLock(m); in hndlRecordUpdateReply()
3473 …rr %d ID %d state %d %s(%p)", err, mDNSVal16(rr->updateid), rr->state, ARDisplayString(m, rr), rr); in hndlRecordUpdateReply()
3477 …tatus_BadSig || err == mStatus_BadKey || err == mStatus_BadTime) UpdateAutoTunnelDomainStatuses(m); in hndlRecordUpdateReply()
3480 SetRecordRetry(m, rr, random); in hndlRecordUpdateReply()
3500 …ARDisplayString(m, rr), rr->nta->question.qname.c, DNSTypeName(rr->nta->question.qtype), rr->nta->… in hndlRecordUpdateReply()
3502 CancelGetZoneData(m, rr->nta); in hndlRecordUpdateReply()
3514 CompleteDeregistration(m, rr); in hndlRecordUpdateReply()
3522 if (m->SleepState) in hndlRecordUpdateReply()
3536 if (rr->UpdateCallback) rr->UpdateCallback(m, rr, rr->OrigRData, rr->OrigRDLen); in hndlRecordUpdateReply()
3545 hndlSRVChanged(m, rr); in hndlRecordUpdateReply()
3550 …rdUpdateReply: ResourceRecord %s not in DeregPending state %d", ARDisplayString(m, rr), rr->state); in hndlRecordUpdateReply()
3572 rr->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in hndlRecordUpdateReply()
3573 SetNextuDNSEvent(m, rr); in hndlRecordUpdateReply()
3589 rr->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in hndlRecordUpdateReply()
3590 SetNextuDNSEvent(m, rr); in hndlRecordUpdateReply()
3601 rr->RecordCallback(m, rr, err); in hndlRecordUpdateReply()
3608 mDNSlocal void uDNS_ReceiveNATPMPPacket(mDNS *m, const mDNSInterfaceID InterfaceID, mDNSu8 *pkt, mD… in uDNS_ReceiveNATPMPPacket() argument
3625 for (n = m->NATTraversals; n; n=n->next) in uDNS_ReceiveNATPMPPacket()
3629 uDNS_SendNATMsg(m, n, mDNSfalse); in uDNS_ReceiveNATPMPPacket()
3632 m->NextScheduledNATOp = m->timenow; in uDNS_ReceiveNATPMPPacket()
3649 nat_elapsed = AddrReply->upseconds - m->LastNATupseconds; in uDNS_ReceiveNATPMPPacket()
3650 our_elapsed = (m->timenow - m->LastNATReplyLocalTime) / mDNSPlatformOneSecond; in uDNS_ReceiveNATPMPPacket()
3663 if (AddrReply->upseconds < m->LastNATupseconds || nat_elapsed + 2 < our_elapsed - our_elapsed/8) in uDNS_ReceiveNATPMPPacket()
3664 …och time check failed: assuming NAT gateway %#a rebooted", &m->Router); RecreateNATMappings(m, 0);… in uDNS_ReceiveNATPMPPacket()
3666 m->LastNATupseconds = AddrReply->upseconds; in uDNS_ReceiveNATPMPPacket()
3667 m->LastNATReplyLocalTime = m->timenow; in uDNS_ReceiveNATPMPPacket()
3669 LNT_ClearState(m); in uDNS_ReceiveNATPMPPacket()
3677 …mDNSASLLog((uuid_t *)&m->asl_uuid, "natt.natpmp.AddressRequest", AddrReply->err ? "failure" : "suc… in uDNS_ReceiveNATPMPPacket()
3680 natTraversalHandleAddressReply(m, AddrReply->err, AddrReply->ExtAddr); in uDNS_ReceiveNATPMPPacket()
3688 …mDNSASLLog((uuid_t *)&m->asl_uuid, "natt.natpmp.PortMapRequest", PortMapReply->err ? "failure" : "… in uDNS_ReceiveNATPMPPacket()
3699 m->LastNATMapResultCode = PortMapReply->err; in uDNS_ReceiveNATPMPPacket()
3701 for (ptr = m->NATTraversals; ptr; ptr=ptr->next) in uDNS_ReceiveNATPMPPacket()
3703 …natTraversalHandlePortMapReply(m, ptr, InterfaceID, PortMapReply->err, PortMapReply->extport, Port… in uDNS_ReceiveNATPMPPacket()
3708 …if (m->SSDPSocket) { debugf("uDNS_ReceiveNATPMPPacket destroying SSDPSocket %p", &m->SSDPSocket); … in uDNS_ReceiveNATPMPPacket()
3711 mDNSlocal void uDNS_ReceivePCPPacket(mDNS *m, const mDNSInterfaceID InterfaceID, mDNSu8 *pkt, mDNSu… in uDNS_ReceivePCPPacket() argument
3716 mDNSBool checkEpochValidity = m->LastNATupseconds != 0; in uDNS_ReceivePCPPacket()
3742 client_delta = (m->timenow - m->LastNATReplyLocalTime) / mDNSPlatformOneSecond; in uDNS_ReceivePCPPacket()
3743 server_delta = reply->epoch - m->LastNATupseconds; in uDNS_ReceivePCPPacket()
3747 m->LastNATupseconds = reply->epoch ? reply->epoch : 1; in uDNS_ReceivePCPPacket()
3748 m->LastNATReplyLocalTime = m->timenow; in uDNS_ReceivePCPPacket()
3751 LNT_ClearState(m); in uDNS_ReceivePCPPacket()
3755 …if (m->SSDPSocket) { debugf("uDNS_ReceivePCPPacket: destroying SSDPSocket %p", &m->SSDPSocket); mD… in uDNS_ReceivePCPPacket()
3762 …LogMsg("uDNS_ReceivePCPPacket: Epoch invalid, %#a likely rebooted, waiting %u ticks", &m->Router, … in uDNS_ReceivePCPPacket()
3763 RecreateNATMappings(m, waitTicks); in uDNS_ReceivePCPPacket()
3773 m->LastNATMapResultCode = reply->result; in uDNS_ReceivePCPPacket()
3784 …if (reply->nonce[0] != m->PCPNonce[0] || reply->nonce[1] != m->PCPNonce[1] || reply->nonce[2] != m in uDNS_ReceivePCPPacket()
3788 m->PCPNonce[0], m->PCPNonce[1], m->PCPNonce[2]); in uDNS_ReceivePCPPacket()
3831 for (ptr = m->NATTraversals; ptr; ptr=ptr->next) in uDNS_ReceivePCPPacket()
3837 …natTraversalHandlePortMapReplyWithAddress(m, ptr, InterfaceID, reply->result ? NATErr_NetFail : NA… in uDNS_ReceivePCPPacket()
3842 mDNSexport void uDNS_ReceiveNATPacket(mDNS *m, const mDNSInterfaceID InterfaceID, mDNSu8 *pkt, mDNS… in uDNS_ReceiveNATPacket() argument
3847 uDNS_ReceivePCPPacket(m, InterfaceID, pkt, len); in uDNS_ReceiveNATPacket()
3849 uDNS_ReceiveNATPMPPacket(m, InterfaceID, pkt, len); in uDNS_ReceiveNATPacket()
3922 mDNSlocal mDNSBool uDNS_ReceiveTestQuestionResponse(mDNS *const m, DNSMessage *const msg, const mDN… in uDNS_ReceiveTestQuestionResponse() argument
3945 for (s = m->DNSServers; s; s = s->next) in uDNS_ReceiveTestQuestionResponse()
3969 for (q = m->Questions; q; q=q->next) in uDNS_ReceiveTestQuestionResponse()
3974 q->LastQTime = m->timenow - q->ThisQInterval; in uDNS_ReceiveTestQuestionResponse()
3975 m->NextScheduledQuery = m->timenow; in uDNS_ReceiveTestQuestionResponse()
3984 mDNSexport void uDNS_ReceiveMsg(mDNS *const m, DNSMessage *const msg, const mDNSu8 *const end, cons… in uDNS_ReceiveMsg() argument
4007 if (uDNS_ReceiveTestQuestionResponse(m, msg, end, srcaddr, srcport)) return; in uDNS_ReceiveMsg()
4008 for (qptr = m->Questions; qptr; qptr = qptr->next) in uDNS_ReceiveMsg()
4009 …lags.b[0] & kDNSFlag0_TC && mDNSSameOpaque16(qptr->TargetQID, msg->h.id) && m->timenow - qptr->Las… in uDNS_ReceiveMsg()
4018 …qptr->tcp = MakeTCPConn(m, mDNSNULL, mDNSNULL, kTCPSocketFlags_Zero, srcaddr, srcport, mDNSNULL, q… in uDNS_ReceiveMsg()
4025 mDNSu32 lease = GetPktLease(m, msg, end); in uDNS_ReceiveMsg()
4026 mDNSs32 expire = m->timenow + (mDNSs32)lease * mDNSPlatformOneSecond; in uDNS_ReceiveMsg()
4033 if (m->CurrentRecord) in uDNS_ReceiveMsg()
4034 …LogMsg("uDNS_ReceiveMsg ERROR m->CurrentRecord already set %s", ARDisplayString(m, m->CurrentRecor… in uDNS_ReceiveMsg()
4035 m->CurrentRecord = m->ResourceRecords; in uDNS_ReceiveMsg()
4036 while (m->CurrentRecord) in uDNS_ReceiveMsg()
4038 AuthRecord *rptr = m->CurrentRecord; in uDNS_ReceiveMsg()
4039 m->CurrentRecord = m->CurrentRecord->next; in uDNS_ReceiveMsg()
4042 err = checkUpdateResult(m, rptr->resrec.name, rcode, msg, end); in uDNS_ReceiveMsg()
4051 hndlRecordUpdateReply(m, rptr, err, random); in uDNS_ReceiveMsg()
4063 mDNSexport void sendLLQRefresh(mDNS *m, DNSQuestion *q) in sendLLQRefresh() argument
4067 mDNSu8 *limit = m->omsg.data + AbsoluteMaxDNSMessageData; in sendLLQRefresh()
4070 … if ((q->state == LLQ_Established && q->ntries >= kLLQ_MAX_TRIES) || q->expire - m->timenow < 0) in sendLLQRefresh()
4073 StartLLQPolling(m,q); in sendLLQRefresh()
4079 …llq.err = q->tcp ? GetLLQEventPort(m, &q->servAddr) : LLQErr_NoError; // If using TCP tell s… in sendLLQRefresh()
4083 InitializeDNSMessage(&m->omsg.h, q->TargetQID, uQueryFlags); in sendLLQRefresh()
4084 end = putLLQ(&m->omsg, m->omsg.data, q, &llq); in sendLLQRefresh()
4089 end = putHINFO(m, &m->omsg, end, q->AuthInfo, limit); in sendLLQRefresh()
4094 DNSDigest_SignMessageHostByteOrder(&m->omsg, &end, q->AuthInfo); in sendLLQRefresh()
4108 q->nta = StartGetZoneData(m, &q->qname, ZoneServiceLLQ, LLQGotZoneData, q); in sendLLQRefresh()
4114 …q->tcp = MakeTCPConn(m, &m->omsg, end, kTCPSocketFlags_UseTLS, &q->servAddr, q->servPort, &q->nta-… in sendLLQRefresh()
4125 …err = mDNSSendDNSMessage(m, &m->omsg, end, mDNSInterface_Any, q->LocalSocket, &q->servAddr, q->ser… in sendLLQRefresh()
4137 q->LastQTime = m->timenow; in sendLLQRefresh()
4138 SetNextQueryTime(m, q); in sendLLQRefresh()
4141 mDNSexport void LLQGotZoneData(mDNS *const m, mStatus err, const ZoneData *zoneInfo) in LLQGotZoneData() argument
4145 mDNS_Lock(m); in LLQGotZoneData()
4164 CancelGetZoneData(m, q->nta); in LLQGotZoneData()
4170 startLLQHandshake(m, q); in LLQGotZoneData()
4177 CancelGetZoneData(m, q->nta); in LLQGotZoneData()
4180 StartLLQPolling(m,q); in LLQGotZoneData()
4189 mDNS_Unlock(m); in LLQGotZoneData()
4193 mDNSlocal void PrivateQueryGotZoneData(mDNS *const m, mStatus err, const ZoneData *zoneInfo) in PrivateQueryGotZoneData() argument
4207 CancelGetZoneData(m, q->nta); in PrivateQueryGotZoneData()
4217 q->LastQTime = m->timenow - q->ThisQInterval; in PrivateQueryGotZoneData()
4218 CancelGetZoneData(m, q->nta); in PrivateQueryGotZoneData()
4220 mDNS_Lock(m); in PrivateQueryGotZoneData()
4221 SetNextQueryTime(m, q); in PrivateQueryGotZoneData()
4222 mDNS_Unlock(m); in PrivateQueryGotZoneData()
4230 CancelGetZoneData(m, q->nta); in PrivateQueryGotZoneData()
4235 q->TargetQID = mDNS_NewMessageID(m); in PrivateQueryGotZoneData()
4238 …q->tcp = MakeTCPConn(m, mDNSNULL, mDNSNULL, kTCPSocketFlags_UseTLS, &zoneInfo->Addr, zoneInfo->Por… in PrivateQueryGotZoneData()
4239 if (q->nta) { CancelGetZoneData(m, q->nta); q->nta = mDNSNULL; } in PrivateQueryGotZoneData()
4248 mDNSexport void RecordRegistrationGotZoneData(mDNS *const m, mStatus err, const ZoneData *zoneData) in RecordRegistrationGotZoneData() argument
4257 if (m->mDNS_busy != m->mDNS_reentrancy) in RecordRegistrationGotZoneData()
4258 …dRegistrationGotZoneData: mDNS_busy (%ld) != mDNS_reentrancy (%ld)", m->mDNS_busy, m->mDNS_reentra… in RecordRegistrationGotZoneData()
4261 for (ptr = m->ResourceRecords; ptr; ptr = ptr->next) if (ptr == newRR) break; in RecordRegistrationGotZoneData()
4265 CancelGetZoneData(m, newRR->nta); in RecordRegistrationGotZoneData()
4274 CancelGetZoneData(m, newRR->nta); in RecordRegistrationGotZoneData()
4284 CancelGetZoneData(m, newRR->nta); in RecordRegistrationGotZoneData()
4295 CancelGetZoneData(m, newRR->nta); in RecordRegistrationGotZoneData()
4306 CancelGetZoneData(m, newRR->nta); in RecordRegistrationGotZoneData()
4314 CancelGetZoneData(m, newRR->nta); in RecordRegistrationGotZoneData()
4322 CancelGetZoneData(m, newRR->nta); in RecordRegistrationGotZoneData()
4334 mDNS_Lock(m); in RecordRegistrationGotZoneData()
4335 uDNS_DeregisterRecord(m, newRR); in RecordRegistrationGotZoneData()
4336 mDNS_Unlock(m); in RecordRegistrationGotZoneData()
4345 mDNS_Lock(m); in RecordRegistrationGotZoneData()
4346 target = GetServiceTarget(m, newRR); in RecordRegistrationGotZoneData()
4347 mDNS_Unlock(m); in RecordRegistrationGotZoneData()
4355 CancelGetZoneData(m, newRR->nta); in RecordRegistrationGotZoneData()
4365 …mDNSv4AddrIsRFC1918(&m->AdvertisedV4.ip.v4) && newRR->nta && !mDNSAddrIsRFC1918(&newRR->nta->Addr)… in RecordRegistrationGotZoneData()
4369 AuthInfo = GetAuthInfoForName(m, newRR->resrec.name); in RecordRegistrationGotZoneData()
4373 …onGotZoneData: ERROR!! AutoTunnel has Target_AutoHostAndNATMAP for %s", ARDisplayString(m, newRR)); in RecordRegistrationGotZoneData()
4377 CancelGetZoneData(m, newRR->nta); in RecordRegistrationGotZoneData()
4385 … LogInfo("RecordRegistrationGotZoneData StartRecordNatMap %s", ARDisplayString(m, newRR)); in RecordRegistrationGotZoneData()
4387 StartRecordNatMap(m, newRR); in RecordRegistrationGotZoneData()
4390 …tZoneData: StartRecordNatMap for %s, state %d, context %p", ARDisplayString(m, newRR), newRR->stat… in RecordRegistrationGotZoneData()
4392 mDNS_Lock(m); in RecordRegistrationGotZoneData()
4401 newRR->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in RecordRegistrationGotZoneData()
4403 if (IsRecordMergeable(m, newRR, m->timenow + MERGE_DELAY_TIME)) in RecordRegistrationGotZoneData()
4407 … LogInfo("RecordRegistrationGotZoneData: Delayed registration for %s", ARDisplayString(m, newRR)); in RecordRegistrationGotZoneData()
4410 mDNS_Unlock(m); in RecordRegistrationGotZoneData()
4413 mDNSlocal void SendRecordDeregistration(mDNS *m, AuthRecord *rr) in SendRecordDeregistration() argument
4415 mDNSu8 *ptr = m->omsg.data; in SendRecordDeregistration()
4419 mDNS_CheckLock(m); in SendRecordDeregistration()
4423 …ration: No zone info for Resource record %s RecordType %d", ARDisplayString(m, rr), rr->resrec.Rec… in SendRecordDeregistration()
4428 AuthInfo = GetAuthInfoForName_internal(m, rr->resrec.name); in SendRecordDeregistration()
4429 limit -= RRAdditionalSize(m, AuthInfo); in SendRecordDeregistration()
4431 rr->updateid = mDNS_NewMessageID(m); in SendRecordDeregistration()
4432 InitializeDNSMessage(&m->omsg.h, rr->updateid, UpdateReqFlags); in SendRecordDeregistration()
4435 ptr = putZone(&m->omsg, ptr, limit, rr->zone, mDNSOpaque16fromIntVal(rr->resrec.rrclass)); in SendRecordDeregistration()
4438 ptr = BuildUpdateMessage(m, ptr, rr, limit); in SendRecordDeregistration()
4444 LogInfo("SendRecordDeregistration TCP %p %s", rr->tcp, ARDisplayString(m, rr)); in SendRecordDeregistration()
4445 …Info("SendRecordDeregistration: Disposing existing TCP connection for %s", ARDisplayString(m, rr)); in SendRecordDeregistration()
4447 …g("SendRecordDeregistration:Private:ERROR!! nta is NULL for %s", ARDisplayString(m, rr)); return; } in SendRecordDeregistration()
4448 …rr->tcp = MakeTCPConn(m, &m->omsg, ptr, kTCPSocketFlags_UseTLS, &rr->nta->Addr, rr->nta->Port, &rr… in SendRecordDeregistration()
4453 LogInfo("SendRecordDeregistration UDP %s", ARDisplayString(m, rr)); in SendRecordDeregistration()
4454 … { LogMsg("SendRecordDeregistration:ERROR!! nta is NULL for %s", ARDisplayString(m, rr)); return; } in SendRecordDeregistration()
4455 …DNSSendDNSMessage(m, &m->omsg, ptr, mDNSInterface_Any, mDNSNULL, &rr->nta->Addr, rr->nta->Port, mD… in SendRecordDeregistration()
4459 SetRecordRetry(m, rr, 0); in SendRecordDeregistration()
4462 LogMsg("SendRecordDeregistration: Error formatting message for %s", ARDisplayString(m, rr)); in SendRecordDeregistration()
4465 mDNSexport mStatus uDNS_DeregisterRecord(mDNS *const m, AuthRecord *const rr) in uDNS_DeregisterRecord() argument
4469 … LogInfo("uDNS_DeregisterRecord: Resource Record %s, state %d", ARDisplayString(m, rr), rr->state); in uDNS_DeregisterRecord()
4491 if (rr->resrec.RecordType == kDNSRecordTypeDeregistering) CompleteDeregistration(m, rr); in uDNS_DeregisterRecord()
4513 LogInfo("uDNS_DeregisterRecord: Freeing InFlightRData for %s", ARDisplayString(m, rr)); in uDNS_DeregisterRecord()
4514 rr->UpdateCallback(m, rr, rr->InFlightRData, rr->InFlightRDLen); in uDNS_DeregisterRecord()
4518 … LogInfo("uDNS_DeregisterRecord: InFlightRData same as rdata for %s", ARDisplayString(m, rr)); in uDNS_DeregisterRecord()
4524 … LogMsg("uDNS_DeregisterRecord: ERROR!! QueuedRData same as rdata for %s", ARDisplayString(m, rr)); in uDNS_DeregisterRecord()
4527 LogInfo("uDNS_DeregisterRecord: Freeing QueuedRData for %s", ARDisplayString(m, rr)); in uDNS_DeregisterRecord()
4528 rr->UpdateCallback(m, rr, rr->QueuedRData, rr->QueuedRDLen); in uDNS_DeregisterRecord()
4550 for (anchorRR = m->ResourceRecords; anchorRR; anchorRR = anchorRR->next) in uDNS_DeregisterRecord()
4554 … LogInfo("uDNS_DeregisterRecord: Found Anchor RR %s terminated", ARDisplayString(m, anchorRR)); in uDNS_DeregisterRecord()
4556 … LogMsg("uDNS_DeregisterRecord: ERROR: Another anchorRR %s found", ARDisplayString(m, anchorRR)); in uDNS_DeregisterRecord()
4562 …isterRecord: Cannot find the anchor Resource Record for %s, not an error", ARDisplayString(m, rr)); in uDNS_DeregisterRecord()
4569 rr->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in uDNS_DeregisterRecord()
4570 info = GetAuthInfoForName_internal(m, rr->resrec.name); in uDNS_DeregisterRecord()
4571 if (IsRecordMergeable(m, rr, m->timenow + MERGE_DELAY_TIME)) in uDNS_DeregisterRecord()
4584 if (m->NextuDNSEvent - (rr->LastAPTime + rr->ThisAPInterval) >= 0) in uDNS_DeregisterRecord()
4585 m->NextuDNSEvent = (rr->LastAPTime + rr->ThisAPInterval); in uDNS_DeregisterRecord()
4590 mDNSexport mStatus uDNS_UpdateRecord(mDNS *m, AuthRecord *rr) in uDNS_UpdateRecord() argument
4603 if (rr->UpdateCallback) rr->UpdateCallback(m, rr, rr->resrec.rdata, rr->resrec.rdlength); in uDNS_UpdateRecord()
4614 rr->UpdateCallback(m, rr, rr->QueuedRData, rr->QueuedRDLen); in uDNS_UpdateRecord()
4628 rr->LastAPTime = m->timenow - INIT_RECORD_REG_INTERVAL; in uDNS_UpdateRecord()
4629 SetNextuDNSEvent(m, rr); in uDNS_UpdateRecord()
4650 mDNSlocal void handle_unanswered_query(mDNS *const m) in handle_unanswered_query() argument
4652 DNSQuestion *q = m->CurrentQuestion; in handle_unanswered_query()
4693 mDNSexport void uDNS_CheckCurrentQuestion(mDNS *const m) in uDNS_CheckCurrentQuestion() argument
4695 DNSQuestion *q = m->CurrentQuestion; in uDNS_CheckCurrentQuestion()
4696 if (m->timenow - NextQSendTime(q) < 0) return; in uDNS_CheckCurrentQuestion()
4702 case LLQ_InitialRequest: startLLQHandshake(m, q); break; in uDNS_CheckCurrentQuestion()
4706 startLLQHandshake(m, q); in uDNS_CheckCurrentQuestion()
4708 sendChallengeResponse(m, q, mDNSNULL); in uDNS_CheckCurrentQuestion()
4710 case LLQ_Established: sendLLQRefresh(m, q); break; in uDNS_CheckCurrentQuestion()
4715 handle_unanswered_query(m); in uDNS_CheckCurrentQuestion()
4726 PenalizeDNSServer(m, q, zeroID); in uDNS_CheckCurrentQuestion()
4749 SetValidDNSServers(m, q); in uDNS_CheckCurrentQuestion()
4750 new = GetServerForQuestion(m, q); in uDNS_CheckCurrentQuestion()
4756 DNSServerChangeForQuestion(m, q, new); in uDNS_CheckCurrentQuestion()
4763 mDNSu8 *end = m->omsg.data; in uDNS_CheckCurrentQuestion()
4767 … InitializeDNSMessage(&m->omsg.h, q->TargetQID, (DNSSECQuestion(q) ? DNSSecQFlags : uQueryFlags)); in uDNS_CheckCurrentQuestion()
4771 …end = putQuestion(&m->omsg, m->omsg.data, m->omsg.data + AbsoluteMaxDNSMessageData, &q->qname, q->… in uDNS_CheckCurrentQuestion()
4775 …end = DNSProxySetAttributes(q, &m->omsg.h, &m->omsg, end, m->omsg.data + AbsoluteMaxDNSMessageData… in uDNS_CheckCurrentQuestion()
4777 … end = putDNSSECOption(&m->omsg, end, m->omsg.data + AbsoluteMaxDNSMessageData); in uDNS_CheckCurrentQuestion()
4781 …else if (m->timenow - q->qDNSServer->lasttest >= INIT_UCAST_POLL_INTERVAL) // Make sure at least … in uDNS_CheckCurrentQuestion()
4785 q->qDNSServer->lasttest = m->timenow; in uDNS_CheckCurrentQuestion()
4786 …end = putQuestion(&m->omsg, m->omsg.data, m->omsg.data + AbsoluteMaxDNSMessageData, DNSRelayTestQu… in uDNS_CheckCurrentQuestion()
4787 q->qDNSServer->testid = m->omsg.h.id; in uDNS_CheckCurrentQuestion()
4790 … if (end > m->omsg.data && (q->qDNSServer->teststate != DNSServer_Failed || NoTestQuery(q))) in uDNS_CheckCurrentQuestion()
4795 if (q->nta) CancelGetZoneData(m, q->nta); in uDNS_CheckCurrentQuestion()
4796 …q->nta = StartGetZoneData(m, &q->qname, q->LongLived ? ZoneServiceLLQ : ZoneServiceQuery, PrivateQ… in uDNS_CheckCurrentQuestion()
4806 q->LocalSocket = mDNSPlatformUDPSocket(m, zeroIPPort); in uDNS_CheckCurrentQuestion()
4811 …else err = mDNSSendDNSMessage(m, &m->omsg, end, q->qDNSServer->interface, q->LocalSocket, &q->qDNS… in uDNS_CheckCurrentQuestion()
4840 q->LastQTime = m->timenow; in uDNS_CheckCurrentQuestion()
4841 SetNextQueryTime(m, q); in uDNS_CheckCurrentQuestion()
4855 CacheGroup *const cg = CacheGroupForName(m, slot, q->qnamehash, &q->qname); in uDNS_CheckCurrentQuestion()
4866 SetValidDNSServers(m, q); in uDNS_CheckCurrentQuestion()
4879 q->LastQTime = m->timenow; in uDNS_CheckCurrentQuestion()
4880 SetNextQueryTime(m, q); in uDNS_CheckCurrentQuestion()
4883 q->qDNSServer = GetServerForQuestion(m, q); in uDNS_CheckCurrentQuestion()
4906 … LogInfo("uDNS_CheckCurrentQuestion: Purged resourcerecord %s", CRDisplayString(m, rr)); in uDNS_CheckCurrentQuestion()
4907 mDNS_PurgeCacheResourceRecord(m, rr); in uDNS_CheckCurrentQuestion()
4914 …MakeNegativeCacheRecord(m, &m->rec.r, &q->qname, q->qnamehash, q->qtype, q->qclass, (DomainEnumQue… in uDNS_CheckCurrentQuestion()
4917 m->rec.r.responseFlags = q->responseFlags; in uDNS_CheckCurrentQuestion()
4921 CreateNewCacheEntry(m, slot, cg, NonZeroTime(m->timenow), mDNStrue, mDNSNULL); in uDNS_CheckCurrentQuestion()
4922 ScheduleNextCacheCheckTime(m, slot, NonZeroTime(m->timenow)); in uDNS_CheckCurrentQuestion()
4923 m->rec.r.responseFlags = zeroID; in uDNS_CheckCurrentQuestion()
4924 m->rec.r.resrec.RecordType = 0; // Clear RecordType to show we're not still using it in uDNS_CheckCurrentQuestion()
4930 mDNSexport void CheckNATMappings(mDNS *m) in CheckNATMappings() argument
4932 mDNSBool rfc1918 = mDNSv4AddrIsRFC1918(&m->AdvertisedV4.ip.v4); in CheckNATMappings()
4933 mDNSBool HaveRoutable = !rfc1918 && !mDNSIPv4AddressIsZero(m->AdvertisedV4.ip.v4); in CheckNATMappings()
4934 m->NextScheduledNATOp = m->timenow + 0x3FFFFFFF; in CheckNATMappings()
4936 if (HaveRoutable) m->ExtAddress = m->AdvertisedV4.ip.v4; in CheckNATMappings()
4938 …if (m->NATTraversals && rfc1918) // Do we need to open a socket to receive multicast an… in CheckNATMappings()
4940 …if (m->NATMcastRecvskt == mDNSNULL) // If we are behind a NAT and the socket hasn't been opene… in CheckNATMappings()
4944 m->NATMcastRecvskt = mDNSPlatformUDPSocket(m, NATPMPAnnouncementPort); in CheckNATMappings()
4945 if (!m->NATMcastRecvskt) in CheckNATMappings()
4959 …if (m->NATMcastRecvskt) { mDNSPlatformUDPClose(m->NATMcastRecvskt); m->NATMcastRecvskt = mDNSNULL;… in CheckNATMappings()
4960 …if (m->SSDPSocket) { debugf("CheckNATMappings destroying SSDPSocket %p", &m->SSDPSocket); mDN… in CheckNATMappings()
4963 uDNS_RequestAddress(m); in CheckNATMappings()
4965 if (m->CurrentNATTraversal) LogMsg("WARNING m->CurrentNATTraversal already in use"); in CheckNATMappings()
4966 m->CurrentNATTraversal = m->NATTraversals; in CheckNATMappings()
4968 while (m->CurrentNATTraversal) in CheckNATMappings()
4970 NATTraversalInfo *cur = m->CurrentNATTraversal; in CheckNATMappings()
4971 mDNSv4Addr EffectiveAddress = HaveRoutable ? m->AdvertisedV4.ip.v4 : cur->NewAddress; in CheckNATMappings()
4972 m->CurrentNATTraversal = m->CurrentNATTraversal->next; in CheckNATMappings()
4981 … if (m->timenow - cur->retryPortMap >= 0) // Time to send a mapping request for this packet in CheckNATMappings()
4983 if (cur->ExpiryTime && cur->ExpiryTime - m->timenow < 0) // Mapping has expired in CheckNATMappings()
4989 … (void)uDNS_SendNATMsg(m, cur, mDNStrue); // Will also do UPnP discovery for us, if necessary in CheckNATMappings()
4992 NATSetNextRenewalTime(m, cur); in CheckNATMappings()
4998 cur->retryPortMap = m->timenow + cur->retryInterval; in CheckNATMappings()
5002 if (m->NextScheduledNATOp - cur->retryPortMap > 0) in CheckNATMappings()
5004 m->NextScheduledNATOp = cur->retryPortMap; in CheckNATMappings()
5042 … if (cur->Protocol && mDNSIPPortIsZero(ExternalPort) && !mDNSIPv4AddressIsZero(m->Router.ip.v4)) in CheckNATMappings()
5046 … cur, &m->Router, &EffectiveAddress, mDNSVal16(cur->IntPort), cur->retryInterval, EffectiveResult); in CheckNATMappings()
5049 … cur, &m->Router, &EffectiveAddress, mDNSVal16(cur->IntPort), cur->retryInterval, EffectiveResult); in CheckNATMappings()
5055 … (cur->ExpiryTime - m->timenow + mDNSPlatformOneSecond/2) / mDNSPlatformOneSecond : 0; in CheckNATMappings()
5059 cur->clientCallback(m, cur); in CheckNATMappings()
5068 mDNSlocal mDNSs32 CheckRecordUpdates(mDNS *m) in CheckRecordUpdates() argument
5071 mDNSs32 nextevent = m->timenow + 0x3FFFFFFF; in CheckRecordUpdates()
5073 CheckGroupRecordUpdates(m); in CheckRecordUpdates()
5075 for (rr = m->ResourceRecords; rr; rr = rr->next) in CheckRecordUpdates()
5085 if (rr->LastAPTime + rr->ThisAPInterval - m->timenow <= 0) in CheckRecordUpdates()
5092 if (rr->nta) { rr->updateid = zeroID; CancelGetZoneData(m, rr->nta); } in CheckRecordUpdates()
5093 …rr->nta = StartGetZoneData(m, rr->resrec.name, ZoneServiceUpdate, RecordRegistrationGotZoneData, r… in CheckRecordUpdates()
5112 SetRecordRetry(m, rr, 0); in CheckRecordUpdates()
5114 else if (rr->state == regState_DeregPending) SendRecordDeregistration(m, rr); in CheckRecordUpdates()
5115 else SendRecordRegistration(m, rr); in CheckRecordUpdates()
5124 mDNSexport void uDNS_Tasks(mDNS *const m) in uDNS_Tasks() argument
5129 m->NextuDNSEvent = m->timenow + 0x3FFFFFFF; in uDNS_Tasks()
5131 nexte = CheckRecordUpdates(m); in uDNS_Tasks()
5132 if (m->NextuDNSEvent - nexte > 0) in uDNS_Tasks()
5133 m->NextuDNSEvent = nexte; in uDNS_Tasks()
5135 for (d = m->DNSServers; d; d=d->next) in uDNS_Tasks()
5138 if (m->timenow - d->penaltyTime >= 0) in uDNS_Tasks()
5144 if (m->NextuDNSEvent - d->penaltyTime > 0) in uDNS_Tasks()
5145 m->NextuDNSEvent = d->penaltyTime; in uDNS_Tasks()
5148 if (m->CurrentQuestion) in uDNS_Tasks()
5149 …asks ERROR m->CurrentQuestion already set: %##s (%s)", m->CurrentQuestion->qname.c, DNSTypeName(m-… in uDNS_Tasks()
5150 m->CurrentQuestion = m->Questions; in uDNS_Tasks()
5151 while (m->CurrentQuestion && m->CurrentQuestion != m->NewQuestions) in uDNS_Tasks()
5153 DNSQuestion *const q = m->CurrentQuestion; in uDNS_Tasks()
5156 uDNS_CheckCurrentQuestion(m); in uDNS_Tasks()
5157 if (q == m->CurrentQuestion) in uDNS_Tasks()
5158 if (m->NextuDNSEvent - NextQSendTime(q) > 0) in uDNS_Tasks()
5159 m->NextuDNSEvent = NextQSendTime(q); in uDNS_Tasks()
5164 if (m->CurrentQuestion == q) in uDNS_Tasks()
5165 m->CurrentQuestion = q->next; in uDNS_Tasks()
5167 m->CurrentQuestion = mDNSNULL; in uDNS_Tasks()
5175 mDNSexport void SleepRecordRegistrations(mDNS *m) in SleepRecordRegistrations() argument
5178 for (rr = m->ResourceRecords; rr; rr=rr->next) in SleepRecordRegistrations()
5184 … if (rr->nta) { rr->updateid = zeroID; CancelGetZoneData(m, rr->nta); rr->nta = mDNSNULL; } in SleepRecordRegistrations()
5188 mDNS_StopNATOperation_internal(m, &rr->NATinfo); in SleepRecordRegistrations()
5199 if (rr->UpdateCallback) rr->UpdateCallback(m, rr, rr->OrigRData, rr->OrigRDLen); in SleepRecordRegistrations()
5207 uDNS_DeregisterRecord(m, rr); in SleepRecordRegistrations()
5251 mDNSlocal void FreeARElemCallback(mDNS *const m, AuthRecord *const rr, mStatus result) in FreeARElemCallback() argument
5253 (void)m; // unused in FreeARElemCallback()
5257 mDNSlocal void FoundDomain(mDNS *const m, DNSQuestion *question, const ResourceRecord *const answer… in FoundDomain() argument
5274 …swer->InterfaceID, AddRecord ? "Add" : "Rmv", name, question->qname.c, RRDisplayString(m, answer)); in FoundDomain()
5284 LogInfo("FoundDomain: Registering %s", ARDisplayString(m, &arElem->ar)); in FoundDomain()
5285 err = mDNS_Register(m, &arElem->ar); in FoundDomain()
5299 LogInfo("FoundDomain: Deregistering %s", ARDisplayString(m, &dereg->ar)); in FoundDomain()
5300 err = mDNS_Deregister(m, &dereg->ar); in FoundDomain()
5313 mDNS *const m = v; in udns_validatelists() local
5316 for (n = m->NATTraversals; n; n=n->next) in udns_validatelists()
5321 for (d = m->DNSServers; d; d=d->next) in udns_validatelists()
5326 for (info = m->AuthInfoList; info; info = info->next) in udns_validatelists()
5331 for (hi = m->Hostnames; hi; hi = hi->next) in udns_validatelists()
5345 mDNSlocal void uDNS_DeleteWABQueries(mDNS *const m, SearchListElem *ptr, int delete) in uDNS_DeleteWABQueries() argument
5357 mDNS_StopGetDomains(m, &ptr->BrowseQ); in uDNS_DeleteWABQueries()
5358 mDNS_StopGetDomains(m, &ptr->DefBrowseQ); in uDNS_DeleteWABQueries()
5363 mDNS_StopGetDomains(m, &ptr->AutomaticBrowseQ); in uDNS_DeleteWABQueries()
5367 mDNS_StopGetDomains(m, &ptr->RegisterQ); in uDNS_DeleteWABQueries()
5368 mDNS_StopGetDomains(m, &ptr->DefRegisterQ); in uDNS_DeleteWABQueries()
5399 err = mDNS_Deregister(m, &dereg->ar); in uDNS_DeleteWABQueries()
5411 mDNSexport void uDNS_SetupWABQueries(mDNS *const m) in uDNS_SetupWABQueries() argument
5423 mDNS_Lock(m); in uDNS_SetupWABQueries()
5424 if (!mDNSPlatformSetDNSConfig(m, mDNSfalse, mDNStrue, mDNSNULL, mDNSNULL, mDNSNULL, mDNSfalse)) in uDNS_SetupWABQueries()
5433 mDNS_Unlock(m); in uDNS_SetupWABQueries()
5435 if (m->WABBrowseQueriesCount) in uDNS_SetupWABQueries()
5437 if (m->WABLBrowseQueriesCount) in uDNS_SetupWABQueries()
5439 if (m->WABRegQueriesCount) in uDNS_SetupWABQueries()
5470 mDNS_StopGetDomains(m, &ptr->BrowseQ); in uDNS_SetupWABQueries()
5471 mDNS_StopGetDomains(m, &ptr->DefBrowseQ); in uDNS_SetupWABQueries()
5477 mDNS_StopGetDomains(m, &ptr->AutomaticBrowseQ); in uDNS_SetupWABQueries()
5483 mDNS_StopGetDomains(m, &ptr->RegisterQ); in uDNS_SetupWABQueries()
5484 mDNS_StopGetDomains(m, &ptr->DefRegisterQ); in uDNS_SetupWABQueries()
5495 err = mDNS_Deregister(m, &dereg->ar); in uDNS_SetupWABQueries()
5510 uDNS_DeleteWABQueries(m, ptr, UDNS_WAB_BROWSE_QUERY); in uDNS_SetupWABQueries()
5518 uDNS_DeleteWABQueries(m, ptr, UDNS_WAB_LBROWSE_QUERY); in uDNS_SetupWABQueries()
5526 uDNS_DeleteWABQueries(m, ptr, UDNS_WAB_REG_QUERY); in uDNS_SetupWABQueries()
5539 …err1 = mDNS_GetDomains(m, &ptr->BrowseQ, mDNS_DomainTypeBrowse, &ptr->domain… in uDNS_SetupWABQueries()
5549 …err2 = mDNS_GetDomains(m, &ptr->DefBrowseQ, mDNS_DomainTypeBrowseDefault, &ptr->domain… in uDNS_SetupWABQueries()
5576 …err1 = mDNS_GetDomains(m, &ptr->AutomaticBrowseQ, mDNS_DomainTypeBrowseAutomatic, &ptr->domain… in uDNS_SetupWABQueries()
5597 …err1 = mDNS_GetDomains(m, &ptr->RegisterQ, mDNS_DomainTypeRegistration, &ptr->domain… in uDNS_SetupWABQueries()
5607 …err2 = mDNS_GetDomains(m, &ptr->DefRegisterQ, mDNS_DomainTypeRegistrationDefault, &ptr->domain… in uDNS_SetupWABQueries()
5630 mDNSexport void uDNS_StartWABQueries(mDNS *const m, int queryType) in uDNS_StartWABQueries() argument
5634 m->WABBrowseQueriesCount++; in uDNS_StartWABQueries()
5635 LogInfo("uDNS_StartWABQueries: Browse query count %d", m->WABBrowseQueriesCount); in uDNS_StartWABQueries()
5639 m->WABLBrowseQueriesCount++; in uDNS_StartWABQueries()
5640 LogInfo("uDNS_StartWABQueries: Legacy Browse query count %d", m->WABLBrowseQueriesCount); in uDNS_StartWABQueries()
5644 m->WABRegQueriesCount++; in uDNS_StartWABQueries()
5645 LogInfo("uDNS_StartWABQueries: Reg query count %d", m->WABRegQueriesCount); in uDNS_StartWABQueries()
5647 uDNS_SetupWABQueries(m); in uDNS_StartWABQueries()
5652 mDNSexport void uDNS_StopWABQueries(mDNS *const m, int queryType) in uDNS_StopWABQueries() argument
5656 m->WABBrowseQueriesCount--; in uDNS_StopWABQueries()
5657 LogInfo("uDNS_StopWABQueries: Browse query count %d", m->WABBrowseQueriesCount); in uDNS_StopWABQueries()
5661 m->WABLBrowseQueriesCount--; in uDNS_StopWABQueries()
5662 LogInfo("uDNS_StopWABQueries: Legacy Browse query count %d", m->WABLBrowseQueriesCount); in uDNS_StopWABQueries()
5666 m->WABRegQueriesCount--; in uDNS_StopWABQueries()
5667 LogInfo("uDNS_StopWABQueries: Reg query count %d", m->WABRegQueriesCount); in uDNS_StopWABQueries()
5669 uDNS_SetupWABQueries(m); in uDNS_StopWABQueries()
5672 mDNSexport domainname *uDNS_GetNextSearchDomain(mDNS *const m, mDNSInterfaceID InterfaceID, mDNSs8… in uDNS_GetNextSearchDomain() argument
5676 (void) m; // unused in uDNS_GetNextSearchDomain()
5727 mDNSlocal void FlushAddressCacheRecords(mDNS *const m) in FlushAddressCacheRecords() argument
5741 LogInfo("FlushAddressCacheRecords: Purging Resourcerecord %s", CRDisplayString(m, cr)); in FlushAddressCacheRecords()
5742 mDNS_PurgeCacheResourceRecord(m, cr); in FlushAddressCacheRecords()
5748 mDNSexport void RetrySearchDomainQuestions(mDNS *const m) in RetrySearchDomainQuestions() argument
5755 for (q = m->Questions; q; q = q->next) in RetrySearchDomainQuestions()
5773 mDNSCoreRestartAddressQueries(m, mDNStrue, FlushAddressCacheRecords, mDNSNULL, mDNSNULL); in RetrySearchDomainQuestions()
5797 mDNSexport const domainname *GetServiceTarget(mDNS *m, AuthRecord *const rr) in GetServiceTarget() argument
5799 (void) m; in GetServiceTarget()
5805 mDNSexport DomainAuthInfo *GetAuthInfoForName_internal(mDNS *m, const domainname *const name) in GetAuthInfoForName_internal() argument
5807 (void) m; in GetAuthInfoForName_internal()
5813 mDNSexport DomainAuthInfo *GetAuthInfoForQuestion(mDNS *m, const DNSQuestion *const q) in GetAuthInfoForQuestion() argument
5815 (void) m; in GetAuthInfoForQuestion()
5821 mDNSexport void startLLQHandshake(mDNS *m, DNSQuestion *q) in startLLQHandshake() argument
5823 (void) m; in startLLQHandshake()
5832 mDNSexport mStatus mDNS_StartNATOperation_internal(mDNS *m, NATTraversalInfo *traversal) in mDNS_StartNATOperation_internal() argument
5834 (void) m; in mDNS_StartNATOperation_internal()
5840 mDNSexport mStatus mDNS_StopNATOperation_internal(mDNS *m, NATTraversalInfo *traversal) in mDNS_StopNATOperation_internal() argument
5842 (void) m; in mDNS_StopNATOperation_internal()
5848 mDNSexport void sendLLQRefresh(mDNS *m, DNSQuestion *q) in sendLLQRefresh() argument
5850 (void) m; in sendLLQRefresh()
5854 mDNSexport ZoneData *StartGetZoneData(mDNS *const m, const domainname *const name, const ZoneServic… in StartGetZoneData() argument
5856 (void) m; in StartGetZoneData()
5865 mDNSexport void RecordRegistrationGotZoneData(mDNS *const m, mStatus err, const ZoneData *zoneData) in RecordRegistrationGotZoneData() argument
5867 (void) m; in RecordRegistrationGotZoneData()
5872 mDNSexport uDNS_LLQType uDNS_recvLLQResponse(mDNS *const m, const DNSMessage *const msg, const mDNS… in uDNS_recvLLQResponse() argument
5875 (void) m; in uDNS_recvLLQResponse()
5885 mDNSexport void PenalizeDNSServer(mDNS *const m, DNSQuestion *q, mDNSOpaque16 responseFlags) in PenalizeDNSServer() argument
5887 (void) m; in PenalizeDNSServer()
5898 mDNSexport void RetrySearchDomainQuestions(mDNS *const m) in RetrySearchDomainQuestions() argument
5900 (void) m; in RetrySearchDomainQuestions()
5903 mDNSexport mStatus mDNS_SetSecretForDomain(mDNS *m, DomainAuthInfo *info, const domainname *domain,… in mDNS_SetSecretForDomain() argument
5905 (void) m; in mDNS_SetSecretForDomain()
5917 mDNSexport domainname *uDNS_GetNextSearchDomain(mDNS *const m, mDNSInterfaceID InterfaceID, mDNSs8… in uDNS_GetNextSearchDomain() argument
5919 (void) m; in uDNS_GetNextSearchDomain()
5927 mDNSexport DomainAuthInfo *GetAuthInfoForName(mDNS *m, const domainname *const name) in GetAuthInfoForName() argument
5929 (void) m; in GetAuthInfoForName()
5935 mDNSexport mStatus mDNS_StartNATOperation(mDNS *const m, NATTraversalInfo *traversal) in mDNS_StartNATOperation() argument
5937 (void) m; in mDNS_StartNATOperation()
5943 mDNSexport mStatus mDNS_StopNATOperation(mDNS *const m, NATTraversalInfo *traversal) in mDNS_StopNATOperation() argument
5945 (void) m; in mDNS_StopNATOperation()
5951 mDNSexport DNSServer *mDNS_AddDNSServer(mDNS *const m, const domainname *d, const mDNSInterfaceID i… in mDNS_AddDNSServer() argument
5955 (void) m; in mDNS_AddDNSServer()
5972 mDNSexport void uDNS_SetupWABQueries(mDNS *const m) in uDNS_SetupWABQueries() argument
5974 (void) m; in uDNS_SetupWABQueries()
5977 mDNSexport void uDNS_StartWABQueries(mDNS *const m, int queryType) in uDNS_StartWABQueries() argument
5979 (void) m; in uDNS_StartWABQueries()
5983 mDNSexport void uDNS_StopWABQueries(mDNS *const m, int queryType) in uDNS_StopWABQueries() argument
5985 (void) m; in uDNS_StopWABQueries()
5989 mDNSexport void mDNS_AddDynDNSHostName(mDNS *m, const domainname *fqdn, mDNSRecordCallback *StatusC… in mDNS_AddDynDNSHostName() argument
5991 (void) m; in mDNS_AddDynDNSHostName()
5996 mDNSexport void mDNS_SetPrimaryInterfaceInfo(mDNS *m, const mDNSAddr *v4addr, const mDNSAddr *v6add… in mDNS_SetPrimaryInterfaceInfo() argument
5998 (void) m; in mDNS_SetPrimaryInterfaceInfo()
6004 mDNSexport void mDNS_RemoveDynDNSHostName(mDNS *m, const domainname *fqdn) in mDNS_RemoveDynDNSHostName() argument
6006 (void) m; in mDNS_RemoveDynDNSHostName()
6010 mDNSexport void RecreateNATMappings(mDNS *const m, const mDNSu32 waitTicks) in RecreateNATMappings() argument
6012 (void) m; in RecreateNATMappings()