From 9f8d904796ac0989c1caa804690808c5b6d2a4c6 Mon Sep 17 00:00:00 2001
From: Timo Sirainen <timo.sirainen@open-xchange.com>
Date: Tue, 10 Jan 2023 01:51:05 +0200
Subject: [PATCH] managesieve-login: Run dump-capability only for
 config/doveconf/managesieve

---
 src/managesieve-login/managesieve-login-settings-plugin.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/managesieve-login/managesieve-login-settings-plugin.c b/src/managesieve-login/managesieve-login-settings-plugin.c
index 12515cd62..7d22e7321 100644
--- a/src/managesieve-login/managesieve-login-settings-plugin.c
+++ b/src/managesieve-login/managesieve-login-settings-plugin.c
@@ -111,6 +111,13 @@ static bool capability_dump(void)
 	if ( getenv("DUMP_CAPABILITY") != NULL )
 		return TRUE;
 
+	/* We want to dump capability only when doing the main config parsing
+	   (config and doveconf processes) and managesieve process (started
+	   from command line). We especially don't want to dump capability
+	   every time when running doveadm. */
+	const char *service = getenv("DOVECONF_SERVICE");
+	if (service != NULL && strcmp(service, "sieve") != 0)
+		return TRUE;
 	if ( pipe(fd) < 0 ) {
 		i_error("managesieve-login: dump-capability pipe() failed: %m");
 		return FALSE;
-- 
GitLab