2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 05:28:00 +00:00

secroots is now a keytable; add trustedkeys keytable

This commit is contained in:
Bob Halley 2000-03-17 00:00:18 +00:00
parent f187c911b8
commit 7457bbd82f
2 changed files with 21 additions and 6 deletions

View File

@ -83,7 +83,8 @@ struct dns_view {
dns_cache_t * cache;
dns_db_t * cachedb;
dns_db_t * hints;
dns_rbt_t * secroots;
dns_keytable_t * secroots;
dns_keytable_t * trustedkeys;
isc_mutex_t lock;
isc_rwlock_t conflock;
isc_boolean_t frozen;

View File

@ -33,6 +33,7 @@
#include <dns/db.h>
#include <dns/events.h>
#include <dns/fixedname.h>
#include <dns/keytable.h>
#include <dns/peer.h>
#include <dns/rbt.h>
#include <dns/rdataset.h>
@ -96,14 +97,23 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
goto cleanup_rwlock;
}
view->secroots = NULL;
result = dns_rbt_create(mctx, NULL, NULL, &view->secroots);
result = dns_keytable_create(mctx, &view->secroots);
if (result != ISC_R_SUCCESS) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
"dns_rbt_create() failed: %s",
"dns_keytable_create() failed: %s",
isc_result_totext(result));
result = ISC_R_UNEXPECTED;
goto cleanup_zt;
}
view->trustedkeys = NULL;
result = dns_keytable_create(mctx, &view->trustedkeys);
if (result != ISC_R_SUCCESS) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
"dns_keytable_create() failed: %s",
isc_result_totext(result));
result = ISC_R_UNEXPECTED;
goto cleanup_secroots;
}
view->cache = NULL;
view->cachedb = NULL;
@ -120,7 +130,7 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
view->dynamickeys = NULL;
result = dns_tsigkeyring_create(view->mctx, &view->dynamickeys);
if (result != DNS_R_SUCCESS)
goto cleanup_secroots;
goto cleanup_trustedkeys;
view->peers = NULL;
result = dns_peerlist_new(view->mctx, &view->peers);
if (result != DNS_R_SUCCESS)
@ -141,8 +151,11 @@ dns_view_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,
cleanup_dynkeys:
dns_tsigkeyring_destroy(&view->dynamickeys);
cleanup_trustedkeys:
dns_keytable_detach(&view->trustedkeys);
cleanup_secroots:
dns_rbt_destroy(&view->secroots);
dns_keytable_detach(&view->secroots);
cleanup_zt:
dns_zt_detach(&view->zonetable);
@ -209,7 +222,8 @@ destroy(dns_view_t *view) {
if (view->cache != NULL)
dns_cache_detach(&view->cache);
dns_zt_detach(&view->zonetable);
dns_rbt_destroy(&view->secroots);
dns_keytable_detach(&view->trustedkeys);
dns_keytable_detach(&view->secroots);
isc_mutex_destroy(&view->lock);
isc_mem_free(view->mctx, view->name);
isc_mem_put(view->mctx, view, sizeof *view);