From: Timo Sirainen Date: Thu, 12 Jan 2023 15:17:29 +0000 (+0200) Subject: lib-storage: Add mail_storage_service_input.unexpanded_set_parser X-Git-Tag: 2.4.0~3195 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c11947e6211714788c803b36641adc038f5cc56;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Add mail_storage_service_input.unexpanded_set_parser --- diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index 270e8eb27c..11b2fadae7 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -1258,8 +1258,10 @@ mail_storage_service_lookup_real(struct mail_storage_service_ctx *ctx, mail_storage_service_seteuid_root(); } - if (mail_storage_service_read_settings(ctx, input, - &set_parser, error_r) < 0) { + if (input->unexpanded_set_parser != NULL) + set_parser = input->unexpanded_set_parser; + else if (mail_storage_service_read_settings(ctx, input, + &set_parser, error_r) < 0) { if (ctx->config_permission_denied) { /* just restart and maybe next time we will open the config socket before dropping privileges */ diff --git a/src/lib-storage/mail-storage-service.h b/src/lib-storage/mail-storage-service.h index 05899a2e82..fa2055a0b7 100644 --- a/src/lib-storage/mail-storage-service.h +++ b/src/lib-storage/mail-storage-service.h @@ -60,6 +60,9 @@ struct mail_storage_service_input { const char *const *forward_fields; + /* Use this settings parser instead of looking it up. */ + struct setting_parser_context *unexpanded_set_parser; + /* Override specified global flags */ enum mail_storage_service_flags flags_override_add; enum mail_storage_service_flags flags_override_remove;