2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-04 00:25:29 +00:00

805. [bug] When using "forward only", missing root hints should

not cause queries to fail. [RT #1143]
This commit is contained in:
Andreas Gustafsson
2001-04-09 21:16:47 +00:00
parent e22fa3a686
commit aed6a8ed2e
2 changed files with 30 additions and 6 deletions

View File

@@ -1,3 +1,7 @@
805. [bug] When using "forward only", missing root hints should
not cause queries to fail. [RT #1143]
804. [bug] Attempting to obtain entropy could fail in some 804. [bug] Attempting to obtain entropy could fail in some
situations. This would be most common on systems situations. This would be most common on systems
with user-space threads. [RT #1131] with user-space threads. [RT #1131]

View File

@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id: query.c,v 1.192 2001/04/04 18:47:06 bwelling Exp $ */ /* $Id: query.c,v 1.193 2001/04/09 21:16:47 gson Exp $ */
#include <config.h> #include <config.h>
@@ -2590,12 +2590,32 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
} }
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
/* /*
* We can't even find the hints for the root * We don't have any root server hints, but
* nameservers! * we may have working forwarders, so try to
* recurse anyway.
*/ */
count_query(zone, is_zone, dns_statscounter_failure); if (RECURSIONOK(client)) {
QUERY_ERROR(DNS_R_SERVFAIL); count_query(zone, is_zone,
goto cleanup; dns_statscounter_recursion);
result = query_recurse(client, qtype,
NULL, NULL);
if (result == ISC_R_SUCCESS)
client->query.attributes |=
NS_QUERYATTR_RECURSING;
else {
/* Unable to recurse. */
count_query(zone, is_zone,
dns_statscounter_failure);
QUERY_ERROR(DNS_R_SERVFAIL);
}
goto cleanup;
} else {
/* Unable to give root server referral. */
count_query(zone, is_zone,
dns_statscounter_failure);
QUERY_ERROR(DNS_R_SERVFAIL);
goto cleanup;
}
} }
/* /*
* XXXRTH We should trigger root server priming here. * XXXRTH We should trigger root server priming here.