]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2554. [bug] Validation of uppercase queries from NSEC3 zones could
authorMark Andrews <marka@isc.org>
Sun, 15 Feb 2009 23:46:23 +0000 (23:46 +0000)
committerMark Andrews <marka@isc.org>
Sun, 15 Feb 2009 23:46:23 +0000 (23:46 +0000)
                        fail. [RT #19297]

CHANGES
lib/dns/validator.c

diff --git a/CHANGES b/CHANGES
index ad4bf711b154ea3c142eca4396dc168d0a570309..aa8f41b4b03133018bb1cfd4ab1ff63a40016b10 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+2554.  [bug]           Validation of uppercase queries from NSEC3 zones could
+                       fail. [RT #19297]
+
 2553.  [bug]           Reference leak on DNSSEC validation errors. [RT #19291]
 
 2552.  [bug]           zero-no-soa-ttl-cache was not being honoured.
index 17d8f781e2adffee63ac0abc707a8719856c5cc8..5874750dd19409100d4121352a4218fa670caee4 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: validator.c,v 1.168 2009/02/15 23:37:29 marka Exp $ */
+/* $Id: validator.c,v 1.169 2009/02/15 23:46:23 marka Exp $ */
 
 #include <config.h>
 
@@ -226,6 +226,7 @@ static isc_boolean_t
 isdelegation(dns_name_t *name, dns_rdataset_t *rdataset,
             isc_result_t dbresult)
 {
+       dns_fixedname_t fixed;
        dns_label_t hashlabel;
        dns_name_t nsec3name;
        dns_rdata_nsec3_t nsec3;
@@ -272,6 +273,9 @@ isdelegation(dns_name_t *name, dns_rdataset_t *rdataset,
         */
        found = ISC_FALSE;
        dns_name_init(&nsec3name, NULL);
+       dns_fixedname_init(&fixed);
+       dns_name_downcase(name, dns_fixedname_name(&fixed), NULL);
+       name = dns_fixedname_name(&fixed);
        result = dns_rdataset_first(rdataset);
        for (result = dns_rdataset_first(rdataset);
             result == ISC_R_SUCCESS;