]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Extend dns_db_allrdatasets to control interation results
authorMark Andrews <marka@isc.org>
Tue, 15 Nov 2022 23:47:40 +0000 (10:47 +1100)
committerMark Andrews <marka@isc.org>
Wed, 7 Dec 2022 22:20:02 +0000 (22:20 +0000)
Add an options parameter to control what rdatasets are returned when
iteratating over the node.  Specific modes will be added later.

24 files changed:
bin/dnssec/dnssec-signzone.c
bin/tests/system/dyndb/driver/db.c
lib/dns/cache.c
lib/dns/catz.c
lib/dns/client.c
lib/dns/db.c
lib/dns/include/dns/db.h
lib/dns/include/dns/rdatasetiter.h
lib/dns/journal.c
lib/dns/masterdump.c
lib/dns/nsec.c
lib/dns/nsec3.c
lib/dns/rbtdb.c
lib/dns/rootns.c
lib/dns/rpz.c
lib/dns/rriterator.c
lib/dns/sdb.c
lib/dns/sdlz.c
lib/dns/update.c
lib/dns/zone.c
lib/dns/zoneverify.c
lib/ns/query.c
lib/ns/update.c
tests/dns/dbversion_test.c

index 64779725c65f3823d99cca59d2550831f3de96a3..e208ffd08b63e7677440e7436ff0f66e6e8f2708 100644 (file)
@@ -228,7 +228,7 @@ dumpnode(dns_name_t *name, dns_dbnode_t *node) {
                return;
        }
 
-       result = dns_db_allrdatasets(gdb, node, gversion, 0, &iter);
+       result = dns_db_allrdatasets(gdb, node, gversion, 0, 0, &iter);
        check_result(result, "dns_db_allrdatasets");
 
        dns_rdataset_init(&rds);
