diff --git a/bin/named/builtin.c b/bin/named/builtin.c index 8043e4f9c5..a9049b536f 100644 --- a/bin/named/builtin.c +++ b/bin/named/builtin.c @@ -859,6 +859,8 @@ getoriginnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG) { static isc_result_t findnode(dns_db_t *db, const dns_name_t *name, bool create, + dns_clientinfomethods_t *methods ISC_ATTR_UNUSED, + dns_clientinfo_t *clientinfo ISC_ATTR_UNUSED, dns_dbnode_t **nodep DNS__DB_FLARG) { bdb_t *bdb = (bdb_t *)db; bdbnode_t *node = NULL; @@ -906,7 +908,9 @@ findnode(dns_db_t *db, const dns_name_t *name, bool create, static isc_result_t find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, + dns_dbnode_t **nodep, dns_name_t *foundname, + dns_clientinfomethods_t *methods ISC_ATTR_UNUSED, + dns_clientinfo_t *clientinfo ISC_ATTR_UNUSED, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG) { bdb_t *bdb = (bdb_t *)db; isc_result_t result; @@ -942,7 +946,8 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, * Look up the next label. */ dns_name_getlabelsequence(name, nlabels - i, i, xname); - result = findnode(db, xname, false, &node DNS__DB_FLARG_PASS); + result = findnode(db, xname, false, NULL, NULL, + &node DNS__DB_FLARG_PASS); if (result == ISC_R_NOTFOUND) { /* * No data at zone apex? diff --git a/bin/tests/system/dyndb/driver/db.c b/bin/tests/system/dyndb/driver/db.c index 77534d9878..f11f6930e4 100644 --- a/bin/tests/system/dyndb/driver/db.c +++ b/bin/tests/system/dyndb/driver/db.c @@ -125,31 +125,6 @@ closeversion(dns_db_t *db, dns_dbversion_t **versionp, dns__db_closeversion(sampledb->db, versionp, commit DNS__DB_FLARG_PASS); } -static isc_result_t -findnode(dns_db_t *db, const dns_name_t *name, bool create, - dns_dbnode_t **nodep DNS__DB_FLARG) { - sampledb_t *sampledb = (sampledb_t *)db; - - REQUIRE(VALID_SAMPLEDB(sampledb)); - - return dns__db_findnode(sampledb->db, name, create, - nodep DNS__DB_FLARG_PASS); -} - -static isc_result_t -find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, - dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset DNS__DB_FLARG) { - sampledb_t *sampledb = (sampledb_t *)db; - - REQUIRE(VALID_SAMPLEDB(sampledb)); - - return dns__db_find(sampledb->db, name, version, type, options, now, - nodep, foundname, rdataset, - sigrdataset DNS__DB_FLARG_PASS); -} - static isc_result_t findzonecut(dns_db_t *db, const dns_name_t *name, unsigned int options, isc_stdtime_t now, dns_dbnode_t **nodep, dns_name_t *foundname, @@ -345,30 +320,30 @@ getrrsetstats(dns_db_t *db) { } static isc_result_t -findnodeext(dns_db_t *db, const dns_name_t *name, bool create, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, - dns_dbnode_t **nodep DNS__DB_FLARG) { +findnode(dns_db_t *db, const dns_name_t *name, bool create, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, + dns_dbnode_t **nodep DNS__DB_FLARG) { sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); - return dns__db_findnodeext(sampledb->db, name, create, methods, - clientinfo, nodep DNS__DB_FLARG_PASS); + return dns__db_findnode(sampledb->db, name, create, methods, clientinfo, + nodep DNS__DB_FLARG_PASS); } static isc_result_t -findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, - dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG) { +find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, + dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, + dns_dbnode_t **nodep, dns_name_t *foundname, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG) { sampledb_t *sampledb = (sampledb_t *)db; REQUIRE(VALID_SAMPLEDB(sampledb)); - return dns__db_findext(sampledb->db, name, version, type, options, now, - nodep, foundname, methods, clientinfo, rdataset, - sigrdataset DNS__DB_FLARG_PASS); + return dns__db_find(sampledb->db, name, version, type, options, now, + nodep, foundname, methods, clientinfo, rdataset, + sigrdataset DNS__DB_FLARG_PASS); } static isc_result_t @@ -390,8 +365,6 @@ static dns_dbmethods_t sampledb_methods = { .newversion = newversion, .attachversion = attachversion, .closeversion = closeversion, - .findnode = findnode, - .find = find, .findzonecut = findzonecut, .createiterator = createiterator, .findrdataset = findrdataset, @@ -407,8 +380,8 @@ static dns_dbmethods_t sampledb_methods = { .setsigningtime = setsigningtime, .getsigningtime = getsigningtime, .getrrsetstats = getrrsetstats, - .findnodeext = findnodeext, - .findext = findext, + .findnode = findnode, + .find = find, .setcachestats = setcachestats, }; diff --git a/lib/dns/db.c b/lib/dns/db.c index 6ffcdca7d4..bb47ce386d 100644 --- a/lib/dns/db.c +++ b/lib/dns/db.c @@ -415,28 +415,8 @@ dns__db_closeversion(dns_db_t *db, dns_dbversion_t **versionp, isc_result_t dns__db_findnode(dns_db_t *db, const dns_name_t *name, bool create, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_dbnode_t **nodep DNS__DB_FLARG) { - /* - * Find the node with name 'name'. - */ - - REQUIRE(DNS_DB_VALID(db)); - REQUIRE(nodep != NULL && *nodep == NULL); - - if (db->methods->findnode != NULL) { - return (db->methods->findnode)(db, name, create, - nodep DNS__DB_FLARG_PASS); - } else { - return (db->methods->findnodeext)(db, name, create, NULL, NULL, - nodep DNS__DB_FLARG_PASS); - } -} - -isc_result_t -dns__db_findnodeext(dns_db_t *db, const dns_name_t *name, bool create, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, - dns_dbnode_t **nodep DNS__DB_FLARG) { /* * Find the node with name 'name', passing 'arg' to the database * implementation. @@ -445,14 +425,12 @@ dns__db_findnodeext(dns_db_t *db, const dns_name_t *name, bool create, REQUIRE(DNS_DB_VALID(db)); REQUIRE(nodep != NULL && *nodep == NULL); - if (db->methods->findnodeext != NULL) { - return (db->methods->findnodeext)(db, name, create, methods, - clientinfo, - nodep DNS__DB_FLARG_PASS); - } else { - return (db->methods->findnode)(db, name, create, + if (db->methods->findnode != NULL) { + return (db->methods->findnode)(db, name, create, methods, + clientinfo, nodep DNS__DB_FLARG_PASS); } + return ISC_R_NOTIMPLEMENTED; } isc_result_t @@ -473,41 +451,9 @@ isc_result_t dns__db_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, dns_dbnode_t **nodep, dns_name_t *foundname, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG) { - /* - * Find the best match for 'name' and 'type' in version 'version' - * of 'db'. - */ - - REQUIRE(DNS_DB_VALID(db)); - REQUIRE(type != dns_rdatatype_rrsig); - REQUIRE(nodep == NULL || *nodep == NULL); - REQUIRE(dns_name_hasbuffer(foundname)); - REQUIRE(rdataset == NULL || (DNS_RDATASET_VALID(rdataset) && - !dns_rdataset_isassociated(rdataset))); - REQUIRE(sigrdataset == NULL || - (DNS_RDATASET_VALID(sigrdataset) && - !dns_rdataset_isassociated(sigrdataset))); - - if (db->methods->find != NULL) { - return (db->methods->find)(db, name, version, type, options, - now, nodep, foundname, rdataset, - sigrdataset DNS__DB_FLARG_PASS); - } else { - return (db->methods->findext)( - db, name, version, type, options, now, nodep, foundname, - NULL, NULL, rdataset, sigrdataset DNS__DB_FLARG_PASS); - } -} - -isc_result_t -dns__db_findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, - dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset DNS__DB_FLARG) { /* * Find the best match for 'name' and 'type' in version 'version' * of 'db', passing in 'arg'. @@ -523,16 +469,13 @@ dns__db_findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, (DNS_RDATASET_VALID(sigrdataset) && !dns_rdataset_isassociated(sigrdataset))); - if (db->methods->findext != NULL) { - return (db->methods->findext)(db, name, version, type, options, - now, nodep, foundname, methods, - clientinfo, rdataset, - sigrdataset DNS__DB_FLARG_PASS); - } else { + if (db->methods->find != NULL) { return (db->methods->find)(db, name, version, type, options, - now, nodep, foundname, rdataset, + now, nodep, foundname, methods, + clientinfo, rdataset, sigrdataset DNS__DB_FLARG_PASS); } + return ISC_R_NOTIMPLEMENTED; } isc_result_t diff --git a/lib/dns/include/dns/db.h b/lib/dns/include/dns/db.h index 91a43e2c13..6ce4daa6c5 100644 --- a/lib/dns/include/dns/db.h +++ b/lib/dns/include/dns/db.h @@ -100,15 +100,6 @@ typedef struct dns_db_methods { dns_dbversion_t **targetp); void (*closeversion)(dns_db_t *db, dns_dbversion_t **versionp, bool commit DNS__DB_FLARG); - isc_result_t (*findnode)(dns_db_t *db, const dns_name_t *name, - bool create, - dns_dbnode_t **nodep DNS__DB_FLARG); - isc_result_t (*find)(dns_db_t *db, const dns_name_t *name, - dns_dbversion_t *version, dns_rdatatype_t type, - unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset DNS__DB_FLARG); isc_result_t (*findzonecut)(dns_db_t *db, const dns_name_t *name, unsigned int options, isc_stdtime_t now, dns_dbnode_t **nodep, dns_name_t *foundname, @@ -159,19 +150,18 @@ typedef struct dns_db_methods { dns_name_t *name, dns_typepair_t *typepair); dns_stats_t *(*getrrsetstats)(dns_db_t *db); - isc_result_t (*findnodeext)(dns_db_t *db, const dns_name_t *name, - bool create, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, - dns_dbnode_t **nodep DNS__DB_FLARG); - isc_result_t (*findext)(dns_db_t *db, const dns_name_t *name, - dns_dbversion_t *version, dns_rdatatype_t type, - unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset DNS__DB_FLARG); + isc_result_t (*findnode)(dns_db_t *db, const dns_name_t *name, + bool create, dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo, + dns_dbnode_t **nodep DNS__DB_FLARG); + isc_result_t (*find)(dns_db_t *db, const dns_name_t *name, + dns_dbversion_t *version, dns_rdatatype_t type, + unsigned int options, isc_stdtime_t now, + dns_dbnode_t **nodep, dns_name_t *foundname, + dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo, + dns_rdataset_t *rdataset, + dns_rdataset_t *sigrdataset DNS__DB_FLARG); isc_result_t (*setcachestats)(dns_db_t *db, isc_stats_t *stats); isc_result_t (*getsize)(dns_db_t *db, dns_dbversion_t *version, uint64_t *records, uint64_t *bytes); @@ -694,19 +684,14 @@ dns__db_closeversion(dns_db_t *db, dns_dbversion_t **versionp, ***/ #define dns_db_findnode(db, name, create, nodep) \ - dns__db_findnode(db, name, create, nodep DNS__DB_FILELINE) + dns__db_findnode(db, name, create, NULL, NULL, nodep DNS__DB_FILELINE) +#define dns_db_findnodeext(db, name, create, methods, clientinfo, nodep) \ + dns__db_findnode(db, name, create, methods, clientinfo, \ + nodep DNS__DB_FILELINE) isc_result_t dns__db_findnode(dns_db_t *db, const dns_name_t *name, bool create, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_dbnode_t **nodep DNS__DB_FLARG); - -#define dns_db_findnodeext(db, name, create, methods, clientinfo, nodep) \ - dns__db_findnodeext(db, name, create, methods, clientinfo, \ - nodep DNS__DB_FILELINE) -isc_result_t -dns__db_findnodeext(dns_db_t *db, const dns_name_t *name, bool create, - dns_clientinfomethods_t *methods, - dns_clientinfo_t *clientinfo, - dns_dbnode_t **nodep DNS__DB_FLARG); /*%< * Find the node with name 'name'. * @@ -748,26 +733,19 @@ dns__db_findnodeext(dns_db_t *db, const dns_name_t *name, bool create, #define dns_db_find(db, name, version, type, options, now, nodep, foundname, \ rdataset, sigrdataset) \ dns__db_find(db, name, version, type, options, now, nodep, foundname, \ - rdataset, sigrdataset DNS__DB_FILELINE) + NULL, NULL, rdataset, sigrdataset DNS__DB_FILELINE) +#define dns_db_findext(db, name, version, type, options, now, nodep, \ + foundname, methods, clientinfo, rdataset, sigrdataset) \ + dns__db_find(db, name, version, type, options, now, nodep, foundname, \ + methods, clientinfo, rdataset, \ + sigrdataset DNS__DB_FILELINE) isc_result_t dns__db_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, dns_dbnode_t **nodep, dns_name_t *foundname, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG); - -#define dns_db_findext(db, name, version, type, options, now, nodep, \ - foundname, methods, clientinfo, rdataset, sigrdataset) \ - dns__db_findext(db, name, version, type, options, now, nodep, \ - foundname, methods, clientinfo, rdataset, \ - sigrdataset DNS__DB_FILELINE) -isc_result_t -dns__db_findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, - dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, - dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset DNS__DB_FLARG); /*%< * Find the best match for 'name' and 'type' in version 'version' of 'db'. * diff --git a/lib/dns/qpcache.c b/lib/dns/qpcache.c index 13bc5ecb27..5d60c092d8 100644 --- a/lib/dns/qpcache.c +++ b/lib/dns/qpcache.c @@ -1542,6 +1542,8 @@ static isc_result_t qpcache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_rdatatype_t type, unsigned int options, isc_stdtime_t __now, dns_dbnode_t **nodep, dns_name_t *foundname, + dns_clientinfomethods_t *methods ISC_ATTR_UNUSED, + dns_clientinfo_t *clientinfo ISC_ATTR_UNUSED, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG) { qpcnode_t *node = NULL; @@ -2420,6 +2422,8 @@ new_qpcnode(qpcache_t *qpdb, const dns_name_t *name, dns_namespace_t nspace) { static isc_result_t qpcache_findnode(dns_db_t *db, const dns_name_t *name, bool create, + dns_clientinfomethods_t *methods ISC_ATTR_UNUSED, + dns_clientinfo_t *clientinfo ISC_ATTR_UNUSED, dns_dbnode_t **nodep DNS__DB_FLARG) { qpcache_t *qpdb = (qpcache_t *)db; qpcnode_t *node = NULL; diff --git a/lib/dns/qpzone.c b/lib/dns/qpzone.c index 0f393dccf4..4642d04bee 100644 --- a/lib/dns/qpzone.c +++ b/lib/dns/qpzone.c @@ -2505,6 +2505,8 @@ findnodeintree(qpzonedb_t *qpdb, const dns_name_t *name, bool create, static isc_result_t qpzone_findnode(dns_db_t *db, const dns_name_t *name, bool create, + dns_clientinfomethods_t *methods ISC_ATTR_UNUSED, + dns_clientinfo_t *clientinfo ISC_ATTR_UNUSED, dns_dbnode_t **nodep DNS__DB_FLARG) { qpzonedb_t *qpdb = (qpzonedb_t *)db; @@ -3269,7 +3271,10 @@ static isc_result_t qpzone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, dns_rdatatype_t type, unsigned int options, isc_stdtime_t now ISC_ATTR_UNUSED, dns_dbnode_t **nodep, - dns_name_t *foundname, dns_rdataset_t *rdataset, + dns_name_t *foundname, + dns_clientinfomethods_t *methods ISC_ATTR_UNUSED, + dns_clientinfo_t *clientinfo ISC_ATTR_UNUSED, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG) { isc_result_t result; qpzonedb_t *qpdb = (qpzonedb_t *)db; @@ -4992,7 +4997,7 @@ glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype, result = qpzone_find(ctx->db, name, ctx->version, dns_rdatatype_a, DNS_DBFIND_GLUEOK, 0, (dns_dbnode_t **)&node_a, - name_a, &rdataset_a, + name_a, NULL, NULL, &rdataset_a, &sigrdataset_a DNS__DB_FLARG_PASS); if (result == DNS_R_GLUE) { glue = new_glue(ctx->db->mctx, name_a); @@ -5011,7 +5016,7 @@ glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t qtype, result = qpzone_find(ctx->db, name, ctx->version, dns_rdatatype_aaaa, DNS_DBFIND_GLUEOK, 0, (dns_dbnode_t **)&node_aaaa, - name_aaaa, &rdataset_aaaa, + name_aaaa, NULL, NULL, &rdataset_aaaa, &sigrdataset_aaaa DNS__DB_FLARG_PASS); if (result == DNS_R_GLUE) { if (glue == NULL) { diff --git a/lib/dns/sdlz.c b/lib/dns/sdlz.c index c68e2e3764..14f67b81b0 100644 --- a/lib/dns/sdlz.c +++ b/lib/dns/sdlz.c @@ -618,17 +618,11 @@ getnodedata(dns_db_t *db, const dns_name_t *name, bool create, return ISC_R_SUCCESS; } -static isc_result_t -findnodeext(dns_db_t *db, const dns_name_t *name, bool create, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, - dns_dbnode_t **nodep DNS__DB_FLARG) { - return getnodedata(db, name, create, 0, methods, clientinfo, nodep); -} - static isc_result_t findnode(dns_db_t *db, const dns_name_t *name, bool create, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, dns_dbnode_t **nodep DNS__DB_FLARG) { - return getnodedata(db, name, create, 0, NULL, NULL, nodep); + return getnodedata(db, name, create, 0, methods, clientinfo, nodep); } static void @@ -771,11 +765,11 @@ findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, } static isc_result_t -findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, - dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, - dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, - dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG) { +find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, + dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, + dns_dbnode_t **nodep, dns_name_t *foundname, + dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo, + dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG) { dns_sdlz_db_t *sdlz = (dns_sdlz_db_t *)db; dns_dbnode_t *node = NULL; dns_fixedname_t fname; @@ -935,15 +929,6 @@ findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, return result; } -static isc_result_t -find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, - dns_rdatatype_t type, unsigned int options, isc_stdtime_t now, - dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset, - dns_rdataset_t *sigrdataset DNS__DB_FLARG) { - return findext(db, name, version, type, options, now, nodep, foundname, - NULL, NULL, rdataset, sigrdataset DNS__DB_FLARG_PASS); -} - static isc_result_t allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, unsigned int options, isc_stdtime_t now, @@ -1162,8 +1147,6 @@ static dns_dbmethods_t sdlzdb_methods = { .issecure = issecure, .nodecount = nodecount, .getoriginnode = getoriginnode, - .findnodeext = findnodeext, - .findext = findext, }; /*