static void
kasp_from_conf(cfg_obj_t *config, isc_mem_t *mctx, const char *name,
- const char *engine, dns_kasp_t **kaspp) {
+ const char *keydir, const char *engine, dns_kasp_t **kaspp) {
isc_result_t result = ISC_R_NOTFOUND;
const cfg_listelt_t *element;
const cfg_obj_t *kasps = NULL;
ks = NULL;
(void)cfg_keystore_fromconfig(NULL, mctx, lctx, engine, &kslist, &ks);
INSIST(ks != NULL);
+ if (keydir != NULL) {
+ /* '-K keydir' takes priority */
+ dns_keystore_setdirectory(ks, keydir);
+ }
dns_keystore_detach(&ks);
(void)cfg_map_get(config, "dnssec-policy", &kasps);
ctx.policy, ctx.configfile);
}
- kasp_from_conf(config, mctx, ctx.policy, engine, &kasp);
+ kasp_from_conf(config, mctx, ctx.policy, ctx.directory,
+ engine, &kasp);
if (kasp == NULL) {
fatal("failed to load dnssec-policy '%s'",
ctx.policy);