Lines Matching refs:stub

594 	struct iter_hints_stub* stub;
596 /* do not process a last resort (the parent side) if a stub
599 if(!dname_is_root(nm) && (stub = (struct iter_hints_stub*)
603 stub->dp->has_parent_side_NS) {
604 if(retdp) *retdp = stub->dp;
824 * Generate and process a stub priming request. This method tests for the
825 * need to prime a stub zone, so it is safe to call for every request.
833 * issue a priming request if it detects an unprimed stub.
834 * Uses value of 2 to signal during stub-prime in root-prime situation
835 * that a noprime-stub is available and resolution can continue.
841 /* Lookup the stub hint. This will return null if the stub doesn't
843 struct iter_hints_stub* stub;
848 stub = hints_lookup_stub(qstate->env->hints, qname, qclass, iq->dp);
849 /* The stub (if there is one) does not need priming. */
850 if(!stub)
852 stub_dp = stub->dp;
853 /* if we have an auth_zone dp, and stub is equal, don't prime stub
859 /* is it a noprime stub (always use) */
860 if(stub->noprime) {
867 log_err("out of memory priming stub");
868 errinf(qstate, "malloc failure, priming stub");
872 log_nametypeclass(VERB_DETAIL, "use stub", stub_dp->name,
877 /* Otherwise, we need to (re)prime the stub. */
878 log_nametypeclass(VERB_DETAIL, "priming stub", stub_dp->name,
886 verbose(VERB_ALGO, "could not prime stub");
887 errinf(qstate, "could not generate lookup for stub prime");
896 /* make copy to avoid use of stub dp by different qs/threads */
899 log_err("out of memory priming stub, copydp");
903 errinf(qstate, "malloc failure, in stub prime");
908 * wouldn't be anyway, since stub hints never have
1112 /* make copy to avoid use of stub dp by different qs/threads */
1170 /* make copy to avoid use of stub dp by different qs/threads */
1270 * If we are restricted by a forward-zone or a stub-zone, we
1438 /* if there is a stub, then no root prime needed */
1442 break; /* got noprime-stub-zone, continue */
1444 return 0; /* stub prime request made */
1529 verbose(VERB_QUERY, "cache has stub "
1536 "stub/fwd fallback");
1599 * This part is primarily handling stub zone priming. Events that reach this
1620 struct iter_hints_stub* stub;
1626 /* Do not send queries above stub, do not set delname to dp if
1627 * this is above stub without stub-first. */
1628 stub = hints_lookup_stub(
1631 if(!stub || !stub->dp->has_parent_side_NS ||
1632 dname_subdomain_c(iq->dp->name, stub->dp->name)) {
1648 /* Check to see if we need to prime a stub zone. */
1660 * as a separate state so that queries that generate stub priming events
1661 * will get the tail end of the init process but not repeat the stub priming
1922 errinf(qstate, "all the configured stub or forward servers failed,");
1924 verbose(VERB_QUERY, "configured stub or forward servers failed -- returning SERVFAIL");
2014 * delegation point is a stub and we cannot go higher, skip*/
2020 "because it is also a stub/forward,",
3151 /* root priming responses go to init stage 2, priming stub
3162 * root and stub priming responses. This is basically the equivalent of the
3191 /* validate the root or stub after priming (if enabled).