From: Timo Sirainen Date: Mon, 27 Jan 2025 13:49:54 +0000 (+0200) Subject: config: Fix autoprefixing section names under named list filters X-Git-Tag: 2.4.1~275 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ce19f79acdd47d261ff9ed4ad0dc6a09ca27087;p=thirdparty%2Fdovecot%2Fcore.git config: Fix autoprefixing section names under named list filters For example this didn't work: userdb ldap { iterate_fields { It only tested userdb_iterate_fields, not userdb_ldap_iterate_fields. --- diff --git a/src/config/config-parser.c b/src/config/config-parser.c index cdf60e8825..9a9af4ed2b 100644 --- a/src/config/config-parser.c +++ b/src/config/config-parser.c @@ -2659,11 +2659,17 @@ void config_parser_apply_line(struct config_parser_context *ctx, const char *key = line->key; if (cur_filter->filter_name != NULL) { const char *filter_key = - t_strcut(cur_filter->filter_name, '/'); + t_str_replace(cur_filter->filter_name, '/', '_'); const char *key2 = t_strdup_printf("%s_%s", filter_key, key); if (config_key_can_autoprefix(ctx, key2)) key = key2; + else { + filter_key = t_strcut(cur_filter->filter_name, '/'); + key2 = t_strdup_printf("%s_%s", filter_key, key); + if (config_key_can_autoprefix(ctx, key2)) + key = key2; + } } else { i_assert(!cur_filter->filter_name_array); }