configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig,
const cfg_obj_t *vconfig, dns_view_t *view,
dns_viewlist_t *viewlist, dns_kasplist_t *kasplist,
- dns_keystorelist_t *keystores, cfg_aclconfctx_t *aclconf,
- bool added, bool old_rpz_ok, bool is_catz_member, bool modify);
+ cfg_aclconfctx_t *aclconf, bool added, bool old_rpz_ok,
+ bool is_catz_member, bool modify);
static void
configure_zone_setviewcommit(isc_result_t result, const cfg_obj_t *zconfig,
dns_view_thaw(cz->view);
result = configure_zone(cfg->config, zoneobj, cfg->vconfig, cz->view,
&cz->cbd->server->viewlist,
- &cz->cbd->server->kasplist,
- &cz->cbd->server->keystorelist, cfg->actx, true,
+ &cz->cbd->server->kasplist, cfg->actx, true,
false, true, cz->mod);
dns_view_freeze(cz->view);
isc_loopmgr_resume();
result = configure_zone(data->config, zoneobj, cfg->vconfig, view,
&data->cbd->server->viewlist,
- &data->cbd->server->kasplist,
- &data->cbd->server->keystorelist, cfg->actx,
- true, false, true, true);
+ &data->cbd->server->kasplist, cfg->actx, true,
+ false, true, true);
if (result != ISC_R_SUCCESS) {
isc_log_write(NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER,
ISC_LOG_ERROR,
REQUIRE(DNS_VIEW_VALID(view));
+ view->keystores = keystores;
+
if (config != NULL) {
(void)cfg_map_get(config, "options", &options);
}
CFG_LIST_FOREACH(zonelist, element) {
const cfg_obj_t *zconfig = cfg_listelt_value(element);
CHECK(configure_zone(config, zconfig, vconfig, view, viewlist,
- kasplist, keystores, actx, false,
- old_rpz_ok, false, false));
+ kasplist, actx, false, old_rpz_ok, false,
+ false));
zone_element_latest = element;
}
configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig,
const cfg_obj_t *vconfig, dns_view_t *view,
dns_viewlist_t *viewlist, dns_kasplist_t *kasplist,
- dns_keystorelist_t *keystores, cfg_aclconfctx_t *aclconf,
- bool added, bool old_rpz_ok, bool is_catz_member, bool modify) {
+ cfg_aclconfctx_t *aclconf, bool added, bool old_rpz_ok,
+ bool is_catz_member, bool modify) {
dns_view_t *pview = NULL; /* Production view */
dns_zone_t *zone = NULL; /* New or reused zone */
dns_zone_t *raw = NULL; /* New or reused raw zone */
dns_zone_setstats(zone, named_g_server->zonestats);
}
CHECK(named_zone_configure(config, vconfig, zconfig, aclconf,
- kasplist, keystores, zone, NULL));
+ kasplist, zone, NULL));
dns_zone_attach(zone, &view->redirect);
goto cleanup;
}
* Configure the zone.
*/
CHECK(named_zone_configure(config, vconfig, zconfig, aclconf, kasplist,
- keystores, zone, raw));
+ zone, raw));
/*
* Add the zone to its view in the new view list.
const cfg_obj_t *zconfig = cfg_listelt_value(element);
CHECK(configure_zone(config, zconfig, vconfig, view,
&named_g_server->viewlist,
- &named_g_server->kasplist,
- &named_g_server->keystorelist, actx, true,
+ &named_g_server->kasplist, actx, true,
false, false, false));
}
cfg_aclconfctx_t *actx) {
return configure_zone(
config, zconfig, vconfig, view, &named_g_server->viewlist,
- &named_g_server->kasplist, &named_g_server->keystorelist, actx,
- true, false, false, false);
+ &named_g_server->kasplist, actx, true, false, false, false);
}
/*%
/* Mark view unfrozen and configure zone */
dns_view_thaw(view);
result = configure_zone(cfg->config, zoneobj, cfg->vconfig, view,
- &server->viewlist, &server->kasplist,
- &server->keystorelist, cfg->actx, true, false,
- false, false);
+ &server->viewlist, &server->kasplist, cfg->actx,
+ true, false, false, false);
dns_view_freeze(view);
isc_loopmgr_resume();
/* Reconfigure the zone */
dns_view_thaw(view);
result = configure_zone(cfg->config, zoneobj, cfg->vconfig, view,
- &server->viewlist, &server->kasplist,
- &server->keystorelist, cfg->actx, true, false,
- false, true);
+ &server->viewlist, &server->kasplist, cfg->actx,
+ true, false, false, true);
dns_view_freeze(view);
isc_loopmgr_resume();
isc_stdtime_t log_key_expired_timer;
char *keydirectory;
dns_keyfileio_t *kfio;
- dns_keystorelist_t *keystores;
dns_xfrin_t *xfr;
uint32_t maxrefresh;
/* Get keys from private key files. */
dns_zone_lock_keyfiles(zone);
- result = dns_dnssec_findmatchingkeys(origin, kasp, dir, zone->keystores,
- now, dns_zone_getmctx(zone), keys);
+ result = dns_dnssec_findmatchingkeys(origin, kasp, dir,
+ zone->view->keystores, now,
+ dns_zone_getmctx(zone), keys);
dns_zone_unlock_keyfiles(zone);
if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) {
kasp = dns_zone_getkasp(zone);
keydir = dns_zone_getkeydirectory(zone);
- keystores = dns_zone_getkeystores(zone);
+ keystores = zone->view->keystores;
dns_zone_lock_keyfiles(zone);
result = dns_dnssec_findmatchingkeys(dns_zone_getorigin(zone), kasp,
return zone->keydirectory;
}
-void
-dns_zone_setkeystores(dns_zone_t *zone, dns_keystorelist_t *keystores) {
- REQUIRE(DNS_ZONE_VALID(zone));
-
- LOCK_ZONE(zone);
- zone->keystores = keystores;
- UNLOCK_ZONE(zone);
-}
-
-dns_keystorelist_t *
-dns_zone_getkeystores(dns_zone_t *zone) {
- dns_keystorelist_t *ks = NULL;
-
- REQUIRE(DNS_ZONE_VALID(zone));
-
- LOCK_ZONE(zone);
- if (inline_raw(zone) && zone->secure != NULL) {
- ks = zone->secure->keystores;
- } else {
- ks = zone->keystores;
- }
- UNLOCK_ZONE(zone);
-
- return ks;
-}
-
unsigned int
dns_zonemgr_getcount(dns_zonemgr_t *zmgr, dns_zonestate_t state) {
unsigned int count = 0;
dns_zone_lock_keyfiles(zone);
result = dns_dnssec_findmatchingkeys(&zone->origin, kasp, dir,
- zone->keystores, now, mctx, &keys);
+ zone->view->keystores, now, mctx,
+ &keys);
dns_zone_unlock_keyfiles(zone);
if (result != ISC_R_SUCCESS) {