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)
name, isc_result_totext(result));
return (result);
}
+#endif
static isc_result_t
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))
CHECK(configure_dyndb(dyndb, mctx, dctx));
}
+#endif
/*
* Setup automatic empty zones. If recursion is off then
{
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;
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.