mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 14:07:59 +00:00
Handle deprecated 'trusted-keys' style anchors
This commit is contained in:
parent
26b3ca7acf
commit
d807febd25
@ -615,6 +615,7 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) {
|
|||||||
INITIAL_DS,
|
INITIAL_DS,
|
||||||
STATIC_DS,
|
STATIC_DS,
|
||||||
TRUSTED } anchortype;
|
TRUSTED } anchortype;
|
||||||
|
const cfg_obj_t *obj;
|
||||||
|
|
||||||
keynamestr = cfg_obj_asstring(cfg_tuple_get(key, "name"));
|
keynamestr = cfg_obj_asstring(cfg_tuple_get(key, "name"));
|
||||||
CHECK(convert_name(&fkeyname, &keyname, keynamestr));
|
CHECK(convert_name(&fkeyname, &keyname, keynamestr));
|
||||||
@ -647,21 +648,30 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) {
|
|||||||
rdata3 = cfg_obj_asuint32(cfg_tuple_get(key, "rdata3"));
|
rdata3 = cfg_obj_asuint32(cfg_tuple_get(key, "rdata3"));
|
||||||
|
|
||||||
/* What type of trust anchor is this? */
|
/* What type of trust anchor is this? */
|
||||||
atstr = cfg_obj_asstring(cfg_tuple_get(key, "anchortype"));
|
obj = cfg_tuple_get(key, "anchortype");
|
||||||
if (strcasecmp(atstr, "static-key") == 0) {
|
if (cfg_obj_isvoid(obj)) {
|
||||||
|
/*
|
||||||
|
* "anchortype" is not defined, this must be a static-key
|
||||||
|
* configured with trusted-keys.
|
||||||
|
*/
|
||||||
anchortype = STATIC_KEY;
|
anchortype = STATIC_KEY;
|
||||||
} else if (strcasecmp(atstr, "static-ds") == 0) {
|
|
||||||
anchortype = STATIC_DS;
|
|
||||||
} else if (strcasecmp(atstr, "initial-key") == 0) {
|
|
||||||
anchortype = INITIAL_KEY;
|
|
||||||
} else if (strcasecmp(atstr, "initial-ds") == 0) {
|
|
||||||
anchortype = INITIAL_DS;
|
|
||||||
} else {
|
} else {
|
||||||
delv_log(ISC_LOG_ERROR,
|
atstr = cfg_obj_asstring(obj);
|
||||||
"key '%s': invalid initialization method '%s'",
|
if (strcasecmp(atstr, "static-key") == 0) {
|
||||||
keynamestr, atstr);
|
anchortype = STATIC_KEY;
|
||||||
result = ISC_R_FAILURE;
|
} else if (strcasecmp(atstr, "static-ds") == 0) {
|
||||||
goto cleanup;
|
anchortype = STATIC_DS;
|
||||||
|
} else if (strcasecmp(atstr, "initial-key") == 0) {
|
||||||
|
anchortype = INITIAL_KEY;
|
||||||
|
} else if (strcasecmp(atstr, "initial-ds") == 0) {
|
||||||
|
anchortype = INITIAL_DS;
|
||||||
|
} else {
|
||||||
|
delv_log(ISC_LOG_ERROR,
|
||||||
|
"key '%s': invalid initialization method '%s'",
|
||||||
|
keynamestr, atstr);
|
||||||
|
result = ISC_R_FAILURE;
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
isc_buffer_init(&databuf, data, sizeof(data));
|
isc_buffer_init(&databuf, data, sizeof(data));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user