@@ -1193,7 +1193,7 @@ signname(dns_dbnode_t *node, dns_name_t *name) {
        dns_diff_init(mctx, &del);
        dns_diff_init(mctx, &add);
        rdsiter = NULL;
-       result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter);
+       result = dns_db_allrdatasets(gdb, node, gversion, 0, 0, &rdsiter);
        check_result(result, "dns_db_allrdatasets()");
        result = dns_rdatasetiter_first(rdsiter);
        while (result == ISC_R_SUCCESS) {
@@ -1267,7 +1267,7 @@ active_node(dns_dbnode_t *node) {
        bool found;
 
        dns_rdataset_init(&rdataset);
-       result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter);
+       result = dns_db_allrdatasets(gdb, node, gversion, 0, 0, &rdsiter);
        check_result(result, "dns_db_allrdatasets()");
        result = dns_rdatasetiter_first(rdsiter);
        while (result == ISC_R_SUCCESS) {
@@ -1313,7 +1313,8 @@ active_node(dns_dbnode_t *node) {
                /*
                 * Delete RRSIGs for types that no longer exist.
                 */
-               result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter2);
+               result = dns_db_allrdatasets(gdb, node, gversion, 0, 0,
+                                            &rdsiter2);
                check_result(result, "dns_db_allrdatasets()");
                for (result = dns_rdatasetiter_first(rdsiter);
                     result == ISC_R_SUCCESS;
@@ -1515,7 +1516,7 @@ cleannode(dns_db_t *db, dns_dbversion_t *dbversion, dns_dbnode_t *node) {
        }
 
        dns_rdataset_init(&set);
-       result = dns_db_allrdatasets(db, node, dbversion, 0, &rdsiter);
+       result = dns_db_allrdatasets(db, node, dbversion, 0, 0, &rdsiter);
        check_result(result, "dns_db_allrdatasets");
        result = dns_rdatasetiter_first(rdsiter);
        while (result == ISC_R_SUCCESS) {
@@ -1837,7 +1838,7 @@ remove_records(dns_dbnode_t *node, dns_rdatatype_t which, bool checknsec) {
        /*
         * Delete any records of the given type at the apex.
         */
-       result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter);
+       result = dns_db_allrdatasets(gdb, node, gversion, 0, 0, &rdsiter);
        check_result(result, "dns_db_allrdatasets()");
        for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS;
             result = dns_rdatasetiter_next(rdsiter))
@@ -1880,7 +1881,7 @@ remove_sigs(dns_dbnode_t *node, bool delegation, dns_rdatatype_t which) {
        dns_rdataset_t rdataset;
 
        dns_rdataset_init(&rdataset);
-       result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter);
+       result = dns_db_allrdatasets(gdb, node, gversion, 0, 0, &rdsiter);
        check_result(result, "dns_db_allrdatasets()");
        for (result = dns_rdatasetiter_first(rdsiter); result == ISC_R_SUCCESS;
             result = dns_rdatasetiter_next(rdsiter))
@@ -1944,7 +1945,8 @@ nsecify(void) {
        {
                result = dns_dbiterator_current(dbiter, &node, name);
                check_dns_dbiterator_current(result);
-               result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter);
+               result = dns_db_allrdatasets(gdb, node, gversion, 0, 0,
+                                            &rdsiter);
                check_result(result, "dns_db_allrdatasets()");
                for (result = dns_rdatasetiter_first(rdsiter);
                     result == ISC_R_SUCCESS;
@@ -2355,7 +2357,8 @@ cleanup_zone(void) {
        {
                result = dns_dbiterator_current(dbiter, &node, name);
                check_dns_dbiterator_current(result);
-               result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter);
+               result = dns_db_allrdatasets(gdb, node, gversion, 0, 0,
+                                            &rdsiter);
                check_result(result, "dns_db_allrdatasets()");
                for (result = dns_rdatasetiter_first(rdsiter);
                     result == ISC_R_SUCCESS;
index a4073a7453c1cb2b7e027775f31ad94a548f482d..f7b052fbba7fadc2f6575c12cceb3de3783ec96a 100644 (file)
@@ -302,13 +302,14 @@ findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
 
 static isc_result_t
 allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
-            isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) {
+            unsigned int options, isc_stdtime_t now,
+            dns_rdatasetiter_t **iteratorp) {
        sampledb_t *sampledb = (sampledb_t *)db;
 
        REQUIRE(VALID_SAMPLEDB(sampledb));
 
-       return (dns_db_allrdatasets(sampledb->rbtdb, node, version, now,
-                                   iteratorp));
+       return (dns_db_allrdatasets(sampledb->rbtdb, node, version, options,
+                                   now, iteratorp));
 }
 
 static isc_result_t
index d905cdd888f5928d3a58691198f05ce7b9b32d75..966485b50e75f3035974f33a715589a28a6df320 100644 (file)
@@ -392,7 +392,8 @@ clearnode(dns_db_t *db, dns_dbnode_t *node) {
        isc_result_t result;
        dns_rdatasetiter_t *iter = NULL;
 
-       result = dns_db_allrdatasets(db, node, NULL, (isc_stdtime_t)0, &iter);
+       result = dns_db_allrdatasets(db, node, NULL, 0, (isc_stdtime_t)0,
+                                    &iter);
        if (result != ISC_R_SUCCESS) {
                return (result);
        }
index ec048dfd8f63516552be3d781f1e44da9f3c115a..fd24410594e3fb5fec08fefff2047b55432c31a2 100644 (file)
@@ -2246,7 +2246,7 @@ dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) {
                        continue;
                }
 
-               result = dns_db_allrdatasets(db, node, oldzone->dbversion, 0,
+               result = dns_db_allrdatasets(db, node, oldzone->dbversion, 0, 0,
                                             &rdsiter);
                if (result != ISC_R_SUCCESS) {
                        isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
index 44a0471c826892664076702beb9fb91c91c21acf..f160f7650ace716629b7f4f9773d78e0aa0b68d0 100644 (file)
@@ -717,7 +717,7 @@ client_resfind(resctx_t *rctx, dns_fetchevent_t *event) {
                        int n = 0;
                        dns_rdatasetiter_t *rdsiter = NULL;
 
-                       tresult = dns_db_allrdatasets(db, node, NULL, 0,
+                       tresult = dns_db_allrdatasets(db, node, NULL, 0, 0,
                                                      &rdsiter);
                        if (tresult != ISC_R_SUCCESS) {
                                result = tresult;
index 9620efb1655e20728b9fb0a8c4336e1a62da49ae..e0a46c9856ca758309ad52c067b9d0ea92ff8433 100644 (file)
@@ -677,7 +677,8 @@ dns_db_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
 
 isc_result_t
 dns_db_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
-                   isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) {
+                   unsigned int options, isc_stdtime_t now,
+                   dns_rdatasetiter_t **iteratorp) {
        /*
         * Make '*iteratorp' an rdataset iteratator for all rdatasets at
         * 'node' in version 'version' of 'db'.
@@ -686,7 +687,8 @@ dns_db_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
        REQUIRE(DNS_DB_VALID(db));
        REQUIRE(iteratorp != NULL && *iteratorp == NULL);
 
-       return ((db->methods->allrdatasets)(db, node, version, now, iteratorp));
+       return ((db->methods->allrdatasets)(db, node, version, options, now,
+                                           iteratorp));
 }
 
 isc_result_t
index f1ca17973b9e8832afc37a35970e311e56333f35..9673f967f07578018daca73317c2a524477415e8 100644 (file)
@@ -118,8 +118,8 @@ typedef struct dns_dbmethods {
                                     dns_rdataset_t *rdataset,
                                     dns_rdataset_t *sigrdataset);
        isc_result_t (*allrdatasets)(dns_db_t *db, dns_dbnode_t *node,
-                                    dns_dbversion_t     *version,
-                                    isc_stdtime_t        now,
+                                    dns_dbversion_t *version,
+                                    unsigned int options, isc_stdtime_t now,
                                     dns_rdatasetiter_t **iteratorp);
        isc_result_t (*addrdataset)(dns_db_t *db, dns_dbnode_t *node,
                                    dns_dbversion_t *version, isc_stdtime_t now,
@@ -1156,7 +1156,8 @@ dns_db_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
 
 isc_result_t
 dns_db_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
-                   isc_stdtime_t now, dns_rdatasetiter_t **iteratorp);
+                   unsigned int options, isc_stdtime_t now,
+                   dns_rdatasetiter_t **iteratorp);
 /*%<
  * Make '*iteratorp' an rdataset iterator for all rdatasets at 'node' in
  * version 'version' of 'db'.
@@ -1165,6 +1166,9 @@ dns_db_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
  *
  * \li If 'version' is NULL, then the current version will be used.
  *
+ * \li 'options' controls which rdatasets are selected when interating over
+ *     the node.
+ *
  * \li The 'now' field is ignored if 'db' is a zone database.  If 'db' is a
  *     cache database, an rdataset will not be found unless it expires after
  *     'now'.  Any ANY query will not match unless at least one rdataset at
index 0d610eee74c86c24f39a86882a6d0a2eea264af6..8611d9900c2034755ee379d4d759aa0bc78d056f 100644 (file)
@@ -93,6 +93,7 @@ struct dns_rdatasetiter {
        dns_dbnode_t              *node;
        dns_dbversion_t           *version;
        isc_stdtime_t              now;
+       unsigned int               options;
 };
 
 void
index f36db188e3294176c90b5b37584d47d25482864f..fa3fdadb4413b2c2892e0cb938999a3c873131df 100644 (file)
@@ -2125,7 +2125,7 @@ get_name_diff(dns_db_t *db, dns_dbversion_t *ver, isc_stdtime_t now,
                return (result);
        }
 
-       result = dns_db_allrdatasets(db, node, ver, now, &rdsiter);
+       result = dns_db_allrdatasets(db, node, ver, 0, now, &rdsiter);
        if (result != ISC_R_SUCCESS) {
                goto cleanup_node;
        }
index 2604772d21062c056201999b9286133d50ddbbcc..2fdda1ce8df431f669240187eec54714c4ce230a 100644 (file)
@@ -1707,7 +1707,7 @@ dumptostream(dns_dumpctx_t *dctx) {
                result = dns_dbiterator_pause(dctx->dbiter);
                RUNTIME_CHECK(result == ISC_R_SUCCESS);
 
-               result = dns_db_allrdatasets(dctx->db, node, dctx->version,
+               result = dns_db_allrdatasets(dctx->db, node, dctx->version, 0,
                                             dctx->now, &rdsiter);
                if (result != ISC_R_SUCCESS) {
                        dns_db_detachnode(dctx->db, &node);
@@ -1929,7 +1929,7 @@ dns_master_dumpnodetostream(isc_mem_t *mctx, dns_db_t *db,
 
        isc_buffer_init(&buffer, bufmem, initial_buffer_length);
 
-       result = dns_db_allrdatasets(db, node, version, now, &rdsiter);
+       result = dns_db_allrdatasets(db, node, version, 0, now, &rdsiter);
        if (result != ISC_R_SUCCESS) {
                goto failure;
        }
index 94f2b26b79fd20a8398a4dce13617402dca1073c..35ee4db0062f0d39726395d920f44778ce241fe0 100644 (file)
@@ -128,7 +128,7 @@ dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node,
        max_type = dns_rdatatype_nsec;
        dns_rdataset_init(&rdataset);
        rdsiter = NULL;
-       result = dns_db_allrdatasets(db, node, version, 0, &rdsiter);
+       result = dns_db_allrdatasets(db, node, version, 0, 0, &rdsiter);
        if (result != ISC_R_SUCCESS) {
                return (result);
        }
index 55fc52a766deb1421e6752175ab4a743e0c23c78..a25e5e3941468ff5ac05ffe94cc60bf84c6709c2 100644 (file)
@@ -118,7 +118,7 @@ dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node,
        }
        dns_rdataset_init(&rdataset);
        rdsiter = NULL;
-       result = dns_db_allrdatasets(db, node, version, 0, &rdsiter);
+       result = dns_db_allrdatasets(db, node, version, 0, 0, &rdsiter);
        if (result != ISC_R_SUCCESS) {
                return (result);
        }
@@ -365,7 +365,7 @@ name_exists(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name,
                return (result);
        }
 
-       result = dns_db_allrdatasets(db, node, version, (isc_stdtime_t)0,
+       result = dns_db_allrdatasets(db, node, version, 0, (isc_stdtime_t)0,
                                     &iter);
        if (result != ISC_R_SUCCESS) {
                goto cleanup_node;
index c7550b474ad7a3367a7a3ab79cad87d5900dd91f..aae127b6fbcbad70d62c1460de67f2cfdd1d843e 100644 (file)
@@ -6057,7 +6057,8 @@ cache_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
 
 static isc_result_t
 allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
-            isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) {
+            unsigned int options, isc_stdtime_t now,
+            dns_rdatasetiter_t **iteratorp) {
        dns_rbtdb_t *rbtdb = (dns_rbtdb_t *)db;
        dns_rbtnode_t *rbtnode = (dns_rbtnode_t *)node;
        rbtdb_version_t *rbtversion = version;
@@ -6089,6 +6090,7 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
        iterator->common.db = db;
        iterator->common.node = node;
        iterator->common.version = (dns_dbversion_t *)rbtversion;
+       iterator->common.options = options;
        iterator->common.now = now;
 
        isc_refcount_increment(&rbtnode->references);
index f171a056f70fc1523620daab076d557cc7d0a961..d776a78c866fb27168993789288b810b1de95de9 100644 (file)
@@ -176,7 +176,7 @@ check_hints(dns_db_t *db) {
                if (result != ISC_R_SUCCESS) {
                        goto cleanup;
                }
-               result = dns_db_allrdatasets(db, node, NULL, now, &rdsiter);
+               result = dns_db_allrdatasets(db, node, NULL, 0, now, &rdsiter);
                if (result != ISC_R_SUCCESS) {
                        goto cleanup;
                }
index 3815a59de8e753f153e5462ffc4d5e16e38e14b7..efe04b79e32426af24a7623f17d64e46bffa0b80 100644 (file)
@@ -1755,7 +1755,7 @@ update_nodes(dns_rpz_zone_t *rpz, isc_ht_t *newnodes) {
                RUNTIME_CHECK(result == ISC_R_SUCCESS);
 
                result = dns_db_allrdatasets(rpz->updb, node, rpz->updbversion,
-                                            0, &rdsiter);
+                                            0, 0, &rdsiter);
                if (result != ISC_R_SUCCESS) {
                        isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
                                      DNS_LOGMODULE_MASTER, ISC_LOG_ERROR,
index 7c6aec0cf956ca2e744332e480cb0f8716001516..93548bce4d8366c30376fead542ebf4d8a2b2772 100644 (file)
@@ -84,7 +84,7 @@ dns_rriterator_first(dns_rriterator_t *it) {
                        return (it->result);
                }
 
-               it->result = dns_db_allrdatasets(it->db, it->node, it->ver,
+               it->result = dns_db_allrdatasets(it->db, it->node, it->ver, 0,
                                                 it->now, &it->rdatasetit);
                if (it->result != ISC_R_SUCCESS) {
                        return (it->result);
@@ -138,7 +138,7 @@ dns_rriterator_nextrrset(dns_rriterator_t *it) {
                if (it->result != ISC_R_SUCCESS) {
                        return (it->result);
                }
-               it->result = dns_db_allrdatasets(it->db, it->node, it->ver,
+               it->result = dns_db_allrdatasets(it->db, it->node, it->ver, 0,
                                                 it->now, &it->rdatasetit);
                if (it->result != ISC_R_SUCCESS) {
                        return (it->result);
index c31d278becaba60a3bed7d70a9ba34815b5e49c6..65701a0647374f0602be82476754efe49784ac0b 100644 (file)
@@ -1166,7 +1166,8 @@ findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
 
 static isc_result_t
 allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
-            isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) {
+            unsigned int options, isc_stdtime_t now,
+            dns_rdatasetiter_t **iteratorp) {
        sdb_rdatasetiter_t *iterator;
 
        REQUIRE(version == NULL || version == &dummy);
@@ -1182,6 +1183,7 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
        iterator->common.node = NULL;
        attachnode(db, node, &iterator->common.node);
        iterator->common.version = version;
+       iterator->common.options = options;
        iterator->common.now = now;
 
        *iteratorp = (dns_rdatasetiter_t *)iterator;
index 8cc7eb5433a0d6fdf6076e9760d1b1d44b8ad6a5..fbe4b6024463bd2e07bbc2830510c38d536d4474 100644 (file)
@@ -1009,7 +1009,8 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version,
 
 static isc_result_t
 allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
-            isc_stdtime_t now, dns_rdatasetiter_t **iteratorp) {
+            unsigned int options, isc_stdtime_t now,
+            dns_rdatasetiter_t **iteratorp) {
        dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db;
        sdlz_rdatasetiter_t *iterator;
 
@@ -1029,6 +1030,7 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
        iterator->common.node = NULL;
        attachnode(db, node, &iterator->common.node);
        iterator->common.version = version;
+       iterator->common.options = options;
        iterator->common.now = now;
 
        *iteratorp = (dns_rdatasetiter_t *)iterator;
index 8420860fdf801a925789202d13e6fca43faf7158..079045c7efcfddb9c02e8025d93c582f30fbd29e 100644 (file)
@@ -364,7 +364,7 @@ foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
        }
 
        iter = NULL;
-       result = dns_db_allrdatasets(db, node, ver, (isc_stdtime_t)0, &iter);
+       result = dns_db_allrdatasets(db, node, ver, 0, (isc_stdtime_t)0, &iter);
        if (result != ISC_R_SUCCESS) {
                goto cleanup_node;
        }
@@ -1396,7 +1396,7 @@ add_exposed_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db,
        }
 
        iter = NULL;
-       result = dns_db_allrdatasets(db, node, ver, (isc_stdtime_t)0, &iter);
+       result = dns_db_allrdatasets(db, node, ver, 0, (isc_stdtime_t)0, &iter);
        if (result != ISC_R_SUCCESS) {
                goto cleanup_node;
        }
index bab33f390d6e3ae5c75333d406478d42cb345385..34e0ee58f816314002c81a4b8a3e828122f5b0b8 100644 (file)
@@ -3279,7 +3279,7 @@ zone_check_dup(dns_zone_t *zone, dns_db_t *db) {
                        continue;
                }
 
-               result = dns_db_allrdatasets(db, node, NULL, 0, &rdsit);
+               result = dns_db_allrdatasets(db, node, NULL, 0, 0, &rdsit);
                if (result != ISC_R_SUCCESS) {
                        continue;
                }
@@ -7668,7 +7668,7 @@ next_active(dns_db_t *db, dns_dbversion_t *version, dns_name_t *oldname,
                /*
                 * Is this node empty?
                 */
-               CHECK(dns_db_allrdatasets(db, node, version, 0, &rdsit));
+               CHECK(dns_db_allrdatasets(db, node, version, 0, 0, &rdsit));
                result = dns_rdatasetiter_first(rdsit);
                dns_db_detachnode(db, &node);
                dns_rdatasetiter_destroy(&rdsit);
@@ -7791,7 +7791,7 @@ check_if_bottom_of_zone(dns_db_t *db, dns_dbnode_t *node,
 
        REQUIRE(is_bottom_of_zone != NULL);
 
-       result = dns_db_allrdatasets(db, node, version, 0, &iterator);
+       result = dns_db_allrdatasets(db, node, version, 0, 0, &iterator);
        if (result != ISC_R_SUCCESS) {
                if (result == ISC_R_NOTFOUND) {
                        result = ISC_R_SUCCESS;
@@ -7848,7 +7848,7 @@ sign_a_node(dns_db_t *db, dns_zone_t *zone, dns_name_t *name,
        unsigned char data[1024];
        bool seen_soa, seen_ns, seen_rr, seen_nsec, seen_nsec3, seen_ds;
 
-       result = dns_db_allrdatasets(db, node, version, 0, &iterator);
+       result = dns_db_allrdatasets(db, node, version, 0, 0, &iterator);
        if (result != ISC_R_SUCCESS) {
                if (result == ISC_R_NOTFOUND) {
                        result = ISC_R_SUCCESS;
@@ -8801,7 +8801,8 @@ zone_nsec3chain(dns_zone_t *zone) {
                /*
                 * Check to see if this is a bottom of zone node.
                 */
-               result = dns_db_allrdatasets(db, node, version, 0, &iterator);
+               result = dns_db_allrdatasets(db, node, version, 0, 0,
+                                            &iterator);
                if (result == ISC_R_NOTFOUND) {
                        /* Empty node? */
                        goto next_addnode;
@@ -9064,7 +9065,8 @@ zone_nsec3chain(dns_zone_t *zone) {
                /*
                 * Check to see if this is a bottom of zone node.
                 */
-               result = dns_db_allrdatasets(db, node, version, 0, &iterator);
+               result = dns_db_allrdatasets(db, node, version, 0, 0,
+                                            &iterator);
                if (result == ISC_R_NOTFOUND) {
                        /* Empty node? */
                        goto next_removenode;
@@ -9185,7 +9187,8 @@ skip_removals:
                bool rebuild_nsec = false, rebuild_nsec3 = false;
                result = dns_db_getoriginnode(db, &node);
                RUNTIME_CHECK(result == ISC_R_SUCCESS);
-               result = dns_db_allrdatasets(db, node, version, 0, &iterator);
+               result = dns_db_allrdatasets(db, node, version, 0, 0,
+                                            &iterator);
                if (result != ISC_R_SUCCESS) {
                        dnssec_log(zone, ISC_LOG_ERROR,
                                   "zone_nsec3chain:dns_db_allrdatasets -> %s",
@@ -9486,7 +9489,7 @@ del_sig(dns_db_t *db, dns_dbversion_t *version, dns_name_t *name,
        char namebuf[DNS_NAME_FORMATSIZE];
        dns_name_format(name, namebuf, sizeof(namebuf));
 
-       result = dns_db_allrdatasets(db, node, version, 0, &iterator);
+       result = dns_db_allrdatasets(db, node, version, 0, 0, &iterator);
        if (result != ISC_R_SUCCESS) {
                if (result == ISC_R_NOTFOUND) {
                        result = ISC_R_SUCCESS;
@@ -17275,7 +17278,7 @@ copy_non_dnssec_records(dns_db_t *db, dns_db_t *version, dns_db_t *rawdb,
                goto cleanup;
        }
 
-       result = dns_db_allrdatasets(rawdb, rawnode, NULL, 0, &rdsit);
+       result = dns_db_allrdatasets(rawdb, rawnode, NULL, 0, 0, &rdsit);
        if (result != ISC_R_SUCCESS) {
                goto cleanup;
        }
index 997f121df50234a2320197ea56a7bd902337b1aa..bf2b7cc68ea9f418ea457a96a98f064b2390eb74 100644 (file)
@@ -307,7 +307,7 @@ check_no_rrsig(const vctx_t *vctx, const dns_rdataset_t *rdataset,
        isc_result_t result;
 
        dns_rdataset_init(&sigrdataset);
-       result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, &rdsiter);
+       result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, 0, &rdsiter);
        if (result != ISC_R_SUCCESS) {
                zoneverify_log_error(vctx, "dns_db_allrdatasets(): %s",
                                     isc_result_totext(result));
@@ -815,7 +815,7 @@ verifyset(vctx_t *vctx, dns_rdataset_t *rdataset, const dns_name_t *name,
        isc_result_t result;
 
        dns_rdataset_init(&sigrdataset);
-       result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, &rdsiter);
+       result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, 0, &rdsiter);
        if (result != ISC_R_SUCCESS) {
                zoneverify_log_error(vctx, "dns_db_allrdatasets(): %s",
                                     isc_result_totext(result));
@@ -919,7 +919,7 @@ verifynode(vctx_t *vctx, const dns_name_t *name, dns_dbnode_t *node,
 
        REQUIRE(vresult != NULL || (nsecset == NULL && nsec3paramset == NULL));
 
-       result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, &rdsiter);
+       result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, 0, &rdsiter);
        if (result != ISC_R_SUCCESS) {
                zoneverify_log_error(vctx, "dns_db_allrdatasets(): %s",
                                     isc_result_totext(result));
@@ -1011,7 +1011,7 @@ is_empty(const vctx_t *vctx, dns_dbnode_t *node) {
        dns_rdatasetiter_t *rdsiter = NULL;
        isc_result_t result;
 
-       result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, &rdsiter);
+       result = dns_db_allrdatasets(vctx->db, node, vctx->ver, 0, 0, &rdsiter);
        if (result != ISC_R_SUCCESS) {
                zoneverify_log_error(vctx, "dns_db_allrdatasets(): %s",
                                     isc_result_totext(result));
index 0c3ee43e1a016b1188548ab0cd2db47dab4bc84f..6580bd8c7ab06b69de760fb3edeaa5145b78c27b 100644 (file)
@@ -3209,7 +3209,7 @@ rpz_find_p(ns_client_t *client, dns_name_t *self_name, dns_rdatatype_t qtype,
                dns_rdatasetiter_t *rdsiter;
 
                rdsiter = NULL;
-               result = dns_db_allrdatasets(*dbp, *nodep, *versionp, 0,
+               result = dns_db_allrdatasets(*dbp, *nodep, *versionp, 0, 0,
                                             &rdsiter);
                if (result != ISC_R_SUCCESS) {
                        rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, p_name,
@@ -7829,7 +7829,7 @@ query_respond_any(query_ctx_t *qctx) {
 
        CALL_HOOK(NS_QUERY_RESPOND_ANY_BEGIN, qctx);
 
-       result = dns_db_allrdatasets(qctx->db, qctx->node, qctx->version, 0,
+       result = dns_db_allrdatasets(qctx->db, qctx->node, qctx->version, 0, 0,
                                     &rdsiter);
        if (result != ISC_R_SUCCESS) {
                CCTRACE(ISC_LOG_ERROR, "query_respond_any: allrdatasets "
index 11b3ef156d5dfd94f6d2c85158f7747bbae610a2..b15bfc4f86c3ce21fb42fba4fd6ff52903b7dfa0 100644 (file)
@@ -606,7 +606,7 @@ foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
        }
 
        iter = NULL;
-       result = dns_db_allrdatasets(db, node, ver, (isc_stdtime_t)0, &iter);
+       result = dns_db_allrdatasets(db, node, ver, 0, (isc_stdtime_t)0, &iter);
        if (result != ISC_R_SUCCESS) {
                goto cleanup_node;
        }
index c315516fa662ed9510eb00ffd6f4ba1b8e2d658e..8c62436901d3fb53794af9e1d5f670b54b90827c 100644 (file)
@@ -195,10 +195,10 @@ ISC_RUN_TEST_IMPL(allrdatasets) {
        res = dns_db_findnode(db1, dns_rootname, false, &node);
        assert_int_equal(res, ISC_R_SUCCESS);
 
-       res = dns_db_allrdatasets(db1, node, v1, 0, &iterator);
+       res = dns_db_allrdatasets(db1, node, v1, 0, 0, &iterator);
        assert_int_equal(res, ISC_R_SUCCESS);
 
-       check_assertion(dns_db_allrdatasets(db1, node, v2, 0, &iterator));
+       check_assertion(dns_db_allrdatasets(db1, node, v2, 0, 0, &iterator));
 
        dns_rdatasetiter_destroy(&iterator);
        assert_null(iterator);