summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bin/named/server.c6
-rw-r--r--lib/dns/dynamic_db.c8
-rw-r--r--lib/dns/include/dns/dynamic_db.h5
3 files changed, 11 insertions, 8 deletions
diff --git a/bin/named/server.c b/bin/named/server.c
index 1ed22e7..b76f3ce 100644
--- a/bin/named/server.c
+++ b/bin/named/server.c
@@ -851,7 +851,7 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) {
static isc_result_t
configure_dynamic_db(const cfg_obj_t *dynamic_db, isc_mem_t *mctx,
- dns_view_t *view)
+ dns_view_t *view, dns_zonemgr_t *zmgr)
{
isc_result_t result;
const cfg_obj_t *obj;
@@ -905,7 +905,7 @@ configure_dynamic_db(const cfg_obj_t *dynamic_db, isc_mem_t *mctx,
REQUIRE(i < len);
argv[i] = NULL;
- CHECK(dns_dynamic_db_load(libname, name, mctx, argv, view));
+ CHECK(dns_dynamic_db_load(libname, name, mctx, argv, view, zmgr));
cleanup:
if (argv != NULL)
@@ -1251,7 +1251,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
element = cfg_list_next(element))
{
obj = cfg_listelt_value(element);
- CHECK(configure_dynamic_db(obj, mctx, view));
+ CHECK(configure_dynamic_db(obj, mctx, view, ns_g_server->zonemgr));
}
/*
diff --git a/lib/dns/dynamic_db.c b/lib/dns/dynamic_db.c
index 776e670..b95b1fe 100644
--- a/lib/dns/dynamic_db.c
+++ b/lib/dns/dynamic_db.c
@@ -41,7 +41,8 @@
typedef isc_result_t (*register_func_t)(isc_mem_t *mctx, const char *name,
- const char * const *argv, dns_view_t *view);
+ const char * const *argv, dns_view_t *view,
+ dns_zonemgr_t *zmgr);
typedef void (*destroy_func_t)(void);
typedef struct dyndb_implementation dyndb_implementation_t;
@@ -192,7 +193,8 @@ unload_library(dyndb_implementation_t **impp)
isc_result_t
dns_dynamic_db_load(const char *libname, const char *name, isc_mem_t *mctx,
- const char * const *argv, dns_view_t *view)
+ const char * const *argv, dns_view_t *view,
+ dns_zonemgr_t *zmgr)
{
isc_result_t result;
dyndb_implementation_t *implementation = NULL;
@@ -200,7 +202,7 @@ dns_dynamic_db_load(const char *libname, const char *name, isc_mem_t *mctx,
RUNTIME_CHECK(isc_once_do(&once, dyndb_initialize) == ISC_R_SUCCESS);
CHECK(load_library(mctx, libname, &implementation));
- CHECK(implementation->register_function(mctx, name, argv, view));
+ CHECK(implementation->register_function(mctx, name, argv, view, zmgr));
LOCK(&dyndb_lock);
APPEND(dyndb_implementations, implementation, link);
diff --git a/lib/dns/include/dns/dynamic_db.h b/lib/dns/include/dns/dynamic_db.h
index 151103f..03339e6 100644
--- a/lib/dns/include/dns/dynamic_db.h
+++ b/lib/dns/include/dns/dynamic_db.h
@@ -20,12 +20,13 @@
#define DYNAMIC_DB_H
#include <isc/types.h>
+
#include <dns/types.h>
isc_result_t dns_dynamic_db_load(const char *libname, const char *name,
isc_mem_t *mctx, const char * const *argv,
- dns_view_t *view);
+ dns_view_t *view, dns_zonemgr_t *zmgr);
-isc_result_t dns_dynamic_db_cleanup(void);
+void dns_dynamic_db_cleanup(void);
#endif