mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-04 08:35:31 +00:00
Merge branch '2461-named-checkconf-fails-to-detect-illegal-key-names-in-primaries-lists' into 'main'
Resolve "Named-checkconf fails to detect illegal key names in primaries lists" Closes #2461 See merge request isc-projects/bind9!5314
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -1,3 +1,6 @@
|
|||||||
|
5701. [bug] named-checkconf failed to detect syntactically invalid
|
||||||
|
key and tls names. [GL #2461]
|
||||||
|
|
||||||
5700. [bug] Journals where not being removed when a catalog zone
|
5700. [bug] Journals where not being removed when a catalog zone
|
||||||
was removed. [GL #2842]
|
was removed. [GL #2842]
|
||||||
|
|
||||||
|
15
bin/tests/system/checkconf/bad-primaries-key.conf
Normal file
15
bin/tests/system/checkconf/bad-primaries-key.conf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||||
|
*
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
*
|
||||||
|
* See the COPYRIGHT file distributed with this work for additional
|
||||||
|
* information regarding copyright ownership.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone example {
|
||||||
|
type secondary;
|
||||||
|
primaries { 1.2.3.4 key a..b; };
|
||||||
|
};
|
15
bin/tests/system/checkconf/bad-primaries-tls.conf
Normal file
15
bin/tests/system/checkconf/bad-primaries-tls.conf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||||
|
*
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
*
|
||||||
|
* See the COPYRIGHT file distributed with this work for additional
|
||||||
|
* information regarding copyright ownership.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone example {
|
||||||
|
type secondary;
|
||||||
|
primaries { 1.2.3.4 tls a..b; };
|
||||||
|
};
|
@@ -2114,13 +2114,43 @@ resume:
|
|||||||
const char *listname;
|
const char *listname;
|
||||||
const cfg_obj_t *addr;
|
const cfg_obj_t *addr;
|
||||||
const cfg_obj_t *key;
|
const cfg_obj_t *key;
|
||||||
|
const cfg_obj_t *tls;
|
||||||
|
|
||||||
addr = cfg_tuple_get(cfg_listelt_value(element),
|
addr = cfg_tuple_get(cfg_listelt_value(element),
|
||||||
"remoteselement");
|
"remoteselement");
|
||||||
key = cfg_tuple_get(cfg_listelt_value(element), "key");
|
key = cfg_tuple_get(cfg_listelt_value(element), "key");
|
||||||
|
tls = cfg_tuple_get(cfg_listelt_value(element), "tls");
|
||||||
|
|
||||||
if (cfg_obj_issockaddr(addr)) {
|
if (cfg_obj_issockaddr(addr)) {
|
||||||
count++;
|
count++;
|
||||||
|
if (cfg_obj_isstring(key)) {
|
||||||
|
const char *str = cfg_obj_asstring(key);
|
||||||
|
dns_fixedname_t fname;
|
||||||
|
dns_name_t *nm = dns_fixedname_initname(&fname);
|
||||||
|
tresult = dns_name_fromstring(nm, str, 0, NULL);
|
||||||
|
if (tresult != ISC_R_SUCCESS) {
|
||||||
|
cfg_obj_log(key, logctx, ISC_LOG_ERROR,
|
||||||
|
"'%s' is not a valid name",
|
||||||
|
str);
|
||||||
|
if (result == ISC_R_SUCCESS) {
|
||||||
|
result = tresult;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (cfg_obj_isstring(tls)) {
|
||||||
|
const char *str = cfg_obj_asstring(tls);
|
||||||
|
dns_fixedname_t fname;
|
||||||
|
dns_name_t *nm = dns_fixedname_initname(&fname);
|
||||||
|
tresult = dns_name_fromstring(nm, str, 0, NULL);
|
||||||
|
if (tresult != ISC_R_SUCCESS) {
|
||||||
|
cfg_obj_log(tls, logctx, ISC_LOG_ERROR,
|
||||||
|
"'%s' is not a valid name",
|
||||||
|
str);
|
||||||
|
if (result == ISC_R_SUCCESS) {
|
||||||
|
result = tresult;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!cfg_obj_isvoid(key)) {
|
if (!cfg_obj_isvoid(key)) {
|
||||||
@@ -2131,6 +2161,14 @@ resume:
|
|||||||
result = ISC_R_FAILURE;
|
result = ISC_R_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!cfg_obj_isvoid(tls)) {
|
||||||
|
cfg_obj_log(key, logctx, ISC_LOG_ERROR,
|
||||||
|
"unexpected token '%s'",
|
||||||
|
cfg_obj_asstring(tls));
|
||||||
|
if (result == ISC_R_SUCCESS) {
|
||||||
|
result = ISC_R_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
listname = cfg_obj_asstring(addr);
|
listname = cfg_obj_asstring(addr);
|
||||||
symvalue.as_cpointer = addr;
|
symvalue.as_cpointer = addr;
|
||||||
tresult = isc_symtab_define(symtab, listname, 1, symvalue,
|
tresult = isc_symtab_define(symtab, listname, 1, symvalue,
|
||||||
|
Reference in New Issue
Block a user