From 6cafb3eb7179ee8bd3217527b57c19a701006471 Mon Sep 17 00:00:00 2001 From: Timo Sirainen <timo.sirainen@open-xchange.com> Date: Thu, 19 Dec 2024 15:53:37 +0200 Subject: [PATCH] managesieve-login: Don't read config file when running "doveconf -d" --- .../managesieve-login-settings-plugin.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/managesieve-login/managesieve-login-settings-plugin.c b/src/managesieve-login/managesieve-login-settings-plugin.c index 6844f6422..8d96907ec 100644 --- a/src/managesieve-login/managesieve-login-settings-plugin.c +++ b/src/managesieve-login/managesieve-login-settings-plugin.c @@ -105,7 +105,7 @@ static void capability_parse(const char *cap_string) capability_store(cap_type, str_c(part)); } -static bool capability_dump(void) +static bool capability_dump(bool dump_defaults) { char buf[4096]; int fd[2], status = 0; @@ -152,9 +152,14 @@ static bool capability_dump(void) argv[0] = PKG_LIBEXECDIR"/managesieve"; argv[1] = "-k"; - argv[2] = "-c"; - argv[3] = master_service_get_config_path(master_service); - argv[4] = NULL; + if (!dump_defaults) { + argv[2] = "-c"; + argv[3] = master_service_get_config_path(master_service); + argv[4] = NULL; + } else { + argv[2] = "-O"; + argv[3] = NULL; + } execv_const(argv[0], argv); i_fatal("managesieve-login: " @@ -234,7 +239,7 @@ static void managesieve_login_config_parser_begin(struct config_parser_context *ctx) { if (!capability_dumped) { - (void)capability_dump(); + (void)capability_dump(ctx->dump_defaults); capability_dumped = TRUE; } -- GitLab