These are reserved for filters created in the code.
return -1;
break;
case SET_FILTER_ARRAY:
+ if (str_begins_with(value, "__")) {
+ /* These are reserved for internal filters */
+ ctx->error = p_strdup_printf(ctx->pool,
+ "Named list filter name must not begin with '__': %s",
+ value);
+ return -1;
+ }
if (config_apply_filter_array(ctx, line, value,
&l->settings[config_key->define_idx].array) < 0)
return -1;
}
value = str_c(ctx->str);
}
+ if (ctx->info->defines[key_idx].type == SET_FILTER_ARRAY &&
+ set->type <= SETTINGS_OVERRIDE_TYPE_CLI_PARAM &&
+ str_begins_with(value, "__")) {
+ *error_r = t_strdup_printf(
+ "Named list filter name must not begin with '__': %s",
+ value);
+ return -1;
+ }
if (value != set->value)
value = p_strdup(&ctx->mpool->pool, value);