]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Revert "fix: chg: Improve performance when looking for the closest encloser when...
authorMatthijs Mekking <matthijs@isc.org>
Thu, 10 Oct 2024 06:59:28 +0000 (06:59 +0000)
committerMatthijs Mekking <matthijs@isc.org>
Thu, 10 Oct 2024 06:59:28 +0000 (06:59 +0000)
This reverts merge request !9436

bin/tests/system/dnssec/tests.sh
lib/dns/include/dns/db.h
lib/dns/qpzone.c
lib/dns/rbt-zonedb.c
lib/ns/query.c

index 881548c80e69e28f8ce28afdb1980b3543c807e7..f2b7b766855f3f6baa1394af5011bbdb19d909b8 100644 (file)
@@ -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
index cb689c4a014c8cdb2c426f925c473455317edce8..e38f4a3acac3c8f695d350600e2b3ebcc46f65a4 100644 (file)
@@ -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,
 };
 
 /*
index 5343f50562876a3e8aeca95ecc7ec0f1a0426d37..0e6d0eb23d10fee9a138d6901a6fb20f64c95840 100644 (file)
@@ -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) {
index 7ac52225db8cfe0f84a9e27dc30b5dcd9b98524e..16636375a2be77426a96f6563a0ee4d88994e648 100644 (file)
@@ -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) {
index a22505dc9f6aaab6918880d8867eba096d1b593e..7f900de9eb9e3567033b7ec8ee27051dc2c07bb9 100644 (file)
@@ -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.