mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-08 22:42:04 -04:00
switch database defaults from "rbt" to "qp"
replace the string "rbt" throughout BIND with "qp" so that qpdb databases will be used by default instead of rbtdb. rbtdb databases can still be used by specifying "database rbt;" in a zone statement.
This commit is contained in:
parent
845f832308
commit
bb4464181a
27 changed files with 53 additions and 43 deletions
|
|
@ -73,7 +73,7 @@
|
|||
#define ERR_IS_MXCNAME 6
|
||||
#define ERR_IS_SRVCNAME 7
|
||||
|
||||
static const char *dbtype[] = { "rbt" };
|
||||
static const char *dbtype[] = { "qp" };
|
||||
|
||||
int debug = 0;
|
||||
const char *journal = NULL;
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
|
|||
* Skip checks when using an alternate data source.
|
||||
*/
|
||||
cfg_map_get(zoptions, "database", &dbobj);
|
||||
if (dbobj != NULL && strcmp("rbt", cfg_obj_asstring(dbobj)) != 0) {
|
||||
if (dbobj != NULL && strcmp("qp", cfg_obj_asstring(dbobj)) != 0) {
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ static void
|
|||
load_db(const char *filename, dns_db_t **dbp, dns_dbnode_t **nodep) {
|
||||
isc_result_t result;
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0,
|
||||
result = dns_db_create(mctx, "qp", name, dns_dbtype_zone, rdclass, 0,
|
||||
NULL, dbp);
|
||||
check_result(result, "dns_db_create()");
|
||||
|
||||
|
|
@ -979,7 +979,7 @@ update_diff(const char *cmd, uint32_t ttl, dns_rdataset_t *addset,
|
|||
dns_rdataset_t diffset;
|
||||
uint32_t save;
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0,
|
||||
result = dns_db_create(mctx, "qp", name, dns_dbtype_zone, rdclass, 0,
|
||||
NULL, &update_db);
|
||||
check_result(result, "dns_db_create()");
|
||||
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ loadset(const char *filename, dns_rdataset_t *rdataset) {
|
|||
|
||||
dns_name_format(name, setname, sizeof(setname));
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0,
|
||||
result = dns_db_create(mctx, "qp", name, dns_dbtype_zone, rdclass, 0,
|
||||
NULL, &db);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fatal("can't create database");
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ loadset(const char *filename, dns_rdataset_t *rdataset) {
|
|||
|
||||
dns_name_format(name, setname, sizeof(setname));
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0,
|
||||
result = dns_db_create(mctx, "qp", name, dns_dbtype_zone, rdclass, 0,
|
||||
NULL, &db);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fatal("can't create database");
|
||||
|
|
|
|||
|
|
@ -998,7 +998,7 @@ opendb(const char *prefix, dns_name_t *name, dns_rdataclass_t rdclass,
|
|||
}
|
||||
isc_buffer_putuint8(&b, 0);
|
||||
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
rdclass, 0, NULL, dbp);
|
||||
check_result(result, "dns_db_create()");
|
||||
|
||||
|
|
@ -2572,7 +2572,7 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
|
|||
isc_result_totext(result));
|
||||
}
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0,
|
||||
result = dns_db_create(mctx, "qp", name, dns_dbtype_zone, rdclass, 0,
|
||||
NULL, db);
|
||||
check_result(result, "dns_db_create()");
|
||||
|
||||
|
|
@ -3162,7 +3162,7 @@ writeset(const char *prefix, dns_rdatatype_t type) {
|
|||
dns_diff_append(&diff, &tuple);
|
||||
}
|
||||
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
gclass, 0, NULL, &db);
|
||||
check_result(result, "dns_db_create");
|
||||
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
|
|||
isc_result_totext(result));
|
||||
}
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone, rdclass, 0,
|
||||
result = dns_db_create(mctx, "qp", name, dns_dbtype_zone, rdclass, 0,
|
||||
NULL, db);
|
||||
check_result(result, "dns_db_create()");
|
||||
|
||||
|
|
|
|||
|
|
@ -3377,7 +3377,7 @@ create_empty_zone(dns_zone_t *pzone, dns_name_t *name, dns_view_t *view,
|
|||
const cfg_obj_t *obj;
|
||||
const cfg_obj_t *zconfig;
|
||||
const cfg_obj_t *zoptions;
|
||||
const char *rbt_dbtype[4] = { "rbt" };
|
||||
const char *rbt_dbtype[4] = { "qp" };
|
||||
const char *sep = ": view ";
|
||||
const char *str;
|
||||
const char *viewname = view->name;
|
||||
|
|
@ -3432,7 +3432,7 @@ create_empty_zone(dns_zone_t *pzone, dns_name_t *name, dns_view_t *view,
|
|||
}
|
||||
}
|
||||
if (db == NULL) {
|
||||
CHECK(dns_db_create(view->mctx, "rbt", name,
|
||||
CHECK(dns_db_create(view->mctx, "qp", name,
|
||||
dns_dbtype_zone, view->rdclass, 0,
|
||||
NULL, &db));
|
||||
CHECK(dns_db_newversion(db, &version));
|
||||
|
|
|
|||
|
|
@ -885,7 +885,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||
uint32_t count;
|
||||
unsigned int dbargc;
|
||||
char **dbargv;
|
||||
static char default_dbtype[] = "rbt";
|
||||
static char default_dbtype[] = "qp";
|
||||
static char dlz_dbtype[] = "dlz";
|
||||
char *cpval = default_dbtype;
|
||||
isc_mem_t *mctx = dns_zone_getmctx(zone);
|
||||
|
|
|
|||
|
|
@ -625,7 +625,7 @@ create_db(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
|
|||
sampledb->inst = driverarg;
|
||||
|
||||
/* Create internal instance of RBT DB implementation from BIND. */
|
||||
CHECK(dns_db_create(mctx, "rbt", origin, dns_dbtype_zone,
|
||||
CHECK(dns_db_create(mctx, "qp", origin, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, &sampledb->rbtdb));
|
||||
|
||||
/* Create fake SOA, NS, and A records to make database loadable. */
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ loadzone(dns_db_t **db, const char *origin, const char *filename) {
|
|||
return (result);
|
||||
}
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", name, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, db);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
return (result);
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
|||
dns_db_t *db = NULL;
|
||||
|
||||
isc_mem_create(&mctx);
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -90,12 +90,12 @@ cache_create_db(dns_cache_t *cache, dns_db_t **db) {
|
|||
char *argv[1] = { 0 };
|
||||
|
||||
/*
|
||||
* For databases of type "rbt" (which is the only cache
|
||||
* For databases of type "qp" (which is the only cache
|
||||
* implementation currently in existence) we pass hmctx to
|
||||
* dns_db_create() via argv[0].
|
||||
*/
|
||||
argv[0] = (char *)cache->hmctx;
|
||||
result = dns_db_create(cache->mctx, "rbt", dns_rootname,
|
||||
result = dns_db_create(cache->mctx, "qp", dns_rootname,
|
||||
dns_dbtype_cache, cache->rdclass, 1, argv, db);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
dns_db_setservestalettl(*db, cache->serve_stale_ttl);
|
||||
|
|
|
|||
|
|
@ -216,8 +216,8 @@ createview(isc_mem_t *mctx, dns_rdataclass_t rdclass, isc_loopmgr_t *loopmgr,
|
|||
|
||||
CHECK(dns_view_createresolver(view, loopmgr, nm, 0, tlsctx_client_cache,
|
||||
dispatchv4, dispatchv6));
|
||||
CHECK(dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_cache,
|
||||
rdclass, 0, NULL, &view->cachedb));
|
||||
CHECK(dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_cache, rdclass,
|
||||
0, NULL, &view->cachedb));
|
||||
|
||||
*viewp = view;
|
||||
return (ISC_R_SUCCESS);
|
||||
|
|
|
|||
12
lib/dns/db.c
12
lib/dns/db.c
|
|
@ -63,6 +63,7 @@ struct dns_dbimplementation {
|
|||
|
||||
#include "db_p.h"
|
||||
#include "qpdb_p.h"
|
||||
#include "rbtdb_p.h"
|
||||
|
||||
unsigned int dns_pps = 0U;
|
||||
|
||||
|
|
@ -71,19 +72,28 @@ static isc_rwlock_t implock;
|
|||
static isc_once_t once = ISC_ONCE_INIT;
|
||||
|
||||
static dns_dbimplementation_t rbtimp;
|
||||
static dns_dbimplementation_t qpimp;
|
||||
|
||||
static void
|
||||
initialize(void) {
|
||||
isc_rwlock_init(&implock);
|
||||
|
||||
ISC_LIST_INIT(implementations);
|
||||
|
||||
rbtimp = (dns_dbimplementation_t){
|
||||
.name = "rbt",
|
||||
.create = dns__rbtdb_create,
|
||||
.link = ISC_LINK_INITIALIZER,
|
||||
};
|
||||
|
||||
qpimp = (dns_dbimplementation_t){
|
||||
.name = "qp",
|
||||
.create = dns__qpdb_create,
|
||||
.link = ISC_LINK_INITIALIZER,
|
||||
};
|
||||
|
||||
ISC_LIST_INIT(implementations);
|
||||
ISC_LIST_APPEND(implementations, &rbtimp, link);
|
||||
ISC_LIST_APPEND(implementations, &qpimp, link);
|
||||
}
|
||||
|
||||
static dns_dbimplementation_t *
|
||||
|
|
|
|||
|
|
@ -309,7 +309,7 @@ dns__qpdb_create(isc_mem_t *mctx, const dns_name_t *base, dns_dbtype_t type,
|
|||
dns_rdataclass_t rdclass, unsigned int argc, char *argv[],
|
||||
void *driverarg, dns_db_t **dbp);
|
||||
/*%<
|
||||
* Create a new database of type "rbt". Called via dns_db_create();
|
||||
* Create a new database of type "qp". Called via dns_db_create();
|
||||
* see documentation for that function for more details.
|
||||
*
|
||||
* If argv[0] is set, it points to a valid memory context to be used for
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
|
|||
|
||||
REQUIRE(target != NULL && *target == NULL);
|
||||
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
rdclass, 0, NULL, &db);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
goto failure;
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ axfr_makedb(dns_xfrin_t *xfr, dns_db_t **dbp) {
|
|||
isc_result_t result;
|
||||
|
||||
result = dns_db_create(xfr->mctx, /* XXX */
|
||||
"rbt", /* XXX guess */
|
||||
"qp", /* XXX guess */
|
||||
&xfr->name, dns_dbtype_zone, xfr->rdclass, 0,
|
||||
NULL, /* XXX guess */
|
||||
dbp);
|
||||
|
|
|
|||
|
|
@ -1006,7 +1006,7 @@ zmgr_tlsctx_attach(dns_zonemgr_t *zmgr, isc_tlsctx_cache_t **ptlsctx_cache);
|
|||
#define ENTER zone_debuglog(zone, __func__, 1, "enter")
|
||||
|
||||
static const unsigned int dbargc_default = 1;
|
||||
static const char *dbargv_default[] = { "rbt" };
|
||||
static const char *dbargv_default[] = { "qp" };
|
||||
|
||||
#define DNS_ZONE_JITTER_ADD(a, b, c) \
|
||||
do { \
|
||||
|
|
@ -1876,7 +1876,7 @@ dns_zone_rpz_enable(dns_zone_t *zone, dns_rpz_zones_t *rpzs,
|
|||
* Only zones that are loaded instead of mmap()ed create the
|
||||
* summary data and so can be policy zones.
|
||||
*/
|
||||
if (strcmp(zone->db_argv[0], "rbt") != 0) {
|
||||
if (strcmp(zone->db_argv[0], "qp") != 0) {
|
||||
return (ISC_R_NOTIMPLEMENTED);
|
||||
}
|
||||
|
||||
|
|
@ -2118,7 +2118,7 @@ zone_load(dns_zone_t *zone, unsigned int flags, bool locked) {
|
|||
|
||||
INSIST(zone->db_argc >= 1);
|
||||
|
||||
rbt = strcmp(zone->db_argv[0], "rbt") == 0;
|
||||
rbt = strcmp(zone->db_argv[0], "qp") == 0;
|
||||
|
||||
if (zone->db != NULL && zone->masterfile == NULL && rbt) {
|
||||
/*
|
||||
|
|
@ -11324,7 +11324,7 @@ zone_expire(dns_zone_t *zone) {
|
|||
isc_result_t result;
|
||||
dns_rpz_zone_t *rpz = zone->rpzs->zones[zone->rpz_num];
|
||||
|
||||
CHECK(dns_db_create(zone->mctx, "rbt", &zone->origin,
|
||||
CHECK(dns_db_create(zone->mctx, "qp", &zone->origin,
|
||||
dns_dbtype_zone, zone->rdclass, 0, NULL,
|
||||
&db));
|
||||
CHECK(dns_rpz_dbupdate_callback(db, rpz));
|
||||
|
|
|
|||
|
|
@ -3988,7 +3988,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
|
|||
result = ISC_R_FAILURE;
|
||||
} else if (!dlz && (tresult == ISC_R_NOTFOUND ||
|
||||
(tresult == ISC_R_SUCCESS &&
|
||||
strcmp("rbt", cfg_obj_asstring(obj)) == 0)))
|
||||
strcmp("qp", cfg_obj_asstring(obj)) == 0)))
|
||||
{
|
||||
isc_result_t res1;
|
||||
const cfg_obj_t *fileobj = NULL;
|
||||
|
|
|
|||
|
|
@ -463,7 +463,7 @@ static struct fun fun_list[] = {
|
|||
{ "lfht", new_lfht, thread_lfht },
|
||||
{ "ht", new_ht, thread_ht },
|
||||
{ "hashmap", new_hashmap, thread_hashmap },
|
||||
{ "rbt", new_rbt, thread_rbt },
|
||||
{ "qp", new_rbt, thread_rbt },
|
||||
{ "qp", new_qp, thread_qp },
|
||||
{ "qp+nosqz", new_qp, thread_qp_nosqz },
|
||||
{ "qp+barrier", new_qp, thread_qp_brr },
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ ISC_RUN_TEST_IMPL(getoriginnode) {
|
|||
|
||||
UNUSED(state);
|
||||
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
|
|
@ -69,7 +69,7 @@ ISC_RUN_TEST_IMPL(getsetservestalettl) {
|
|||
|
||||
UNUSED(state);
|
||||
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_cache,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_cache,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
|
|
@ -107,7 +107,7 @@ ISC_RUN_TEST_IMPL(dns_dbfind_staleok) {
|
|||
|
||||
UNUSED(state);
|
||||
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_cache,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_cache,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
|
|
@ -249,7 +249,7 @@ ISC_RUN_TEST_IMPL(class) {
|
|||
|
||||
UNUSED(state);
|
||||
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
|
|
@ -270,7 +270,7 @@ ISC_RUN_TEST_IMPL(dbtype) {
|
|||
UNUSED(state);
|
||||
|
||||
/* DB has zone semantics */
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
result = dns_db_load(db, TESTS_DIR "/testdata/db/data.db",
|
||||
|
|
@ -281,7 +281,7 @@ ISC_RUN_TEST_IMPL(dbtype) {
|
|||
dns_db_detach(&db);
|
||||
|
||||
/* DB has cache semantics */
|
||||
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
result = dns_db_load(db, TESTS_DIR "/testdata/db/data.db",
|
||||
|
|
|
|||
|
|
@ -78,13 +78,13 @@ setup_test(void **state) {
|
|||
|
||||
isc_assertion_setcallback(local_callback);
|
||||
|
||||
res = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
res = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, &db1);
|
||||
assert_int_equal(res, ISC_R_SUCCESS);
|
||||
dns_db_newversion(db1, &v1);
|
||||
assert_non_null(v1);
|
||||
|
||||
res = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
|
||||
res = dns_db_create(mctx, "qp", dns_rootname, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, &db2);
|
||||
assert_int_equal(res, ISC_R_SUCCESS);
|
||||
dns_db_newversion(db2, &v2);
|
||||
|
|
|
|||
|
|
@ -472,7 +472,7 @@ ISC_RUN_TEST_IMPL(dumpraw) {
|
|||
&target);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
result = dns_db_create(mctx, "rbt", &dnsorigin, dns_dbtype_zone,
|
||||
result = dns_db_create(mctx, "qp", &dnsorigin, dns_dbtype_zone,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
|
|
|
|||
|
|
@ -293,7 +293,7 @@ ISC_RUN_TEST_IMPL(overmempurge_bigrdata) {
|
|||
|
||||
isc_mem_create(&mctx2);
|
||||
|
||||
result = dns_db_create(mctx2, "rbt", dns_rootname, dns_dbtype_cache,
|
||||
result = dns_db_create(mctx2, "qp", dns_rootname, dns_dbtype_cache,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
|
|
@ -337,7 +337,7 @@ ISC_RUN_TEST_IMPL(overmempurge_longname) {
|
|||
|
||||
isc_mem_create(&mctx2);
|
||||
|
||||
result = dns_db_create(mctx2, "rbt", dns_rootname, dns_dbtype_cache,
|
||||
result = dns_db_create(mctx2, "qp", dns_rootname, dns_dbtype_cache,
|
||||
dns_rdataclass_in, 0, NULL, &db);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ dns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const char *origin,
|
|||
return (result);
|
||||
}
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dbtype, dns_rdataclass_in, 0,
|
||||
result = dns_db_create(mctx, "qp", name, dbtype, dns_rdataclass_in, 0,
|
||||
NULL, db);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
return (result);
|
||||
|
|
|
|||
|
|
@ -539,7 +539,7 @@ ns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const char *origin,
|
|||
return (result);
|
||||
}
|
||||
|
||||
result = dns_db_create(mctx, "rbt", name, dbtype, dns_rdataclass_in, 0,
|
||||
result = dns_db_create(mctx, "qp", name, dbtype, dns_rdataclass_in, 0,
|
||||
NULL, db);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
return (result);
|
||||
|
|
|
|||
Loading…
Reference in a new issue