From: Aram Sargsyan Date: Mon, 13 Apr 2026 11:38:19 +0000 (+0000) Subject: Fix case-sensitivity bug in zone filename token-parsing X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2f7b969fe5f9f3e955068b789ab1ee4fc620c81;p=thirdparty%2Fbind9.git Fix case-sensitivity bug in zone filename token-parsing The setfilename() function uses case-insensitive strcasestr() when matching the possible tokens, but then one of the token parsers uses case-sensitive INSIST checks which can assert when, for example, matching '%X' and INSIST only accepts '%x'. The case-insensitivity is documented, which means it's the parser that needs to be fixed, not the matcher. Convert the character to lowercase before checking the token's validity. --- diff --git a/lib/dns/zoneproperties.c b/lib/dns/zoneproperties.c index 96f9d8eef40..a8e415660c5 100644 --- a/lib/dns/zoneproperties.c +++ b/lib/dns/zoneproperties.c @@ -366,7 +366,7 @@ tokenparse_label(const token_names_t *names, const foundtoken_t *token, dns_name_copy(dns_rootname, target); labels = dns_name_countlabels(names->zonename); - labeltokidx = token->pos[token->len - 1]; + labeltokidx = isc_ascii_tolower(token->pos[token->len - 1]); if (token->len == 2) { /* * %z, %y, %x pattern