diff --git a/bin/named/server.c b/bin/named/server.c index fd6af5f078..dbcd759963 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -1476,6 +1476,7 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) { return (result); } +#ifdef HAVE_DLOPEN static isc_result_t configure_dyndb(const cfg_obj_t *dyndb, isc_mem_t *mctx, const dns_dyndbctx_t *dctx) @@ -1501,6 +1502,7 @@ configure_dyndb(const cfg_obj_t *dyndb, isc_mem_t *mctx, name, isc_result_totext(result)); return (result); } +#endif static isc_result_t @@ -4666,6 +4668,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, else (void)cfg_map_get(config, "dyndb", &dyndb_list); +#ifdef HAVE_DLOPEN for (element = cfg_list_first(dyndb_list); element != NULL; element = cfg_list_next(element)) @@ -4683,6 +4686,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, CHECK(configure_dyndb(dyndb, mctx, dctx)); } +#endif /* * Setup automatic empty zones. If recursion is off then diff --git a/lib/bind9/check.c b/lib/bind9/check.c index 8700ecf5a8..b1e69c9cd0 100644 --- a/lib/bind9/check.c +++ b/lib/bind9/check.c @@ -2937,6 +2937,9 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, { const cfg_obj_t *zones = NULL; const cfg_obj_t *keys = NULL; +#ifndef HAVE_DLOPEN + const cfg_obj_t *dyndb = NULL; +#endif const cfg_listelt_t *element, *element2; isc_symtab_t *symtab = NULL; isc_result_t result = ISC_R_SUCCESS; @@ -2990,6 +2993,20 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, result = ISC_R_FAILURE; } +#ifndef HAVE_DLOPEN + if (voptions != NULL) + (void)cfg_map_get(voptions, "dyndb", &dyndb); + else + (void)cfg_map_get(config, "dyndb", &dyndb); + + if (dyndb != NULL) { + cfg_obj_log(dyndb, logctx, ISC_LOG_ERROR, + "dynamic loading of databases is not supported"); + if (tresult != ISC_R_SUCCESS) + result = ISC_R_NOTIMPLEMENTED; + } +#endif + /* * Check that the response-policy and catalog-zones options * refer to zones that exist.