From ca81d6986c7d28d9202dff6844f9a0004f186529 Mon Sep 17 00:00:00 2001
From: Timo Sirainen <timo.sirainen@open-xchange.com>
Date: Thu, 3 Feb 2022 16:35:43 +0100
Subject: [PATCH] managesieve: Add per-process admin socket listener

This enables race-free kicking using socket+SIGTERM.
---
 src/managesieve/managesieve-settings.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/managesieve/managesieve-settings.c b/src/managesieve/managesieve-settings.c
index 8e6e88b36..baba7e943 100644
--- a/src/managesieve/managesieve-settings.c
+++ b/src/managesieve/managesieve-settings.c
@@ -19,10 +19,12 @@ static bool managesieve_settings_verify(void *_set, pool_t pool,
 
 /* <settings checks> */
 static struct file_listener_settings managesieve_unix_listeners_array[] = {
-	{ "login/sieve", 0666, "", "" }
+	{ "login/sieve", 0666, "", "" },
+	{ "srv.managesieve/%{pid}", 0600, "", "" },
 };
 static struct file_listener_settings *managesieve_unix_listeners[] = {
-	&managesieve_unix_listeners_array[0]
+	&managesieve_unix_listeners_array[0],
+	&managesieve_unix_listeners_array[1],
 };
 static buffer_t managesieve_unix_listeners_buf = {
 	{ { managesieve_unix_listeners, sizeof(managesieve_unix_listeners) } }
-- 
GitLab