From patchwork Tue Aug 18 12:00:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 23661 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id EA1AF27BBE6; Tue, 18 Aug 2020 13:01:19 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id BDCD927BBE5 for ; Tue, 18 Aug 2020 13:01:19 +0100 (BST) Received: from localhost ([::1]:50442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k80Ip-0007gl-3H for patchwork@mira.cbaines.net; Tue, 18 Aug 2020 08:01:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53700) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k80IY-0007ff-JW for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51079) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k80IY-0007FY-8f for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k80IY-0006Gq-7l for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v2 01/10] gnu: dovecot: Add lucene library to support fts indexing. References: <20200817092748.30057-1-levenson@mmer.org> In-Reply-To: <20200817092748.30057-1-levenson@mmer.org> Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Aug 2020 12:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42899 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42899@debbugs.gnu.org Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.159775204623996 (code B ref 42899); Tue, 18 Aug 2020 12:01:02 +0000 Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:46 +0000 Received: from localhost ([127.0.0.1]:34374 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IH-0006Ev-SO for submit@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:46 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:18828) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IF-0006EL-RJ for 42899@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:44 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 2B2C39CC5D for <42899@debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:56 +0000 (UTC) From: Alexey Abramov Date: Tue, 18 Aug 2020 14:00:29 +0200 Message-Id: <20200818120037.30722-1-levenson@mmer.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/mail.scm (dovecot)[inputs]: Add ice4c and clucene libraries. * gnu/packages/mail.scm (dovecot)[arguments]: Add --with-lucene configuration switch. Signed-off-by: Alexey Abramov --- gnu/packages/mail.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 6792b9b4a9..98e75fa90f 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -87,6 +87,7 @@ #:use-module (gnu packages guile-xyz) #:use-module (gnu packages flex) #:use-module (gnu packages haskell-xyz) + #:use-module (gnu packages icu4c) #:use-module (gnu packages kerberos) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libevent) @@ -113,6 +114,7 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages rdf) #:use-module (gnu packages ruby) #:use-module (gnu packages search) #:use-module (gnu packages serialization) @@ -1425,11 +1427,14 @@ facilities for checking incoming mail.") ("lz4" ,lz4) ("openssl" ,openssl) ("sqlite" ,sqlite) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ("icu4c" ,icu4c) + ("clucene" ,clucene))) (arguments `(#:configure-flags '("--sysconfdir=/etc" "--localstatedir=/var" - "--with-sqlite") ; not auto-detected + "--with-sqlite" ; not auto-detected + "--with-lucene") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-file-names From patchwork Tue Aug 18 12:00:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 23669 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4DCE127BBE5; Tue, 18 Aug 2020 13:02:02 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id AC94F27BBE6 for ; Tue, 18 Aug 2020 13:02:01 +0100 (BST) Received: from localhost ([::1]:52114 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k80JV-0008R5-94 for patchwork@mira.cbaines.net; Tue, 18 Aug 2020 08:02:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53738) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k80Ic-0007jC-0G for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51087) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k80Ib-0007Gt-Hf for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k80Ib-0006Hp-GQ for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v2 02/10] gnu: dovecot: Patch and provide a static path for module directory. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Aug 2020 12:01:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42899 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42899@debbugs.gnu.org Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.159775205724085 (code B ref 42899); Tue, 18 Aug 2020 12:01:05 +0000 Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:57 +0000 Received: from localhost ([127.0.0.1]:34392 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IO-0006GF-QL for submit@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:56 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:58183) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IF-0006EM-RI for 42899@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:49 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 74FC99CC71 for <42899@debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:56 +0000 (UTC) From: Alexey Abramov Date: Tue, 18 Aug 2020 14:00:30 +0200 Message-Id: <20200818120037.30722-2-levenson@mmer.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818120037.30722-1-levenson@mmer.org> References: <20200818120037.30722-1-levenson@mmer.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch: New file. * gnu/packages/mail.scm (dovecot)[source]: Use it. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/mail.scm | 3 +- ...ovecot-use-static-path-for-moduledir.patch | 146 ++++++++++++++++++ 3 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch diff --git a/gnu/local.mk b/gnu/local.mk index 87bd7094bf..2817deb01f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -900,6 +900,7 @@ dist_patch_DATA = \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/docker-fix-tests.patch \ + %D%/packages/patches/dovecot-use-static-path-for-moduledir.patch \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/doxygen-1.8.17-runtests.patch \ diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 98e75fa90f..8e7d5b2fc1 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1411,7 +1411,8 @@ facilities for checking incoming mail.") (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 "1p5gp8jbavcsaara5mfn5cbrnlxssajnchczbgmmfzr7228fmnfk")))) + (base32 "1p5gp8jbavcsaara5mfn5cbrnlxssajnchczbgmmfzr7228fmnfk")) + (patches (search-patches "dovecot-use-static-path-for-moduledir.patch")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch b/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch new file mode 100644 index 0000000000..da9f4034f4 --- /dev/null +++ b/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch @@ -0,0 +1,146 @@ +Subject: [PATCH] Use static path for moduledir. + +Patch was taken from NixOS repo. Make dovecot look for plugins in +/etc/dovecot/modules so we can symlink plugins from several packages +there. + +The rational behind the patch can be found here: +https://dovecot.org/pipermail/dovecot/2013-April/089931.html + +--- + src/auth/main.c | 4 ++-- + src/config/config-parser.c | 2 +- + src/config/config-parser.h | 2 +- + src/dict/main.c | 2 +- + src/doveadm/doveadm-util.c | 4 ++-- + src/lib-fs/fs-api.c | 2 +- + src/lib-ssl-iostream/iostream-ssl.c | 4 ++-- + src/lib-storage/mail-storage-settings.c | 2 +- + 9 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/src/auth/main.c b/src/auth/main.c +index 2dbf9e176..b1e778ab7 100644 +--- a/src/auth/main.c ++++ b/src/auth/main.c +@@ -192,7 +192,7 @@ static void main_preinit(void) + mod_set.debug = global_auth_settings->debug; + mod_set.filter_callback = auth_module_filter; + +- modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set); ++ modules = module_dir_load("/etc/dovecot/modules/auth", NULL, &mod_set); + module_dir_init(modules); + + if (!worker) +@@ -223,7 +223,7 @@ void auth_module_load(const char *names) + mod_set.debug = global_auth_settings->debug; + mod_set.ignore_missing = TRUE; + +- modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names, ++ modules = module_dir_load_missing(modules, "/etc/dovecot/modules/auth", names, + &mod_set); + module_dir_init(modules); + } +diff --git a/src/config/config-parser.c b/src/config/config-parser.c +index 6894123ea..07e9fecb4 100644 +--- a/src/config/config-parser.c ++++ b/src/config/config-parser.c +@@ -1077,7 +1077,7 @@ void config_parse_load_modules(void) + + i_zero(&mod_set); + mod_set.abi_version = DOVECOT_ABI_VERSION; +- modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set); ++ modules = module_dir_load("/etc/dovecot/modules/settings", NULL, &mod_set); + module_dir_init(modules); + + i_array_init(&new_roots, 64); +diff --git a/src/config/config-parser.h b/src/config/config-parser.h +index e0a0a5bea..32bd76804 100644 +--- a/src/config/config-parser.h ++++ b/src/config/config-parser.h +@@ -1,7 +1,7 @@ + #ifndef CONFIG_PARSER_H + #define CONFIG_PARSER_H + +-#define CONFIG_MODULE_DIR MODULEDIR"/settings" ++#define CONFIG_MODULE_DIR "/etc/dovecot/modules/settings" + + #define IS_WHITE(c) ((c) == ' ' || (c) == '\t') + +diff --git a/src/dict/main.c b/src/dict/main.c +index 722ed025f..4ed12ae5e 100644 +--- a/src/dict/main.c ++++ b/src/dict/main.c +@@ -104,7 +104,7 @@ static void main_init(void) + mod_set.abi_version = DOVECOT_ABI_VERSION; + mod_set.require_init_funcs = TRUE; + +- modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set); ++ modules = module_dir_load("/etc/dovecot/modules/dict", NULL, &mod_set); + module_dir_init(modules); + + /* Register only after loading modules. They may contain SQL drivers, +diff --git a/src/doveadm/doveadm-util.c b/src/doveadm/doveadm-util.c +index a65ef7f72..c19eba06c 100644 +--- a/src/doveadm/doveadm-util.c ++++ b/src/doveadm/doveadm-util.c +@@ -33,7 +33,7 @@ void doveadm_load_modules(void) + mod_set.debug = doveadm_debug; + mod_set.ignore_dlopen_errors = TRUE; + +- modules = module_dir_load_missing(modules, DOVEADM_MODULEDIR, ++ modules = module_dir_load_missing(modules, "/etc/dovecot/modules/doveadm", + NULL, &mod_set); + module_dir_init(modules); + } +@@ -58,7 +58,7 @@ bool doveadm_has_unloaded_plugin(const char *name) + return FALSE; + } + +- dir = opendir(DOVEADM_MODULEDIR); ++ dir = opendir("/etc/dovecot/modules/doveadm"); + if (dir == NULL) + return FALSE; + +diff --git a/src/lib-fs/fs-api.c b/src/lib-fs/fs-api.c +index a939f612d..846cf86e6 100644 +--- a/src/lib-fs/fs-api.c ++++ b/src/lib-fs/fs-api.c +@@ -114,7 +114,7 @@ static void fs_class_try_load_plugin(const char *driver) + mod_set.abi_version = DOVECOT_ABI_VERSION; + mod_set.ignore_missing = TRUE; + +- fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR, ++ fs_modules = module_dir_load_missing(fs_modules, "/etc/dovecot/modules", + module_name, &mod_set); + module_dir_init(fs_modules); + +diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/iostream-ssl.c +index f62c80d37..900ab46c4 100644 +--- a/src/lib-ssl-iostream/iostream-ssl.c ++++ b/src/lib-ssl-iostream/iostream-ssl.c +@@ -54,8 +54,8 @@ int ssl_module_load(const char **error_r) + mod_set.abi_version = DOVECOT_ABI_VERSION; + mod_set.setting_name = ""; + mod_set.require_init_funcs = TRUE; +- ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set); +- if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name, ++ ssl_module = module_dir_load("/etc/dovecot/modules", plugin_name, &mod_set); ++ if (module_dir_try_load_missing(&ssl_module, "/etc/dovecot/modules", plugin_name, + &mod_set, error_r) < 0) + return -1; + module_dir_init(ssl_module); +diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c +index b314b529c..705509456 100644 +--- a/src/lib-storage/mail-storage-settings.c ++++ b/src/lib-storage/mail-storage-settings.c +@@ -337,7 +337,7 @@ static const struct mail_user_settings mail_user_default_settings = { + .last_valid_gid = 0, + + .mail_plugins = "", +- .mail_plugin_dir = MODULEDIR, ++ .mail_plugin_dir = "/etc/dovecot/modules", + + .mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ", + +-- +2.27.0 From patchwork Tue Aug 18 12:00:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 23664 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6F1DE27BBE5; Tue, 18 Aug 2020 13:01:23 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id AB0FF27BBE7 for ; Tue, 18 Aug 2020 13:01:22 +0100 (BST) Received: from localhost ([::1]:50474 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k80Is-0007hr-2R for patchwork@mira.cbaines.net; Tue, 18 Aug 2020 08:01:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53714) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k80IZ-0007gB-3h for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51080) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k80IY-0007Fw-Os for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k80IY-0006Gy-Mf for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v2 03/10] services: dovecot: Use modules via symlink to system profile. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Aug 2020 12:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42899 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42899@debbugs.gnu.org Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.159775204724003 (code B ref 42899); Tue, 18 Aug 2020 12:01:02 +0000 Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:47 +0000 Received: from localhost ([127.0.0.1]:34377 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80II-0006Ez-DE for submit@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:46 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:36771) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IF-0006EN-RI for 42899@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:44 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id B03629CE69 for <42899@debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:56 +0000 (UTC) From: Alexey Abramov Date: Tue, 18 Aug 2020 14:00:31 +0200 Message-Id: <20200818120037.30722-3-levenson@mmer.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818120037.30722-1-levenson@mmer.org> References: <20200818120037.30722-1-levenson@mmer.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/services/mail.scm (%dovecot-activation): Link the location with multiple plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them. * gnu/services/mail.scm (dovecot-configuration): Use the symlink. Signed-off-by: Alexey Abramov --- doc/guix.texi | 9 +++++++-- gnu/services/mail.scm | 13 ++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e0c138533f..9f803fdbac 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18333,8 +18333,13 @@ Defaults to @samp{"/var/run/dovecot/auth-userdb"}. @end deftypevr @deftypevr {@code{dovecot-configuration} parameter} file-name mail-plugin-dir -Directory where to look up mail plugins. -Defaults to @samp{"/usr/lib/dovecot"}. +Directory where to look up mail plugins. In Guix, dovecot plugins have +all its modules under /gnu/store/xxx-plugin/(lib|libexec)/dovecot. To be +able to load all those modules by doveconf or services like sieve, +@samp{mail-plugin-dir} is a symlink "/run/current-system/profile/lib/dovecot", +which creates during the activation step. + +Defaults to @samp{"/etc/dovecot/modules"}. @end deftypevr @deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index cfcaf4601b..2832303d88 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -1044,8 +1044,12 @@ directories are prefixed with the chroot directory, append \"/.\" to This is used by imap (for shared users) and lda.") (mail-plugin-dir - (file-name "/usr/lib/dovecot") - "Directory where to look up mail plugins.") + (file-name "/etc/dovecot/modules") + "Directory where to look up mail plugins. In Guix, dovecot plugins have +all its modules under /gnu/store/xxx-plugin/(lib|libexec)/dovecot. To be able +to load all those modules by doveconf or services like imap, +@samp{mail-plugin-dir} is a symlink `/run/current-system/profile/lib/dovecot`, +which creates during the activation step.") (mail-plugins (space-separated-string-list '()) @@ -1519,13 +1523,16 @@ greyed out, instead of only later giving \"not selectable\" popup error. (else (format (current-error-port) "Failed to create public key at ~a.\n" public-key))))) - (let ((user (getpwnam "dovecot"))) + (let ((user (getpwnam "dovecot")) + (moduledir "/etc/dovecot/modules")) (mkdir-p/perms "/var/run/dovecot" user #o755) (mkdir-p/perms "/var/lib/dovecot" user #o755) (mkdir-p/perms "/etc/dovecot" user #o755) (copy-file #$(plain-file "dovecot.conf" config-str) "/etc/dovecot/dovecot.conf") (mkdir-p/perms "/etc/dovecot/private" user #o700) + (unless (file-exists? moduledir) + (symlink "/run/current-system/profile/lib/dovecot" moduledir)) (create-self-signed-certificate-if-absent #:private-key "/etc/dovecot/private/default.pem" #:public-key "/etc/dovecot/default.pem" From patchwork Tue Aug 18 12:00:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 23665 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 0F10427BBE6; Tue, 18 Aug 2020 13:01:37 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id B735D27BBE5 for ; Tue, 18 Aug 2020 13:01:36 +0100 (BST) Received: from localhost ([::1]:51186 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k80J6-00083L-9k for patchwork@mira.cbaines.net; Tue, 18 Aug 2020 08:01:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53728) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k80Ia-0007gf-Bb for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51083) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k80Ia-0007GZ-0X for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k80IZ-0006HK-W0 for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v2 04/10] gnu: dovecot-pigeonhole: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Aug 2020 12:01:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42899 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42899@debbugs.gnu.org Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.159775205124050 (code B ref 42899); Tue, 18 Aug 2020 12:01:03 +0000 Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:51 +0000 Received: from localhost ([127.0.0.1]:34384 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IN-0006Fj-Fn for submit@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:51 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:36775) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IF-0006EO-RJ for 42899@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:45 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id EA08B9CEAB for <42899@debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:56 +0000 (UTC) From: Alexey Abramov Date: Tue, 18 Aug 2020 14:00:32 +0200 Message-Id: <20200818120037.30722-4-levenson@mmer.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818120037.30722-1-levenson@mmer.org> References: <20200818120037.30722-1-levenson@mmer.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Signed-off-by: Alexey Abramov --- gnu/packages/mail.scm | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8e7d5b2fc1..25e9570958 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1467,6 +1467,62 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") (license (list license:lgpl2.1 license:expat (license:non-copyleft "file://COPYING"))))) +(define-public dovecot-pigeonhole + (let ((dovecot-version (version-major+minor (package-version dovecot)))) + (package + (name "dovecot-pigeonhole") + (version "0.5.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://pigeonhole.dovecot.org/releases/" + dovecot-version "/" + "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz")) + (sha256 + (base32 + "1w5mryv6izh1gv7davnl94rb0pvh5bxl2bydzbfla1b83x22m5qb")))) + (build-system gnu-build-system) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("gettext" ,gettext-minimal) + ("dovecot" ,dovecot))) + (arguments + `(#:configure-flags + (list "--with-dovecot-install-dirs=no" + (string-append "--with-dovecot=" + (assoc-ref %build-inputs "dovecot") + "/lib/dovecot") + (string-append "--with-moduledir=" + (assoc-ref %outputs "out") + "/lib/dovecot")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-file-names + (lambda _ + (let ((out (assoc-ref %outputs "out"))) + (substitute* "src/managesieve/managesieve-settings.c" + ((".executable = \"managesieve\"") + (string-append ".executable = \"" out "/libexec/dovecot/managesieve\""))) + (substitute* "src/managesieve-login/managesieve-login-settings.c" + ((".executable = \"managesieve-login\"") + (string-append ".executable = \"" out "/libexec/dovecot/managesieve-login\"")))) + #t))))) + (home-page "https://pigeonhole.dovecot.org") + (synopsis "Pigeonhole project provides mail filtering facilities using +the Sieve language") + (description + "@code{dovecot-pigonhole} adds support for the Sieve +language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the +@code{Dovecot} Secure IMAP Server.") + ;; Pigeonhole is open source and distributed under the same + ;; license as Dovecot: LGPL v2.1 + (license (list license:lgpl2.1 + (license:non-copyleft "file://COPYING") + (license:non-copyleft "file://COPYING.LGPL")))))) + (define-public dovecot-trees (package (name "dovecot-trees") From patchwork Tue Aug 18 12:00:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 23663 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1743327BBE6; Tue, 18 Aug 2020 13:01:23 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 3E65C27BBE5 for ; Tue, 18 Aug 2020 13:01:22 +0100 (BST) Received: from localhost ([::1]:50450 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k80Ir-0007hC-OI for patchwork@mira.cbaines.net; Tue, 18 Aug 2020 08:01:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53722) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k80IZ-0007gI-Fk for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51081) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k80IZ-0007GK-5o for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k80IZ-0006H6-3x for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v2 05/10] services: dovecot: Serialize global settings first. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Aug 2020 12:01:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42899 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42899@debbugs.gnu.org Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.159775205124035 (code B ref 42899); Tue, 18 Aug 2020 12:01:03 +0000 Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:51 +0000 Received: from localhost ([127.0.0.1]:34380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IM-0006Fa-R5 for submit@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:51 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:36779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IG-0006EQ-Bm for 42899@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:45 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 3A7779CF63 for <42899@debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:57 +0000 (UTC) From: Alexey Abramov Date: Tue, 18 Aug 2020 14:00:33 +0200 Message-Id: <20200818120037.30722-5-levenson@mmer.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818120037.30722-1-levenson@mmer.org> References: <20200818120037.30722-1-levenson@mmer.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/services/mail.scm (dovecot-configuration): To avoid dovecot warning messages, move serialization of protocol settings below the global one. Signed-off-by: Alexey Abramov --- gnu/services/mail.scm | 118 +++++++++++++++++++++--------------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 2832303d88..a3c48bdb99 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -479,64 +479,6 @@ interfaces. If you want to specify non-default ports or anything more complex, customize the address and port fields of the @samp{inet-listener} of the specific services you are interested in.") - (protocols - (protocol-configuration-list - (list (protocol-configuration - (name "imap")))) - "List of protocols we want to serve. Available protocols include -@samp{imap}, @samp{pop3}, and @samp{lmtp}.") - - (services - (service-configuration-list - (list - (service-configuration - (kind "imap-login") - (client-limit 0) - (process-limit 0) - (listeners - (list - (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f)) - (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t))))) - (service-configuration - (kind "pop3-login") - (listeners - (list - (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f)) - (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t))))) - (service-configuration - (kind "lmtp") - (client-limit 1) - (process-limit 0) - (listeners - (list (unix-listener-configuration (path "lmtp") (mode "0666"))))) - (service-configuration - (kind "imap") - (client-limit 1) - (process-limit 1024)) - (service-configuration - (kind "pop3") - (client-limit 1) - (process-limit 1024)) - (service-configuration - (kind "auth") - (service-count 0) - (client-limit 0) - (process-limit 1) - (listeners - (list (unix-listener-configuration (path "auth-userdb"))))) - (service-configuration - (kind "auth-worker") - (client-limit 1) - (process-limit 0)) - (service-configuration - (kind "dict") - (client-limit 1) - (process-limit 0) - (listeners (list (unix-listener-configuration (path "dict"))))))) - "List of services to enable. Available services include @samp{imap}, -@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and -@samp{lmtp}.") - (dict (dict-configuration (dict-configuration)) "Dict configuration, as created by the @code{dict-configuration} @@ -1434,7 +1376,65 @@ greyed out, instead of only later giving \"not selectable\" popup error. (imap-urlauth-host (string "") - "Host allowed in URLAUTH URLs sent by client. \"*\" allows all.") ) + "Host allowed in URLAUTH URLs sent by client. \"*\" allows all.") + + (protocols + (protocol-configuration-list + (list (protocol-configuration + (name "imap")))) + "List of protocols we want to serve. Available protocols include +@samp{imap}, @samp{pop3}, and @samp{lmtp}.") + + (services + (service-configuration-list + (list + (service-configuration + (kind "imap-login") + (client-limit 0) + (process-limit 0) + (listeners + (list + (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f)) + (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t))))) + (service-configuration + (kind "pop3-login") + (listeners + (list + (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f)) + (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t))))) + (service-configuration + (kind "lmtp") + (client-limit 1) + (process-limit 0) + (listeners + (list (unix-listener-configuration (path "lmtp") (mode "0666"))))) + (service-configuration + (kind "imap") + (client-limit 1) + (process-limit 1024)) + (service-configuration + (kind "pop3") + (client-limit 1) + (process-limit 1024)) + (service-configuration + (kind "auth") + (service-count 0) + (client-limit 0) + (process-limit 1) + (listeners + (list (unix-listener-configuration (path "auth-userdb"))))) + (service-configuration + (kind "auth-worker") + (client-limit 1) + (process-limit 0)) + (service-configuration + (kind "dict") + (client-limit 1) + (process-limit 0) + (listeners (list (unix-listener-configuration (path "dict"))))))) + "List of services to enable. Available services include @samp{imap}, +@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and +@samp{lmtp}.")) (define-configuration opaque-dovecot-configuration (dovecot From patchwork Tue Aug 18 12:00:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 23662 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B87B727BBE8; Tue, 18 Aug 2020 13:01:22 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 50E8E27BBE6 for ; Tue, 18 Aug 2020 13:01:22 +0100 (BST) Received: from localhost ([::1]:50452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k80Ir-0007hF-RT for patchwork@mira.cbaines.net; Tue, 18 Aug 2020 08:01:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53726) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k80IZ-0007gO-Td for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51082) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k80IZ-0007GT-Jp for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k80IZ-0006HD-Hv for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v2 06/10] services: dovecot: Only serialize settings with non-empty values. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Aug 2020 12:01:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42899 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42899@debbugs.gnu.org Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.159775205124042 (code B ref 42899); Tue, 18 Aug 2020 12:01:03 +0000 Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:51 +0000 Received: from localhost ([127.0.0.1]:34382 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IN-0006Fc-85 for submit@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:51 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:36783) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IG-0006EW-Ug for 42899@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:45 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id CCA4B9CF86 for <42899@debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:57 +0000 (UTC) From: Alexey Abramov Date: Tue, 18 Aug 2020 14:00:34 +0200 Message-Id: <20200818120037.30722-6-levenson@mmer.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818120037.30722-1-levenson@mmer.org> References: <20200818120037.30722-1-levenson@mmer.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/services/mail.scm (serialize-space-separated-string-list): Protocols might have custom settings, which are not supported by other protocols. To prevent dovecot/services from crashing, serialize settings that hold non-empty values only. Signed-off-by: Alexey Abramov --- gnu/services/mail.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index a3c48bdb99..6e166af2be 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -99,7 +99,9 @@ (and (string? x) (not (string-index x #\space)))) val))) (define (serialize-space-separated-string-list field-name val) - (serialize-field field-name (string-join val " "))) + (match val + (() #f) + (_ (serialize-field field-name (string-join val " "))))) (define (comma-separated-string-list? val) (and (list? val) From patchwork Tue Aug 18 12:00:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 23668 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 007C427BBE6; Tue, 18 Aug 2020 13:01:47 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id B229727BBE5 for ; Tue, 18 Aug 2020 13:01:47 +0100 (BST) Received: from localhost ([::1]:51910 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k80JH-0008Lq-9j for patchwork@mira.cbaines.net; Tue, 18 Aug 2020 08:01:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53732) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k80Ib-0007hV-5J for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51085) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k80Ia-0007Gh-Q9 for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k80Ia-0006Ha-OZ for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v2 07/10] services: dovecot: Add 'mail-attribute-dict' configuration option. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Aug 2020 12:01:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42899 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42899@debbugs.gnu.org Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.159775205224067 (code B ref 42899); Tue, 18 Aug 2020 12:01:04 +0000 Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:52 +0000 Received: from localhost ([127.0.0.1]:34388 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IO-0006Fz-4e for submit@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:52 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:36787) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IH-0006Ed-EL for 42899@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:46 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 52A679CFA7 for <42899@debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:58 +0000 (UTC) From: Alexey Abramov Date: Tue, 18 Aug 2020 14:00:35 +0200 Message-Id: <20200818120037.30722-7-levenson@mmer.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818120037.30722-1-levenson@mmer.org> References: <20200818120037.30722-1-levenson@mmer.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/services/mail.scm (dovecot-configuration): Define 'mail-attribute-dict' directive to support IMAP METADATA extension.: * doc/guix.texi (Mail Services): Document it. Signed-off-by: Alexey Abramov --- doc/guix.texi | 15 +++++++++++++++ gnu/services/mail.scm | 11 +++++++++++ 2 files changed, 26 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 9f803fdbac..bbdbdf70e1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18211,6 +18211,21 @@ could allow a user to delete others' mailboxes, or @code{ln -s @samp{""}. @end deftypevr +@deftypevr {@code{dovecot-configuration} parameter} string mail-attribute-dict +Activate the metadata storage of @code{IMAP METADATA} extension +@uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}. The goal of +the METADATA extension is to provide a means for clients to set and +retrieve 'annotations' or 'metadata' on an IMAP server. The annotations +can be associated with specific mailboxes or the server as a whole. The +server can choose to support only server annotations or both server and +mailbox annotations. For example, a general comment being added to a +mailbox may have an entry name of '/comment' and a value of 'Really +useful mailbox' + +Defaults to @samp{""}. + +@end deftypevr + @deftypevr {@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access? Allow full file system access to clients. There's no access checks other than what the operating system does for the active UID/GID. It diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 6e166af2be..d8df5c82e4 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -1130,6 +1130,17 @@ disabled.") @samp{mdbox-rotate-size}. This setting currently works only in Linux with some file systems (ext4, xfs).") + (mail-attribute-dict + (string "") + "Activate the metadata storage of @code{IMAP METADATA} extension +@uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}. The goal of the +METADATA extension is to provide a means for clients to set and retrieve +'annotations' or 'metadata' on an IMAP server. The annotations can be +associated with specific mailboxes or the server as a whole. The server can +choose to support only server annotations or both server and mailbox +annotations. For example, a general comment being added to a mailbox may have +an entry name of '/comment' and a value of 'Really useful mailbox'") + (mail-attachment-dir (string "") "sdbox and mdbox support saving mail attachments to external files, From patchwork Tue Aug 18 12:00:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 23667 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6EFF227BBE6; Tue, 18 Aug 2020 13:01:42 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 348A527BBE5 for ; Tue, 18 Aug 2020 13:01:42 +0100 (BST) Received: from localhost ([::1]:51682 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k80JB-0008Fy-Pt for patchwork@mira.cbaines.net; Tue, 18 Aug 2020 08:01:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53730) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k80Ia-0007gy-PF for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51084) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k80Ia-0007Gd-D1 for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k80Ia-0006HT-C0 for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v2 08/10] services: dovecot: Add 'imap-metadata?' protocol configuration option. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Aug 2020 12:01:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42899 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42899@debbugs.gnu.org Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.159775205224058 (code B ref 42899); Tue, 18 Aug 2020 12:01:04 +0000 Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:52 +0000 Received: from localhost ([127.0.0.1]:34386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IN-0006Fr-Pd for submit@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:52 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:36783) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IH-0006EW-Ky for 42899@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:46 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id E515B9CFCF for <42899@debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:58 +0000 (UTC) From: Alexey Abramov Date: Tue, 18 Aug 2020 14:00:36 +0200 Message-Id: <20200818120037.30722-8-levenson@mmer.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818120037.30722-1-levenson@mmer.org> References: <20200818120037.30722-1-levenson@mmer.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/services/mail.scm (protocol-configuration): Define the option to be able to activate the IMAP METADATA commands over the imap protocol. * doc/guix.texi (Mail Services): Document it. Signed-off-by: Alexey Abramov --- doc/guix.texi | 11 +++++++++++ gnu/services/mail.scm | 8 +++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index bbdbdf70e1..5c3e706390 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17513,6 +17513,17 @@ This is used by imap (for shared users) and lda. It defaults to @samp{"/var/run/dovecot/auth-userdb"}. @end deftypevr +@deftypevr {@code{protocol-configuration} parameter} boolean imap-metadata? +Activate the commands of @code{IMAP METADATA} extension +@uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}. + +If activated, a dictionary needs to be configured, via the +@code{mail-attribute-dict} setting. + +Defaults to @samp{#f}. + +@end deftypevr + @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins Space separated list of plugins to load. @end deftypevr diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index d8df5c82e4..ee710303e7 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -348,7 +348,13 @@ This is used by imap (for shared users) and lda.") (mail-max-userip-connections (non-negative-integer 10) "Maximum number of IMAP connections allowed for a user from each IP -address. NOTE: The username is compared case-sensitively.")) +address. NOTE: The username is compared case-sensitively.") + (imap-metadata? + (boolean #f) + "Activate the commands of @code{IMAP METADATA} extension +@uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}. If activated, a +dictionary needs to be configured, via the @code{mail-attribute-dict} +setting.")) (define (serialize-protocol-configuration field-name val) (format #t "protocol ~a {\n" (protocol-configuration-name val)) From patchwork Tue Aug 18 12:00:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 23666 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 75A9727BBE6; Tue, 18 Aug 2020 13:01:37 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 3C99A27BBE5 for ; Tue, 18 Aug 2020 13:01:37 +0100 (BST) Received: from localhost ([::1]:51294 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k80J6-00085q-Pg for patchwork@mira.cbaines.net; Tue, 18 Aug 2020 08:01:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53736) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k80Ib-0007i0-IA for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51086) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k80Ib-0007Go-5k for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k80Ib-0006Hh-4L for guix-patches@gnu.org; Tue, 18 Aug 2020 08:01:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v2 09/10] services: dovecot: Add 'managesieve-notify-capability' option. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 18 Aug 2020 12:01:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42899 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42899@debbugs.gnu.org Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.159775205224074 (code B ref 42899); Tue, 18 Aug 2020 12:01:05 +0000 Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:52 +0000 Received: from localhost ([127.0.0.1]:34390 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80IO-0006G8-GT for submit@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:52 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:36794) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k80II-0006Ex-Kv for 42899@debbugs.gnu.org; Tue, 18 Aug 2020 08:00:47 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 8368A9D010 for <42899@debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:59 +0000 (UTC) From: Alexey Abramov Date: Tue, 18 Aug 2020 14:00:37 +0200 Message-Id: <20200818120037.30722-9-levenson@mmer.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818120037.30722-1-levenson@mmer.org> References: <20200818120037.30722-1-levenson@mmer.org> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * doc/guix.texi (Mail Services): Document it. * gnu/services/mail.scm (protocol-configuration): Define it. Signed-off-by: Alexey Abramov --- doc/guix.texi | 9 +++++++++ gnu/services/mail.scm | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 5c3e706390..10d4861c4e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17524,6 +17524,15 @@ Defaults to @samp{#f}. @end deftypevr +@deftypevr {@code{protocol-configuration} parameter} space-separated-string-list managesieve-notify-capabilities +Report notify capabilities by the managesieve service upon a client +connection. If left unassigned, these will be assigned dynamically +according to what the Sieve interpreter supports by default (after login +this may differ depending on the authenticated user). + +Defaults to @samp{()}. +@end deftypevr + @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins Space separated list of plugins to load. @end deftypevr diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index ee710303e7..8b57b42dfe 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -354,7 +354,13 @@ address. NOTE: The username is compared case-sensitively.") "Activate the commands of @code{IMAP METADATA} extension @uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}. If activated, a dictionary needs to be configured, via the @code{mail-attribute-dict} -setting.")) +setting.") + (managesieve-notify-capability + (space-separated-string-list '()) + "Report NOTIFY capabilities by the ManageSieve service upon a client +connection. If left unassigned, these will be assigned dynamically +according to what the Sieve interpreter supports by default.")) + (define (serialize-protocol-configuration field-name val) (format #t "protocol ~a {\n" (protocol-configuration-name val))