]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2953. [bug] Silence spurious "expected covering NSEC3, got an
authorMark Andrews <marka@isc.org>
Tue, 7 Sep 2010 02:28:17 +0000 (02:28 +0000)
committerMark Andrews <marka@isc.org>
Tue, 7 Sep 2010 02:28:17 +0000 (02:28 +0000)
                        exact match" message when returning a wildcard
                        no data response. [RT #21744]

CHANGES
bin/named/query.c

diff --git a/CHANGES b/CHANGES
index debea0f3326633ac57d73df41927c3cfc818eb3e..6f207d1bae6192510dd1de6317aba4468404ce51 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+2953.  [bug]           Silence spurious "expected covering NSEC3, got an
+                       exact match" message when returning a wildcard
+                       no data response. [RT #21744]
+
 2952.  [port]          win32: named-checkzone and named-checkconf failed
                        to initialise winsock. [RT #21932]
 
index 8aafb19ece23e70cf83449ba1c832cf693b8ec8e..cd7bfc73a6558514bc746349fedbdebc2e0f4dcb 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: query.c,v 1.343 2010/07/15 01:17:45 jinmei Exp $ */
+/* $Id: query.c,v 1.344 2010/09/07 02:28:17 marka Exp $ */
 
 /*! \file */
 
@@ -2799,7 +2799,7 @@ query_addds(ns_client_t *client, dns_db_t *db, dns_dbnode_t *node,
 static void
 query_addwildcardproof(ns_client_t *client, dns_db_t *db,
                       dns_dbversion_t *version, dns_name_t *name,
-                      isc_boolean_t ispositive)
+                      isc_boolean_t ispositive, isc_boolean_t nodata)
 {
        isc_buffer_t *dbuf, b;
        dns_name_t *fname;
@@ -2987,7 +2987,7 @@ query_addwildcardproof(ns_client_t *client, dns_db_t *db,
                        goto cleanup;
 
                query_findclosestnsec3(wname, db, NULL, client, rdataset,
-                                      sigrdataset, fname, ISC_FALSE, NULL);
+                                      sigrdataset, fname, nodata, NULL);
                if (!dns_rdataset_isassociated(rdataset))
                        goto cleanup;
                query_addrrset(client, &fname, &rdataset, &sigrdataset,
@@ -3090,7 +3090,7 @@ query_addnxrrsetnsec(ns_client_t *client, dns_db_t *db,
 
        /* XXX */
        query_addwildcardproof(client, db, version, client->query.qname,
-                              ISC_TRUE);
+                              ISC_TRUE, ISC_FALSE);
 
        /*
         * We'll need some resources...
@@ -4330,7 +4330,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
                                query_releasename(client, &fname);
                                query_addwildcardproof(client, db, version,
                                                       client->query.qname,
-                                                      ISC_FALSE);
+                                                      ISC_FALSE, ISC_TRUE);
                        }
                }
                if (dns_rdataset_isassociated(rdataset)) {
@@ -4419,7 +4419,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
                                               &sigrdataset,
                                               NULL, DNS_SECTION_AUTHORITY);
                        query_addwildcardproof(client, db, version,
-                                              client->query.qname, ISC_FALSE);
+                                              client->query.qname, ISC_FALSE,
+                                              ISC_FALSE);
                }
 
                /*
@@ -4992,7 +4993,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
        if (need_wildcardproof && dns_db_issecure(db))
                query_addwildcardproof(client, db, version,
                                       dns_fixedname_name(&wildcardname),
-                                      ISC_TRUE);
+                                      ISC_TRUE, ISC_FALSE);
  cleanup:
        CTRACE("query_find: cleanup");
        /*