From 2ce19f79acdd47d261ff9ed4ad0dc6a09ca27087 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 27 Jan 2025 15:49:54 +0200 Subject: [PATCH] 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. --- src/config/config-parser.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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); } -- 2.47.3