From: Mark Andrews Date: Wed, 19 Jan 2005 23:25:41 +0000 (+0000) Subject: 1800. [bug] Changes #1719 allowed a INSIST to be triggered. X-Git-Tag: v9.2.6b1~181^2~78 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=164e2a6f83cc3172bc9ba0c97a326a5eca80bc18;p=thirdparty%2Fbind9.git 1800. [bug] Changes #1719 allowed a INSIST to be triggered. [RT #13428] --- diff --git a/CHANGES b/CHANGES index 0490110651b..c7daf1b0338 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +1800. [bug] Changes #1719 allowed a INSIST to be triggered. + [RT #13428] + 1799. [placeholder] rt13438 1798. [func] The server syntax has been extended to support a diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index 34c1113f98f..a1089849cbe 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: resolver.c,v 1.299 2004/12/03 01:59:28 marka Exp $ */ +/* $Id: resolver.c,v 1.300 2005/01/19 23:25:41 marka Exp $ */ #include @@ -4253,11 +4253,11 @@ noanswer_response(fetchctx_t *fctx, dns_name_t *oqname, /* * A negative response has a SOA record (Type 2) * and a optional NS RRset (Type 1) or it has neither - * a SOA or a NS RRset (Type 3) or rcode is NXDOMAIN - * (handled above) in which case the NS RRset is - * allowed (Type 4). + * a SOA or a NS RRset (Type 3, handled above) or + * rcode is NXDOMAIN (handled above) in which case + * the NS RRset is allowed (Type 4). */ - if (soa_name != NULL || ns_name == NULL) + if (soa_name != NULL) negative_response = ISC_TRUE; for (rdataset = ISC_LIST_HEAD(name->list); rdataset != NULL; @@ -5320,6 +5320,11 @@ resquery_response(isc_task_t *task, isc_event_t *event) { if ((fctx->res->options & DNS_RESOLVER_CHECKNAMES) != 0) checknames(message); + /* + * Clear cache bits. + */ + fctx->attributes &= ~(FCTX_ATTR_WANTNCACHE | FCTX_ATTR_WANTCACHE); + /* * Did we get any answers? */