]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
1800. [bug] Changes #1719 allowed a INSIST to be triggered.
authorMark Andrews <marka@isc.org>
Wed, 19 Jan 2005 23:36:31 +0000 (23:36 +0000)
committerMark Andrews <marka@isc.org>
Wed, 19 Jan 2005 23:36:31 +0000 (23:36 +0000)
                        [RT #13428]

CHANGES
lib/dns/resolver.c

diff --git a/CHANGES b/CHANGES
index 4860bc32a8c999830b2a1acdc19fc89d5e3d37f0..0d65d6c392633e2394f227e964da1053c8469059 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+1800.  [bug]           Changes #1719 allowed a INSIST to be triggered.
+                       [RT #13428]
 
        --- 9.2.5beta1 released ---
 
index 48abcb69df36e7c4c2f3585a701063b6e618479e..f02de745b2723fad847ca5ece4a8197181050ab6 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: resolver.c,v 1.218.2.37 2004/12/03 02:06:15 marka Exp $ */
+/* $Id: resolver.c,v 1.218.2.38 2005/01/19 23:36:31 marka Exp $ */
 
 #include <config.h>
 
@@ -3700,11 +3700,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;
@@ -4573,6 +4573,11 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
                             domainbuf, namebuf, typebuf, classbuf, addrbuf);
        }
 
+       /*
+        * Clear cache bits.
+        */
+       fctx->attributes &= ~(FCTX_ATTR_WANTNCACHE | FCTX_ATTR_WANTCACHE);
+
        /*
         * Did we get any answers?
         */