Home | History | Annotate | Download | only in mDNSCore

Lines Matching refs:DNSServer

3403 // In the case of (2) where we had the cache records and did not answer because of the DNSServer mismatch,
3404 // we need to answer them whenever we change the DNSServer. But we can't do it at the instant the DNSServer
3406 // know how to handle it. So, we run this function from mDNS_Execute to handle DNSServer changes on the
3430 // its DNSserver last time. Reset it so that we don't call them again. Calling
3642 LogInfo("CacheRecordRmv: Question %p %##s (%s) deliverAddEvents set, DNSServer %#a:%d",
3649 LogMsg("CacheRecordRmv ERROR!!: How can CurrentAnswers already be zero for %p %##s (%s) DNSServer %#a:%d",
6261 DNSServer *s;
6493 DNSServer *uDNSServer = mDNSNULL;
6639 // Even though it is AcceptableResponse, we need a matching DNSServer pointer for the
6650 // Even though it is AcceptableResponse, we still need a DNSServer pointer for the resource records that
6795 // DNSServer value that we got in the previous pass. This can happen for other record types like SRV also.
7434 DNSServer *dnsserver)
7447 cr->resrec.rDNSServer = dnsserver;
7752 mDNSinline mDNSs32 PenaltyTimeForServer(mDNS *m, DNSServer *server)
7833 DNSServer *curmatch = mDNSNULL;
7835 DNSServer *curr;
7866 // If we find an equal match, then include that DNSServer also by setting the corresponding
7892 mDNSlocal DNSServer *GetBestServer(mDNS *m, const domainname *name, mDNSInterfaceID InterfaceID, mDNSOpaque64 validBits, int *selected, mDNSBool nameMatch)
7894 DNSServer *curmatch = mDNSNULL;
7896 DNSServer *curr;
7910 // Check if this is a valid DNSServer
7928 // 1) A DNSServer entry may have an InterfaceID but the scoped flag may not be set. This
7929 // is the old way of specifying an InterfaceID option for DNSServer. We recoginize these
7935 // against the DNSServer.
7937 // 2) A DNSServer may also have both scoped set and InterfaceID non-NULL. This
7938 // is the new way of specifying an InterfaceID option for DNSServer. These will be considered
7966 mDNSexport DNSServer *GetServerForName(mDNS *m, const domainname *name, mDNSInterfaceID InterfaceID)
7968 DNSServer *curmatch = mDNSNULL;
7992 // Look up a DNS Server for a question within its valid DNSServer bits
7993 mDNSexport DNSServer *GetServerForQuestion(mDNS *m, DNSQuestion *question)
7995 DNSServer *curmatch = mDNSNULL;
9620 DNSServer *s;
10820 mDNSlocal void PurgeOrReconfirmCacheRecord(mDNS *const m, CacheRecord *cr, const DNSServer * const ptr, mDNSBool lameduck)
10862 mDNSlocal void CacheRecordResetDNSServer(mDNS *const m, DNSQuestion *q, DNSServer *new)
10869 DNSServer *old = q->qDNSServer;
10873 // This function is called when the DNSServer is updated to the new question. There may already be
10874 // some cache entries matching the old DNSServer and/or new DNSServer. There are four cases. In the
10875 // following table, "Yes" denotes that a cache entry was found for old/new DNSServer.
10877 // old DNSServer new DNSServer
10884 // Case 1: There are cache entries for both old and new DNSServer. We handle this case by simply
10887 // case happens when we pick a DNSServer, issue a query and get a valid response and create
10889 // DNSServer and creates identical cache entries (perhaps through records in Additional records).
10890 // Now if the first one expires and tries to pick the new DNSServer (the original DNSServer
10893 // Case 2: There are no cache entries for the old DNSServer but there are some for the new DNSServer.
10899 // though there were potential cache entries but DNSServer did not match. Now when we
10900 // pick a new DNSServer, those cache entries may answer this question.
10902 // Case 3: There are the cache entries for the old DNSServer but none for the new. We just move
10903 // the old cache entries to point to the new DNSServer and the caller is expected to
10906 // AnswerNewQuestion. This case happens when we picked a DNSServer, sent the query and
10908 // original DNSServer does not respond.
10910 // Case 4: There are no cache entries either for the old or for the new DNSServer. There is nothing
10916 // Temporarily set the DNSServer to look for the matching records for the new DNSServer.
10922 LogInfo("CacheRecordResetDNSServer: Found cache record %##s for new DNSServer address: %#a", rp->resrec.name->c,
10955 LogInfo("CacheRecordResetDNSServer: resetting cache record %##s DNSServer address before:%#a,"
10987 mDNSexport void DNSServerChangeForQuestion(mDNS *const m, DNSQuestion *q, DNSServer *new)
11000 // 2. Move the old cache records to point them at the new DNSServer so that we can deliver the ADD/RMV events
11001 // appropriately. At any point in time, we want all the cache records point only to one DNSServer for a given
11002 // question. "DNSServer" here is the DNSServer object and not the DNS server itself. It is possible to
11004 // DNSServer object. By maintaining the question and the cache entries point to the same DNSServer
11008 // entries are moved to point to the new DNSServer, we don't need to call it for the duplicate question
11017 // 3. Make sure all the duplicate questions point to the same DNSServer so that delivery
11035 DNSServer *ptr, **p = &m->DNSServers;
11036 const DNSServer *oldServers = m->DNSServers;
11086 // we walk the questions below where we change the DNSServer pointer of the cache
11092 // We just mark them for purge or reconfirm. We can't affect the DNSServer pointer
11095 // The new DNSServer may be a scoped or non-scoped one. We use the active question's
11116 // Update our qDNSServer pointers before we go and free the DNSServer object memory
11120 DNSServer *s, *t;
11135 // After we reset the DNSServer pointer on the cache records here, three things could happen:
11144 // events for the questions, the DNSServer on the question should match the Cache Record
11151 // We still need to pick a new DNSServer for the questions that have been
11189 // generate RMV events nor Reconfirm can send queries out. Just set the DNSServer
11191 // DNSServer pointers from resource record for logging purposes).
11193 // If there is an active question, point to its DNSServer as long as it does not point to the
11196 // this question. Hence, whenever we hit a resource record with a DNSServer that is just
11204 LogMsg("uDNS_SetupDNSConfig: Cache Record %s match: Active question %##s (%s) with DNSServer Address NULL, Server to be deleted %#a",
11207 LogMsg("uDNS_SetupDNSConfig: Cache Record %s match: Active question %##s (%s) DNSServer Address %#a, Server to be deleted %#a",
11223 LogInfo("uDNS_SetupDNSConfig: Cache Record %##s has no Active question, Record's DNSServer Address %#a, Server to be deleted %#a",