mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-28 21:07:43 +00:00
[master] Add a better warning about multiple key definitions
This commit is contained in:
parent
fc48033aa1
commit
db3f77999c
5
RELNOTES
5
RELNOTES
@ -69,6 +69,11 @@ by Eric Young (eay@cryptsoft.com).
|
|||||||
- Remove an extra set of the msg_controllen variable.
|
- Remove an extra set of the msg_controllen variable.
|
||||||
[ISC-Bugs #21035]
|
[ISC-Bugs #21035]
|
||||||
|
|
||||||
|
- Add a more understandable error message if a configuration attempts
|
||||||
|
to add multiple keys for a single zone. Thanks to a patch from Jiri
|
||||||
|
Popelka at Red Hat.
|
||||||
|
[ISC-Bugs #31892]
|
||||||
|
|
||||||
Changes since 4.3.0rc1
|
Changes since 4.3.0rc1
|
||||||
|
|
||||||
- None
|
- None
|
||||||
|
@ -2872,27 +2872,31 @@ int parse_zone (struct dns_zone *zone, struct parse *cfile)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case KEY:
|
case KEY:
|
||||||
skip_token(&val, (unsigned *)0, cfile);
|
skip_token(&val, NULL, cfile);
|
||||||
token = peek_token (&val, (unsigned *)0, cfile);
|
token = peek_token(&val, NULL, cfile);
|
||||||
if (token == STRING) {
|
if (token == STRING) {
|
||||||
skip_token(&val, (unsigned *)0, cfile);
|
skip_token(&val, NULL, cfile);
|
||||||
key_name = (char *)0;
|
key_name = NULL;
|
||||||
} else {
|
} else {
|
||||||
key_name = parse_host_name(cfile);
|
key_name = parse_host_name(cfile);
|
||||||
if (!key_name) {
|
if (!key_name) {
|
||||||
parse_warn(cfile, "expecting key name.");
|
parse_warn(cfile, "expecting key name.");
|
||||||
skip_to_semi(cfile);
|
skip_to_semi(cfile);
|
||||||
return 0;
|
return (0);
|
||||||
}
|
}
|
||||||
val = key_name;
|
val = key_name;
|
||||||
}
|
}
|
||||||
|
if (zone->key) {
|
||||||
|
log_fatal("Multiple key definitions for zone %s.",
|
||||||
|
zone->name);
|
||||||
|
}
|
||||||
if (omapi_auth_key_lookup_name(&zone->key, val) !=
|
if (omapi_auth_key_lookup_name(&zone->key, val) !=
|
||||||
ISC_R_SUCCESS)
|
ISC_R_SUCCESS)
|
||||||
parse_warn(cfile, "unknown key %s", val);
|
parse_warn(cfile, "unknown key %s", val);
|
||||||
if (key_name)
|
if (key_name)
|
||||||
dfree(key_name, MDL);
|
dfree(key_name, MDL);
|
||||||
if (!parse_semi(cfile))
|
if (!parse_semi(cfile))
|
||||||
return 0;
|
return (0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -2901,12 +2905,12 @@ int parse_zone (struct dns_zone *zone, struct parse *cfile)
|
|||||||
}
|
}
|
||||||
} while (!done);
|
} while (!done);
|
||||||
|
|
||||||
token = next_token (&val, (unsigned *)0, cfile);
|
token = next_token(&val, NULL, cfile);
|
||||||
if (token != RBRACE) {
|
if (token != RBRACE) {
|
||||||
parse_warn(cfile, "expecting right brace.");
|
parse_warn(cfile, "expecting right brace.");
|
||||||
return 0;
|
return (0);
|
||||||
}
|
}
|
||||||
return 1;
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* key-statements :== key-statement |
|
/* key-statements :== key-statement |
|
||||||
|
Loading…
x
Reference in New Issue
Block a user