Check that primary key names are syntactically valid

This commit is contained in:
Mark Andrews
2021-08-04 17:23:07 +10:00
parent d66439b939
commit 4fa9d8389a
2 changed files with 29 additions and 0 deletions

View 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; };
};

View File

@@ -2121,6 +2121,20 @@ resume:
if (cfg_obj_issockaddr(addr)) {
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;
}
}
}
continue;
}
if (!cfg_obj_isvoid(key)) {