From: Mark Andrews Date: Sun, 15 Feb 2009 23:46:23 +0000 (+0000) Subject: 2554. [bug] Validation of uppercase queries from NSEC3 zones could X-Git-Tag: v9.3.6-P2~4^2~28 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=7d211b458fed36326b9e125b9d74089f9dccc140;p=thirdparty%2Fbind9.git 2554. [bug] Validation of uppercase queries from NSEC3 zones could fail. [RT #19297] --- diff --git a/CHANGES b/CHANGES index ad4bf711b15..aa8f41b4b03 100644 --- 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. diff --git a/lib/dns/validator.c b/lib/dns/validator.c index 17d8f781e2a..5874750dd19 100644 --- a/lib/dns/validator.c +++ b/lib/dns/validator.c @@ -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 @@ -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;