]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Fix ldns_nsec_covers_name for apex only zones
authorWillem Toorop <willem@nlnetlabs.nl>
Tue, 1 Oct 2013 08:10:31 +0000 (10:10 +0200)
committerWillem Toorop <willem@nlnetlabs.nl>
Tue, 1 Oct 2013 08:10:31 +0000 (10:10 +0200)
Changelog
dnssec.c

index 2821668e81d4d28fa8702b88d50a44b5dc7f56a6..503aad5c0f7cf7de1070bc22f424113120a21910 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -46,6 +46,7 @@
        * bugfix #521: drill trace continue on empty non-terminals with NSEC3
        * bugfix #525: Fix documentation of ldns_resolver_set_retry
        * Remove unused LDNS_RDF_TYPE_TSIG and associated functions.
+       * Fix ldns_nsec_covers_name for zones with an apex only. Thanks Miek.
 
 1.6.16 2012-11-13
        * Fix Makefile to build pyldns with BSD make
index 97dde64777d523259efd7e203a19707a35480397..f21429873199a1a3c6697342a15cfbf1695cba1b 100644 (file)
--- a/dnssec.c
+++ b/dnssec.c
@@ -1499,9 +1499,11 @@ ldns_nsec_covers_name(const ldns_rr *nsec, const ldns_rdf *name)
        if(ldns_dname_compare(nsec_owner, nsec_next) > 0) {
                result = (ldns_dname_compare(nsec_owner, name) <= 0 ||
                                ldns_dname_compare(name, nsec_next) < 0);
-       } else {
+       } else if(ldns_dname_compare(nsec_owner, nsec_next) < 0) {
                result = (ldns_dname_compare(nsec_owner, name) <= 0 &&
                          ldns_dname_compare(name, nsec_next) < 0);
+       } else {
+               result = true;
        }
 
        ldns_rdf_deep_free(nsec_next);