]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2200. [bug] The search for cached NSEC records was stopping to
authorMark Andrews <marka@isc.org>
Tue, 19 Jun 2007 06:21:25 +0000 (06:21 +0000)
committerMark Andrews <marka@isc.org>
Tue, 19 Jun 2007 06:21:25 +0000 (06:21 +0000)
                        early leading to excessive DLV queries. [RT #16930]

CHANGES
lib/dns/rbtdb.c

diff --git a/CHANGES b/CHANGES
index 02f52e043acaa2fc6afb9a3679ddd95576a3606d..794d9fce600e789d185fa21b5806ad28fa9b4835 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+2200.  [bug]           The search for cached NSEC records was stopping to
+                       early leading to excessive DLV queries. [RT #16930]
+
 2199.  [bug]           win32: don't call WSAStartup() while loading dlls.
                        [RT #16911]
 
index d3a7605c12ff58dd597b75ed4e6c0da39bc06ae1..e880a9464e3f456cbef377542d859db1736c7b08 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: rbtdb.c,v 1.196.18.46 2007/03/14 06:03:56 marka Exp $ */
+/* $Id: rbtdb.c,v 1.196.18.47 2007/06/19 06:21:25 marka Exp $ */
 
 /*! \file */
 
@@ -3323,7 +3323,8 @@ find_coveringnsec(rbtdb_search_t *search, dns_dbnode_t **nodep,
                                        header_prev = header;
                                continue;
                        }
-                       if (NONEXISTENT(header) || NXDOMAIN(header)) {
+                       if (NONEXISTENT(header) ||
+                           RBTDB_RDATATYPE_BASE(header->type) == 0) {
                                header_prev = header;
                                continue;
                        }
@@ -3349,7 +3350,7 @@ find_coveringnsec(rbtdb_search_t *search, dns_dbnode_t **nodep,
                        result = DNS_R_COVERINGNSEC;
                } else if (!empty_node) {
                        result = ISC_R_NOTFOUND;
-               }else
+               } else
                        result = dns_rbtnodechain_prev(&search->chain, NULL,
                                                       NULL);
  unlock_node: