diff --git a/bin/tests/system/dnssec/tests.sh b/bin/tests/system/dnssec/tests.sh index 881548c80e..f2b7b76685 100644 --- a/bin/tests/system/dnssec/tests.sh +++ b/bin/tests/system/dnssec/tests.sh @@ -386,9 +386,9 @@ status=$((status + ret)) echo_i "checking negative validation NXDOMAIN NSEC3 ($n)" ret=0 -dig_with_opts +noauth a.b.c.d.e.f.g.h.i.j.nsec3.example. \ +dig_with_opts +noauth q.nsec3.example. \ @10.53.0.3 a >dig.out.ns3.test$n || ret=1 -dig_with_opts +noauth a.b.c.d.e.f.g.h.i.j.nsec3.example. \ +dig_with_opts +noauth q.nsec3.example. \ @10.53.0.4 a >dig.out.ns4.test$n || ret=1 digcomp dig.out.ns3.test$n dig.out.ns4.test$n || ret=1 grep "flags:.*ad.*QUERY" dig.out.ns4.test$n >/dev/null || ret=1 diff --git a/lib/dns/include/dns/db.h b/lib/dns/include/dns/db.h index cb689c4a01..e38f4a3aca 100644 --- a/lib/dns/include/dns/db.h +++ b/lib/dns/include/dns/db.h @@ -258,7 +258,6 @@ enum { DNS_DBFIND_FORCENSEC3 = 1 << 5, DNS_DBFIND_ADDITIONALOK = 1 << 6, DNS_DBFIND_NOZONECUT = 1 << 7, - DNS_DBFIND_WANTPARTIAL = 1 << 8, }; /* diff --git a/lib/dns/qpzone.c b/lib/dns/qpzone.c index 5343f50562..0e6d0eb23d 100644 --- a/lib/dns/qpzone.c +++ b/lib/dns/qpzone.c @@ -3412,11 +3412,7 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, : DNS_R_NXDOMAIN; } } else { - bool wantpartial = (options & DNS_DBFIND_WANTPARTIAL) != - 0; - result = active ? DNS_R_EMPTYNAME - : wantpartial ? DNS_R_PARTIALMATCH - : DNS_R_NXDOMAIN; + result = active ? DNS_R_EMPTYNAME : DNS_R_NXDOMAIN; } goto tree_exit; } else if (result != ISC_R_SUCCESS) { diff --git a/lib/dns/rbt-zonedb.c b/lib/dns/rbt-zonedb.c index 7ac52225db..16636375a2 100644 --- a/lib/dns/rbt-zonedb.c +++ b/lib/dns/rbt-zonedb.c @@ -1094,11 +1094,7 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, : DNS_R_NXDOMAIN; } } else { - bool wantpartial = (options & DNS_DBFIND_WANTPARTIAL) != - 0; - result = active ? DNS_R_EMPTYNAME - : wantpartial ? DNS_R_PARTIALMATCH - : DNS_R_NXDOMAIN; + result = active ? DNS_R_EMPTYNAME : DNS_R_NXDOMAIN; } goto tree_exit; } else if (result != ISC_R_SUCCESS) { diff --git a/lib/ns/query.c b/lib/ns/query.c index a22505dc9f..7f900de9eb 100644 --- a/lib/ns/query.c +++ b/lib/ns/query.c @@ -10960,7 +10960,6 @@ again: * Find the closest encloser. */ dns_name_copy(name, cname); - bool once = true; while (result == DNS_R_NXDOMAIN) { labels = dns_name_countlabels(cname) - 1; /* @@ -10970,21 +10969,10 @@ again: goto cleanup; } dns_name_split(cname, labels, NULL, cname); - result = dns_db_findext( - qctx->db, cname, qctx->version, - dns_rdatatype_nsec, - options | (once ? DNS_DBFIND_WANTPARTIAL : 0), - 0, NULL, fname, &cm, &ci, NULL, NULL); - if (result == DNS_R_PARTIALMATCH && once) { - unsigned int flabels = - dns_name_countlabels(fname); - if (labels > flabels + 1) { - dns_name_split(cname, flabels + 1, NULL, - cname); - } - result = DNS_R_NXDOMAIN; - } - once = false; + result = dns_db_findext(qctx->db, cname, qctx->version, + dns_rdatatype_nsec, options, 0, + NULL, fname, &cm, &ci, NULL, + NULL); } /* * Add closest (provable) encloser NSEC3.