Lines Matching defs:stub

688 	/* do not process a last resort (the parent side) if a stub
946 * Generate and process a stub priming request. This method tests for the
947 * need to prime a stub zone, so it is safe to call for every request.
955 * issue a priming request if it detects an unprimed stub.
956 * Uses value of 2 to signal during stub-prime in root-prime situation
957 * that a noprime-stub is available and resolution can continue.
963 /* Lookup the stub hint. This will return null if the stub doesn't
965 struct iter_hints_stub* stub;
971 stub = hints_lookup_stub(qstate->env->hints, qname, qclass, iq->dp,
973 /* The stub (if there is one) does not need priming. */
974 if(!stub) return 0;
975 stub_dp = stub->dp;
976 /* if we have an auth_zone dp, and stub is equal, don't prime stub
984 /* is it a noprime stub (always use) */
985 if(stub->noprime) {
993 log_err("out of memory priming stub");
994 errinf(qstate, "malloc failure, priming stub");
998 log_nametypeclass(VERB_DETAIL, "use stub", iq->dp->name,
1003 /* Otherwise, we need to (re)prime the stub. */
1004 log_nametypeclass(VERB_DETAIL, "priming stub", stub_dp->name,
1013 verbose(VERB_ALGO, "could not prime stub");
1014 errinf(qstate, "could not generate lookup for stub prime");
1023 /* make copy to avoid use of stub dp by different qs/threads */
1027 log_err("out of memory priming stub, copydp");
1031 errinf(qstate, "malloc failure, in stub prime");
1036 * wouldn't be anyway, since stub hints never have
1242 /* make copy to avoid use of stub dp by different qs/threads */
1309 /* make copy to avoid use of stub dp by different qs/threads */
1412 * If we are restricted by a forward-zone or a stub-zone, we
1582 * the iterator pass would have primed the stub and
1653 /* if there is a stub, then no root prime needed */
1657 break; /* got noprime-stub-zone, continue */
1659 return 0; /* stub prime request made */
1717 verbose(VERB_QUERY, "cache has stub "
1722 "stub/fwd fallback");
1787 * This part is primarily handling stub zone priming. Events that reach this
1808 struct iter_hints_stub* stub;
1815 /* Do not send queries above stub, do not set delname to dp if
1816 * this is above stub without stub-first. */
1817 stub = hints_lookup_stub(
1820 if(!stub || !stub->dp->has_parent_side_NS ||
1821 dname_subdomain_c(iq->dp->name, stub->dp->name)) {
1826 if(stub) { lock_rw_unlock(&qstate->env->hints->lock); }
1839 /* Check to see if we need to prime a stub zone. */
1851 * as a separate state so that queries that generate stub priming events
1852 * will get the tail end of the init process but not repeat the stub priming
2147 errinf(qstate, "all the configured stub or forward servers failed,");
2150 verbose(VERB_QUERY, "configured stub or forward servers failed -- returning SERVFAIL");
2247 * delegation point is a stub and we cannot go higher, skip*/
2253 "because it is also a stub/forward,",
3697 /* root priming responses go to init stage 2, priming stub
3708 * root and stub priming responses. This is basically the equivalent of the
3737 /* validate the root or stub after priming (if enabled).