Implement dns_db node tracing
This implements node reference tracing that passes all the internal
layers from dns_db API (and friends) to increment_reference() and
decrement_reference().
It can be enabled by #defining DNS_DB_NODETRACE in <dns/trace.h> header.
The output then looks like this:
incr:node:check_address_records:rootns.c:409:0x7f67f5a55a40->references = 1
decr:node:check_address_records:rootns.c:449:0x7f67f5a55a40->references = 0
incr:nodelock:check_address_records:rootns.c:409:0x7f67f5a55a40:0x7f68304d7040->references = 1
decr:nodelock:check_address_records:rootns.c:449:0x7f67f5a55a40:0x7f68304d7040->references = 0
There's associated python script to find the missing detach located at:
https://gitlab.isc.org/isc-projects/bind9/-/snippets/1038
This commit is contained in:
@@ -80,13 +80,15 @@ typedef struct bdb_rdatasetiter {
|
||||
static isc_result_t
|
||||
findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t now,
|
||||
dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset);
|
||||
dns_rdataset_t *rdataset,
|
||||
dns_rdataset_t *sigrdataset DNS__DB_FLARG);
|
||||
|
||||
static void
|
||||
attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp);
|
||||
attachnode(dns_db_t *db, dns_dbnode_t *source,
|
||||
dns_dbnode_t **targetp DNS__DB_FLARG);
|
||||
|
||||
static void
|
||||
detachnode(dns_db_t *db, dns_dbnode_t **nodep);
|
||||
detachnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG);
|
||||
|
||||
/*
|
||||
* Helper functions to convert text to wire forma.
|
||||
@@ -605,23 +607,24 @@ ipv4reverse_lookup(bdbnode_t *node) {
|
||||
* the implementation can be the same as dns_rdatalist..
|
||||
*/
|
||||
static void
|
||||
disassociate(dns_rdataset_t *rdataset) {
|
||||
disassociate(dns_rdataset_t *rdataset DNS__DB_FLARG) {
|
||||
dns_dbnode_t *node = rdataset->private5;
|
||||
bdbnode_t *bdbnode = (bdbnode_t *)node;
|
||||
dns_db_t *db = (dns_db_t *)bdbnode->bdb;
|
||||
|
||||
detachnode(db, &node);
|
||||
dns_rdatalist_disassociate(rdataset);
|
||||
detachnode(db, &node DNS__DB_FLARG_PASS);
|
||||
dns_rdatalist_disassociate(rdataset DNS__DB_FLARG_PASS);
|
||||
}
|
||||
|
||||
static void
|
||||
rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) {
|
||||
rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target DNS__DB_FLARG) {
|
||||
dns_dbnode_t *node = source->private5;
|
||||
bdbnode_t *bdbnode = (bdbnode_t *)node;
|
||||
dns_db_t *db = (dns_db_t *)bdbnode->bdb;
|
||||
|
||||
dns_rdatalist_clone(source, target);
|
||||
attachnode(db, node, (dns_dbnode_t **)&target->private5);
|
||||
dns_rdatalist_clone(source, target DNS__DB_FLARG_PASS);
|
||||
attachnode(db, node,
|
||||
(dns_dbnode_t **)&target->private5 DNS__DB_FLARG_PASS);
|
||||
}
|
||||
|
||||
static dns_rdatasetmethods_t bdb_rdataset_methods = {
|
||||
@@ -649,16 +652,17 @@ new_rdataset(dns_rdatalist_t *rdatalist, dns_db_t *db, dns_dbnode_t *node,
|
||||
*/
|
||||
|
||||
static void
|
||||
rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp) {
|
||||
rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp DNS__DB_FLARG) {
|
||||
bdb_rdatasetiter_t *bdbiterator = (bdb_rdatasetiter_t *)(*iteratorp);
|
||||
detachnode(bdbiterator->common.db, &bdbiterator->common.node);
|
||||
detachnode(bdbiterator->common.db,
|
||||
&bdbiterator->common.node DNS__DB_FLARG_PASS);
|
||||
isc_mem_put(bdbiterator->common.db->mctx, bdbiterator,
|
||||
sizeof(bdb_rdatasetiter_t));
|
||||
*iteratorp = NULL;
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
rdatasetiter_first(dns_rdatasetiter_t *iterator) {
|
||||
rdatasetiter_first(dns_rdatasetiter_t *iterator DNS__DB_FLARG) {
|
||||
bdb_rdatasetiter_t *bdbiterator = (bdb_rdatasetiter_t *)iterator;
|
||||
bdbnode_t *bdbnode = (bdbnode_t *)iterator->node;
|
||||
|
||||
@@ -670,7 +674,7 @@ rdatasetiter_first(dns_rdatasetiter_t *iterator) {
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
rdatasetiter_next(dns_rdatasetiter_t *iterator) {
|
||||
rdatasetiter_next(dns_rdatasetiter_t *iterator DNS__DB_FLARG) {
|
||||
bdb_rdatasetiter_t *bdbiterator = (bdb_rdatasetiter_t *)iterator;
|
||||
|
||||
bdbiterator->current = ISC_LIST_NEXT(bdbiterator->current, link);
|
||||
@@ -682,7 +686,8 @@ rdatasetiter_next(dns_rdatasetiter_t *iterator) {
|
||||
}
|
||||
|
||||
static void
|
||||
rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset) {
|
||||
rdatasetiter_current(dns_rdatasetiter_t *iterator,
|
||||
dns_rdataset_t *rdataset DNS__DB_FLARG) {
|
||||
bdb_rdatasetiter_t *bdbiterator = (bdb_rdatasetiter_t *)iterator;
|
||||
|
||||
new_rdataset(bdbiterator->current, iterator->db, iterator->node,
|
||||
@@ -748,7 +753,8 @@ attachversion(dns_db_t *db, dns_dbversion_t *source,
|
||||
}
|
||||
|
||||
static void
|
||||
closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) {
|
||||
closeversion(dns_db_t *db, dns_dbversion_t **versionp,
|
||||
bool commit DNS__DB_FLARG) {
|
||||
bdb_t *bdb = (bdb_t *)db;
|
||||
|
||||
REQUIRE(VALID_BDB(bdb));
|
||||
@@ -820,7 +826,7 @@ destroynode(bdbnode_t *node) {
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) {
|
||||
getoriginnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG) {
|
||||
bdb_t *bdb = (bdb_t *)db;
|
||||
bdbnode_t *node = NULL;
|
||||
isc_result_t result;
|
||||
@@ -856,7 +862,7 @@ getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) {
|
||||
|
||||
static isc_result_t
|
||||
findnode(dns_db_t *db, const dns_name_t *name, bool create,
|
||||
dns_dbnode_t **nodep) {
|
||||
dns_dbnode_t **nodep DNS__DB_FLARG) {
|
||||
bdb_t *bdb = (bdb_t *)db;
|
||||
bdbnode_t *node = NULL;
|
||||
isc_result_t result;
|
||||
@@ -904,7 +910,7 @@ 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_rdataset_t *sigrdataset DNS__DB_FLARG) {
|
||||
bdb_t *bdb = (bdb_t *)db;
|
||||
isc_result_t result;
|
||||
dns_dbnode_t *node = NULL;
|
||||
@@ -939,7 +945,7 @@ 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);
|
||||
result = findnode(db, xname, false, &node DNS__DB_FLARG_PASS);
|
||||
if (result == ISC_R_NOTFOUND) {
|
||||
/*
|
||||
* No data at zone apex?
|
||||
@@ -966,9 +972,9 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version,
|
||||
* the qname.
|
||||
*/
|
||||
if (i < nlabels) {
|
||||
result = findrdataset(db, node, version,
|
||||
dns_rdatatype_dname, 0, now,
|
||||
rdataset, sigrdataset);
|
||||
result = findrdataset(
|
||||
db, node, version, dns_rdatatype_dname, 0, now,
|
||||
rdataset, sigrdataset DNS__DB_FLARG_PASS);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
result = DNS_R_DNAME;
|
||||
break;
|
||||
@@ -980,9 +986,9 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version,
|
||||
* origin or glue is ok.
|
||||
*/
|
||||
if (i != olabels && (options & DNS_DBFIND_GLUEOK) == 0) {
|
||||
result = findrdataset(db, node, version,
|
||||
dns_rdatatype_ns, 0, now,
|
||||
rdataset, sigrdataset);
|
||||
result = findrdataset(
|
||||
db, node, version, dns_rdatatype_ns, 0, now,
|
||||
rdataset, sigrdataset DNS__DB_FLARG_PASS);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
if (i == nlabels && type == dns_rdatatype_any) {
|
||||
result = DNS_R_ZONECUT;
|
||||
@@ -1024,7 +1030,7 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version,
|
||||
* Look for the qtype.
|
||||
*/
|
||||
result = findrdataset(db, node, version, type, 0, now, rdataset,
|
||||
sigrdataset);
|
||||
sigrdataset DNS__DB_FLARG_PASS);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
break;
|
||||
}
|
||||
@@ -1033,9 +1039,9 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version,
|
||||
* Look for a CNAME.
|
||||
*/
|
||||
if (type != dns_rdatatype_cname) {
|
||||
result = findrdataset(db, node, version,
|
||||
dns_rdatatype_cname, 0, now,
|
||||
rdataset, sigrdataset);
|
||||
result = findrdataset(
|
||||
db, node, version, dns_rdatatype_cname, 0, now,
|
||||
rdataset, sigrdataset DNS__DB_FLARG_PASS);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
result = DNS_R_CNAME;
|
||||
break;
|
||||
@@ -1057,14 +1063,15 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version,
|
||||
if (nodep != NULL) {
|
||||
*nodep = node;
|
||||
} else if (node != NULL) {
|
||||
detachnode(db, &node);
|
||||
detachnode(db, &node DNS__DB_FLARG_PASS);
|
||||
}
|
||||
|
||||
return (result);
|
||||
}
|
||||
|
||||
static void
|
||||
attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) {
|
||||
attachnode(dns_db_t *db, dns_dbnode_t *source,
|
||||
dns_dbnode_t **targetp DNS__DB_FLARG) {
|
||||
bdb_t *bdb = (bdb_t *)db;
|
||||
bdbnode_t *node = (bdbnode_t *)source;
|
||||
|
||||
@@ -1076,7 +1083,7 @@ attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) {
|
||||
}
|
||||
|
||||
static void
|
||||
detachnode(dns_db_t *db, dns_dbnode_t **nodep) {
|
||||
detachnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG) {
|
||||
bdb_t *bdb = (bdb_t *)db;
|
||||
bdbnode_t *node = NULL;
|
||||
|
||||
@@ -1094,7 +1101,8 @@ detachnode(dns_db_t *db, dns_dbnode_t **nodep) {
|
||||
static isc_result_t
|
||||
findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t now,
|
||||
dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) {
|
||||
dns_rdataset_t *rdataset,
|
||||
dns_rdataset_t *sigrdataset DNS__DB_FLARG) {
|
||||
bdbnode_t *bdbnode = (bdbnode_t *)node;
|
||||
dns_rdatalist_t *list = NULL;
|
||||
|
||||
@@ -1128,7 +1136,7 @@ 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,
|
||||
unsigned int options, isc_stdtime_t now,
|
||||
dns_rdatasetiter_t **iteratorp) {
|
||||
dns_rdatasetiter_t **iteratorp DNS__DB_FLARG) {
|
||||
bdb_rdatasetiter_t *iterator = NULL;
|
||||
|
||||
REQUIRE(version == NULL || version == &dummy);
|
||||
@@ -1143,7 +1151,7 @@ allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
.common.magic = DNS_RDATASETITER_MAGIC,
|
||||
};
|
||||
|
||||
attachnode(db, node, &iterator->common.node);
|
||||
attachnode(db, node, &iterator->common.node DNS__DB_FLARG_PASS);
|
||||
|
||||
*iteratorp = (dns_rdatasetiter_t *)iterator;
|
||||
|
||||
|
||||
@@ -132,66 +132,72 @@ attachversion(dns_db_t *db, dns_dbversion_t *source,
|
||||
}
|
||||
|
||||
static void
|
||||
closeversion(dns_db_t *db, dns_dbversion_t **versionp, bool commit) {
|
||||
closeversion(dns_db_t *db, dns_dbversion_t **versionp,
|
||||
bool commit DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
dns_db_closeversion(sampledb->rbtdb, versionp, commit);
|
||||
dns__db_closeversion(sampledb->rbtdb, 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_dbnode_t **nodep DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_findnode(sampledb->rbtdb, name, create, nodep));
|
||||
return (dns__db_findnode(sampledb->rbtdb, 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_rdataset_t *sigrdataset DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_find(sampledb->rbtdb, name, version, type, options, now,
|
||||
nodep, foundname, rdataset, sigrdataset));
|
||||
return (dns__db_find(sampledb->rbtdb, 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,
|
||||
dns_name_t *dcname, dns_rdataset_t *rdataset,
|
||||
dns_rdataset_t *sigrdataset) {
|
||||
dns_rdataset_t *sigrdataset DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_findzonecut(sampledb->rbtdb, name, options, now, nodep,
|
||||
foundname, dcname, rdataset, sigrdataset));
|
||||
return (dns__db_findzonecut(sampledb->rbtdb, name, options, now, nodep,
|
||||
foundname, dcname, rdataset,
|
||||
sigrdataset DNS__DB_FLARG_PASS));
|
||||
}
|
||||
|
||||
static void
|
||||
attachnode(dns_db_t *db, dns_dbnode_t *source, dns_dbnode_t **targetp) {
|
||||
attachnode(dns_db_t *db, dns_dbnode_t *source,
|
||||
dns_dbnode_t **targetp DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
dns_db_attachnode(sampledb->rbtdb, source, targetp);
|
||||
dns__db_attachnode(sampledb->rbtdb, source, targetp DNS__DB_FLARG_PASS);
|
||||
}
|
||||
|
||||
static void
|
||||
detachnode(dns_db_t *db, dns_dbnode_t **targetp) {
|
||||
detachnode(dns_db_t *db, dns_dbnode_t **targetp DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
dns_db_detachnode(sampledb->rbtdb, targetp);
|
||||
dns__db_detachnode(sampledb->rbtdb, targetp DNS__DB_FLARG_PASS);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
@@ -225,31 +231,33 @@ createiterator(dns_db_t *db, unsigned int options,
|
||||
static isc_result_t
|
||||
findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t now,
|
||||
dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) {
|
||||
dns_rdataset_t *rdataset,
|
||||
dns_rdataset_t *sigrdataset DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_findrdataset(sampledb->rbtdb, node, version, type,
|
||||
covers, now, rdataset, sigrdataset));
|
||||
return (dns__db_findrdataset(sampledb->rbtdb, node, version, type,
|
||||
covers, now, 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,
|
||||
dns_rdatasetiter_t **iteratorp) {
|
||||
dns_rdatasetiter_t **iteratorp DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_allrdatasets(sampledb->rbtdb, node, version, options,
|
||||
now, iteratorp));
|
||||
return (dns__db_allrdatasets(sampledb->rbtdb, node, version, options,
|
||||
now, iteratorp DNS__DB_FLARG_PASS));
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
isc_stdtime_t now, dns_rdataset_t *rdataset, unsigned int options,
|
||||
dns_rdataset_t *addedrdataset) {
|
||||
dns_rdataset_t *addedrdataset DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
isc_result_t result;
|
||||
dns_fixedname_t name;
|
||||
@@ -257,8 +265,8 @@ addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
dns_fixedname_init(&name);
|
||||
CHECK(dns_db_addrdataset(sampledb->rbtdb, node, version, now, rdataset,
|
||||
options, addedrdataset));
|
||||
CHECK(dns__db_addrdataset(sampledb->rbtdb, node, version, now, rdataset,
|
||||
options, addedrdataset DNS__DB_FLARG_PASS));
|
||||
if (rdataset->type == dns_rdatatype_a ||
|
||||
rdataset->type == dns_rdatatype_aaaa)
|
||||
{
|
||||
@@ -274,7 +282,7 @@ cleanup:
|
||||
static isc_result_t
|
||||
subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
dns_rdataset_t *rdataset, unsigned int options,
|
||||
dns_rdataset_t *newrdataset) {
|
||||
dns_rdataset_t *newrdataset DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
isc_result_t result;
|
||||
dns_fixedname_t name;
|
||||
@@ -282,8 +290,9 @@ subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
dns_fixedname_init(&name);
|
||||
result = dns_db_subtractrdataset(sampledb->rbtdb, node, version,
|
||||
rdataset, options, newrdataset);
|
||||
result = dns__db_subtractrdataset(sampledb->rbtdb, node, version,
|
||||
rdataset, options,
|
||||
newrdataset DNS__DB_FLARG_PASS);
|
||||
if (result != ISC_R_SUCCESS && result != DNS_R_NXRRSET) {
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -306,13 +315,13 @@ cleanup:
|
||||
*/
|
||||
static isc_result_t
|
||||
deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
dns_rdatatype_t type, dns_rdatatype_t covers) {
|
||||
dns_rdatatype_t type, dns_rdatatype_t covers DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_deleterdataset(sampledb->rbtdb, node, version, type,
|
||||
covers));
|
||||
return (dns__db_deleterdataset(sampledb->rbtdb, node, version, type,
|
||||
covers DNS__DB_FLARG_PASS));
|
||||
}
|
||||
|
||||
static bool
|
||||
@@ -352,12 +361,13 @@ setloop(dns_db_t *db, isc_loop_t *loop) {
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) {
|
||||
getoriginnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_getoriginnode(sampledb->rbtdb, nodep));
|
||||
return (dns__db_getoriginnode(sampledb->rbtdb,
|
||||
nodep DNS__DB_FLARG_PASS));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -383,12 +393,13 @@ getnsec3parameters(dns_db_t *db, dns_dbversion_t *version, dns_hash_t *hash,
|
||||
|
||||
static isc_result_t
|
||||
findnsec3node(dns_db_t *db, const dns_name_t *name, bool create,
|
||||
dns_dbnode_t **nodep) {
|
||||
dns_dbnode_t **nodep DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_findnsec3node(sampledb->rbtdb, name, create, nodep));
|
||||
return (dns__db_findnsec3node(sampledb->rbtdb, name, create,
|
||||
nodep DNS__DB_FLARG_PASS));
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
@@ -401,21 +412,24 @@ setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) {
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, dns_name_t *name) {
|
||||
getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset,
|
||||
dns_name_t *name DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_getsigningtime(sampledb->rbtdb, rdataset, name));
|
||||
return (dns__db_getsigningtime(sampledb->rbtdb, rdataset,
|
||||
name DNS__DB_FLARG_PASS));
|
||||
}
|
||||
|
||||
static void
|
||||
resigned(dns_db_t *db, dns_rdataset_t *rdataset, dns_dbversion_t *version) {
|
||||
resigned(dns_db_t *db, dns_rdataset_t *rdataset,
|
||||
dns_dbversion_t *version DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
dns_db_resigned(sampledb->rbtdb, rdataset, version);
|
||||
dns__db_resigned(sampledb->rbtdb, rdataset, version DNS__DB_FLARG_PASS);
|
||||
}
|
||||
|
||||
static bool
|
||||
@@ -439,13 +453,13 @@ 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_dbnode_t **nodep DNS__DB_FLARG) {
|
||||
sampledb_t *sampledb = (sampledb_t *)db;
|
||||
|
||||
REQUIRE(VALID_SAMPLEDB(sampledb));
|
||||
|
||||
return (dns_db_findnodeext(sampledb->rbtdb, name, create, methods,
|
||||
clientinfo, nodep));
|
||||
return (dns__db_findnodeext(sampledb->rbtdb, name, create, methods,
|
||||
clientinfo, nodep DNS__DB_FLARG_PASS));
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
@@ -453,14 +467,14 @@ 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_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->rbtdb, name, version, type, options,
|
||||
now, nodep, foundname, methods, clientinfo,
|
||||
rdataset, sigrdataset));
|
||||
return (dns__db_findext(sampledb->rbtdb, name, version, type, options,
|
||||
now, nodep, foundname, methods, clientinfo,
|
||||
rdataset, sigrdataset DNS__DB_FLARG_PASS));
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
|
||||
Reference in New Issue
Block a user