mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
merge dns_db_find/findext and dns_db_findnode/findnodeext
the dns_db_findext and _findnodeext calls are extended versions of dns_db_find and _findnode, which take additional arguments for client information in order to support ECS. previously, database implementations could support either API call, with cross-compatibility so that, for example, dns_db_findext() could call a find implementation if findext was not implemented, and dns_db_find() could call findext if find was not implemented. this has now been simplified. the find and findnodeext implementations now support client info. all database implementations will now provide these calls. implementations which do not support ECS will simply ignore the clientinfo and clientinfomethods parameters. this only affects the underlying implementation; callers will still use the same interface. dns_db_find() and dns_db_findnode() are now macros which pass NULL to the clientinfo parameters, so that callers don't have to do so explicitly. dns_db_findext() and dns_db_findnodeext() are still available for callers that do wish to pass clientinfo pointers.
This commit is contained in:
parent
9e14fcd259
commit
4de396f955
7 changed files with 75 additions and 184 deletions
|
|
@ -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?
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
|||
77
lib/dns/db.c
77
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
|
||||
|
|
|
|||
|
|
@ -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'.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue