rootns support

This commit is contained in:
Bob Halley
1999-09-24 01:42:22 +00:00
parent 3898056837
commit 92583b722b

View File

@@ -51,6 +51,7 @@
#include <named/types.h>
#include <named/globals.h>
#include <named/rootns.h>
#include <named/server.h>
#include <named/xfrin.h>
@@ -225,6 +226,7 @@ static isc_result_t
load_all(void) {
isc_result_t result = ISC_R_SUCCESS;
ns_dbinfo_t *dbi;
dns_view_t *view;
result = load_version();
if (result != ISC_R_SUCCESS)
@@ -238,6 +240,15 @@ load_all(void) {
break;
}
if (result == ISC_R_SUCCESS) {
RWLOCK(&ns_g_viewlock, isc_rwlocktype_read);
for (view = ISC_LIST_HEAD(ns_g_viewlist);
view != NULL;
view = ISC_LIST_NEXT(view, link))
dns_view_freeze(view);
RWUNLOCK(&ns_g_viewlock, isc_rwlocktype_read);
}
return (result);
}
@@ -287,7 +298,6 @@ load_configuration(void) {
static void
run_server(isc_task_t *task, isc_event_t *event) {
(void)task;
printf("server running\n");
@@ -317,6 +327,8 @@ shutdown_server(isc_task_t *task, isc_event_t *event) {
RWUNLOCK(&ns_g_viewlock, isc_rwlocktype_write);
isc_task_detach(&server_task);
ns_rootns_destroy();
isc_event_free(&event);
}
@@ -325,6 +337,10 @@ ns_server_init(void) {
isc_result_t result;
dns_view_t *view, *view_next;
result = ns_rootns_init();
if (result != ISC_R_SUCCESS)
return (result);
/*
* XXXRTH The view management code here will probably move to its
* own module when we start using the config file.
@@ -335,6 +351,7 @@ ns_server_init(void) {
if (result != ISC_R_SUCCESS)
goto cleanup_views;
ISC_LIST_APPEND(ns_g_viewlist, view, link);
dns_view_sethints(view, ns_g_rootns);
view = NULL;
result = dns_view_create(ns_g_mctx, dns_rdataclass_ch, "default/CHAOS",
&view);
@@ -368,5 +385,7 @@ ns_server_init(void) {
dns_view_detach(&view);
}
ns_rootns_destroy();
return (result);
}