#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;
* 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);
}
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()");
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()");
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");
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");
}
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()");
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()");
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");
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()");
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;
}
}
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));
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);
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. */
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);
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;
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);
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);
#include "db_p.h"
#include "qpdb_p.h"
+#include "rbtdb_p.h"
unsigned int dns_pps = 0U;
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 *
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
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;
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);
#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 { \
* 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);
}
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) {
/*
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));
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;
{ "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 },
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);
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);
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);
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);
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",
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",
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);
&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);
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);
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);
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);
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);