From: Timo Sirainen Date: Tue, 28 Jan 2025 13:15:10 +0000 (+0200) Subject: config: Don't add redundant named filter to doveconf output X-Git-Tag: 2.4.1~274 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=823c8d442e825c7e260a29e132893e03d6108f61;p=thirdparty%2Fdovecot%2Fcore.git config: Don't add redundant named filter to doveconf output For example: userdb ldap { iterate_fields { This was output as: userdb ldap { userdb_ldap { iterate_fields { --- diff --git a/src/config/config-parser.c b/src/config/config-parser.c index 9a9af4ed2b..b7a49558ec 100644 --- a/src/config/config-parser.c +++ b/src/config/config-parser.c @@ -848,11 +848,15 @@ static bool replace_filter_prefix(struct config_parser_context *ctx, const char *cur_filter_name = ctx->cur_section->filter_parser->filter.filter_name; + if (cur_filter_name != NULL) + cur_filter_name = t_str_replace(cur_filter_name, '/', '_'); if (cur_filter_name != NULL && strncmp(filter_name_prefix, cur_filter_name, filter_name_prefix_len - 1) == 0 && cur_filter_name[filter_name_prefix_len-1] == '\0') { - /* already inside the correct filter */ + /* already inside the correct filter, e.g. + userdb ldap { iterate_fields doesn't need + userdb_ldap { named filter in the middle. */ return FALSE; }