Lines Matching defs:question

49 // question. Bit position is the index into the DNS server list. This is done so to try all
201 // when we receive the first response to a DNSSEC question, we set
228 LogInfo("PenalizeDNSServer: Penalizing DNS server %#a question for question %p %##s (%s) SuppressUnusable %d",
258 LogInfo("PenalizeDNSServer: Not Penalizing PTR question");
266 LogInfo("PenalizeDNSServer: Penalizing question type %d", q->qtype);
284 q->ThisQInterval = 0; // Inactivate this question so that we dont bombard the network
305 // We want to try the next server immediately. As the question may already have backed off, reset
318 // We don't have any more DNS servers for this question. If some server in the list did not return
327 // Be careful not to touch the ThisQInterval here. For a normal question, when we answer the question
329 // the next query will not happen until cache expiry. If it is a long lived question,
377 *p = info->next; // Cut DomainAuthInfo from list *before* scanning our question list updating AuthInfo pointers
998 mDNSlocal mDNSu8 *putLLQ(DNSMessage *const msg, mDNSu8 *ptr, const DNSQuestion *const question, const LLQOptData *const data)
1004 //!!!KRS when we implement multiple llqs per message, we'll need to memmove anything past the question section
1005 ptr = putQuestion(msg, ptr, msg->data + AbsoluteMaxDNSMessageData, &question->qname, question->qtype, question->qclass);
1049 if (q->tcp) { LogMsg("sendChallengeResponse: ERROR!!: question %##s (%s) tcp non-NULL", q->qname.c, DNSTypeName(q->qtype)); return; }
1265 DNSQuestion *const q = tcpInfo->question;
1270 LogMsg("tcpCallback: %d backpointer %p incorrect tcpInfo %p question %p rr %p",
1333 // Record time we sent this question
1442 // If we clear the tcp pointer in the question, mDNSCoreReceiveResponse cannot find a matching question. Hence
1443 // we store the minimal information i.e., the source port of the connection in the question itself.
1509 // If we get an error and our next scheduled query for this question is more than the max interval from now,
1541 DNSQuestion *const question, AuthRecord *const rr)
1548 useBackgroundTrafficClass = question ? question->UseBackgroundTrafficClass : mDNSfalse;
1560 info->question = question;
1577 err = mDNSPlatformTCPConnect(info->sock, Addr, Port, hostname, (question ? question->InterfaceID : mDNSNULL), tcpCallback, info);
1697 // update question state
1769 mDNSlocal void GetZoneData_QuestionCallback(mDNS *const m, DNSQuestion *question, const ResourceRecord *const answer, QC_result AddRecord)
1771 ZoneData *zd = (ZoneData*)question->QuestionContext;
1777 if (answer->rrtype != question->qtype) return; // Don't care about CNAMEs
1782 mDNS_StopQuery(m, question);
1783 if (question->ThisQInterval != -1)
1784 LogMsg("GetZoneData_QuestionCallback: Question %##s (%s) ThisQInterval %d not -1", question->qname.c, DNSTypeName(question->qtype), question->ThisQInterval);
1789 AssignDomainName(&zd->question.qname, &zd->ZoneName);
1805 AssignDomainName(&zd->question.qname, zd->CurrentSOA);
1818 mDNS_StopQuery(m, question);
1819 if (question->ThisQInterval != -1)
1820 LogMsg("GetZoneData_QuestionCallback: Question %##s (%s) ThisQInterval %d not -1", question->qname.c, DNSTypeName(question->qtype), question->ThisQInterval);
1837 AssignDomainName(&zd->question.qname, &zd->Host);
1853 mDNS_StopQuery(m, question);
1854 if (question->ThisQInterval != -1)
1855 LogMsg("GetZoneData_QuestionCallback: Question %##s (%s) ThisQInterval %d not -1", question->qname.c, DNSTypeName(question->qtype), question->ThisQInterval);
1881 AssignDomainName(&zd->question.qname, ZoneDataSRV(zd));
1882 AppendDomainName(&zd->question.qname, &zd->ZoneName);
1883 debugf("lookupDNSPort %##s", zd->question.qname.c);
1886 // CancelGetZoneData can get called at any time. We should stop the question if it has not been
1887 // stopped already. A value of -1 for ThisQInterval indicates that the question is not active
1889 zd->question.ThisQInterval = -1;
1890 zd->question.InterfaceID = mDNSInterface_Any;
1891 zd->question.flags = 0;
1892 zd->question.Target = zeroAddr;
1893 //zd->question.qname.c[0] = 0; // Already set
1894 zd->question.qtype = qtype;
1895 zd->question.qclass = kDNSClass_IN;
1896 zd->question.LongLived = mDNSfalse;
1897 zd->question.ExpectUnique = mDNStrue;
1898 zd->question.ForceMCast = mDNSfalse;
1899 zd->question.ReturnIntermed = mDNStrue;
1900 zd->question.SuppressUnusable = mDNSfalse;
1901 zd->question.DenyOnCellInterface = mDNSfalse;
1902 zd->question.DenyOnExpInterface = mDNSfalse;
1903 zd->question.SearchListIndex = 0;
1904 zd->question.AppendSearchDomains = 0;
1905 zd->question.RetryWithSearchDomains = mDNSfalse;
1906 zd->question.TimeoutQuestion = 0;
1907 zd->question.WakeOnResolve = 0;
1908 zd->question.UseBackgroundTrafficClass = mDNSfalse;
1909 zd->question.ValidationRequired = 0;
1910 zd->question.ValidatingResponse = 0;
1911 zd->question.ProxyQuestion = 0;
1912 zd->question.qnameOrig = mDNSNULL;
1913 zd->question.AnonInfo = mDNSNULL;
1914 zd->question.pid = mDNSPlatformGetPID();
1915 zd->question.euid = 0;
1916 zd->question.QuestionCallback = GetZoneData_QuestionCallback;
1917 zd->question.QuestionContext = zd;
1919 //LogMsg("GetZoneData_StartQuery %##s (%s) %p", zd->question.qname.c, DNSTypeName(zd->question.qtype), zd->question.Private);
1920 return(mDNS_StartQuery(m, &zd->question));
1943 zd->question.QuestionContext = zd;
1962 AssignDomainName(&zd->question.qname, &zd->Host);
1968 AssignDomainName(&zd->question.qname, zd->CurrentSOA);
1976 // Returns if the question is a GetZoneData question. These questions are special in
2525 mDNSlocal void FoundStaticHostname(mDNS *const m, DNSQuestion *question, const ResourceRecord *const answer, QC_result AddRecord)
2531 (void)question;
2534 LogInfo("FoundStaticHostname: question %##s -> answer %##s (%s)", question->qname.c, answer->rdata->u.name.c, AddRecord ? "ADD" : "RMV");
2536 LogInfo("FoundStaticHostname: question %##s -> answer NULL (%s)", question->qname.c, AddRecord ? "ADD" : "RMV");
3511 // We always expect the question to be stopped when we get a valid response from the server.
3514 if (rr->nta->question.ThisQInterval != -1)
3515 LogMsg("hndlRecordUpdateReply: ResourceRecord %s, zone info question %##s (%s) interval %d not -1",
3516 ARDisplayString(m, rr), rr->nta->question.qname.c, DNSTypeName(rr->nta->question.qtype), rr->nta->question.ThisQInterval);
3917 // If this is the kind of query that has the risk of crashing buggy DNS servers, we do a test question first
4107 // Note that we (conditionally) add HINFO and TSIG here, since the question might be going away,
4123 // Note: If a question is in LLQ_Established state, we never free the zone data for the
4124 // question (PrivateQuery). If we free, we reset the state to something other than LLQ_Established.
4678 // If we are not receiving any responses for DNSSEC question, it could be due to
4684 // question, we don't turn off validation. Also, we wait for MAX_DNSSEC_RETRANSMISSIONS
4713 // The question to be checked is not passed in as an explicit parameter;
4714 // instead it is implicit that the question to be checked is m->CurrentQuestion.
4756 // 1. We have only one DNS server for this question. It is not responding even after we sent MAX_UCAST_UNANSWERED_QUERIES.
4758 // noServerResponse in the block above and below we do not touch the question interval. When we come here, we
4772 // Re-initialize all DNS servers for this question. If we have a DNSServer, DNSServerChangeForQuestion will
4779 LogInfo("uDNS_checkCurrentQuestion: Retrying question %p %##s (%s) DNS Server %#a:%d ThisQInterval %d",
4867 LogInfo("uDNS_CheckCurrentQuestion: private non polling question for %##s (%s) will be retried in %d ms", q->qname.c, DNSTypeName(q->qtype), q->ThisQInterval);
4887 // cache so that it will be visible to other clients asking the same question.
4898 LogMsg("uDNS_CheckCurrentQuestion: ERROR!!: valid DNSServer bits not zero 0x%x, 0x%x for question %##s (%s)",
4901 // question. Try after 60 seconds. We find this by looking for valid DNSServers for this question,
4903 // another state variable to see if we had valid DNS servers for this question.
4913 // Pretend that we sent this question. As this is an ActiveQuestion, the NextScheduledQuery should
4914 // be set properly. Also, we need to properly backoff in cases where we don't set the question to
4915 // MaxQuestionInterval when we answer the question e.g., LongLived, we need to keep backing off
4926 LogInfo("uDNS_checkCurrentQuestion: Tried all DNS servers, retry question %p SuppressUnusable %d %##s (%s) with DNS Server %#a:%d after 60 seconds, ThisQInterval %d",
4956 // We're already using the m->CurrentQuestion pointer, so CacheRecordAdd can't use it to walk the question list.
5201 // depends on having m->CurrentQuestion point to the right question
5295 mDNSlocal void FoundDomain(mDNS *const m, DNSQuestion *question, const ResourceRecord *const answer, QC_result AddRecord)
5297 SearchListElem *slElem = question->QuestionContext;
5305 if (question == &slElem->BrowseQ) name = mDNS_DomainTypeNames[mDNS_DomainTypeBrowse];
5306 else if (question == &slElem->DefBrowseQ) name = mDNS_DomainTypeNames[mDNS_DomainTypeBrowseDefault];
5307 else if (question == &slElem->AutomaticBrowseQ) name = mDNS_DomainTypeNames[mDNS_DomainTypeBrowseAutomatic];
5308 else if (question == &slElem->RegisterQ) name = mDNS_DomainTypeNames[mDNS_DomainTypeRegistration];
5309 else if (question == &slElem->DefRegisterQ) name = mDNS_DomainTypeNames[mDNS_DomainTypeRegistrationDefault];
5310 else { LogMsg("FoundDomain - unknown question"); return; }
5312 LogInfo("FoundDomain: %p %s %s Q %##s A %s", answer->InterfaceID, AddRecord ? "Add" : "Rmv", name, question->qname.c, RRDisplayString(m, answer));
5720 // of the question to zero immediately e.g., domain enumeration query calls
5751 // When we are appending search domains in a ActiveDirectory domain, the question's InterfaceID
5808 // does this. When we restart the question, we first want to try the new search domains rather
5819 // 4) result above should generate a callback from question in (1). result added to global list