From patchwork Tue Oct 20 15:06:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 24708 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 4FFDA27BBEE; Tue, 20 Oct 2020 16:08:33 +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 ESMTPS id EC6AB27BBED for ; Tue, 20 Oct 2020 16:08:32 +0100 (BST) Received: from localhost ([::1]:34660 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUtFT-0002tM-Ui for patchwork@mira.cbaines.net; Tue, 20 Oct 2020 11:08:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53642) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUtF7-0002i4-0o for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34829) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kUtF5-0005r1-Q3 for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kUtF5-00029T-Lv for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v5 1/6] gnu: dovecot: Set moduledir to global directory. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 20 Oct 2020 15:08: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 Cc: Efraim Flashner Received: via spool by 42899-submit@debbugs.gnu.org id=B42899.16032064298167 (code B ref 42899); Tue, 20 Oct 2020 15:08:03 +0000 Received: (at 42899) by debbugs.gnu.org; 20 Oct 2020 15:07:09 +0000 Received: from localhost ([127.0.0.1]:46367 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtED-00027Y-Ab for submit@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:09 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:45023) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtE2-00025z-Lo for 42899@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:04 -0400 Received: from delta (unknown [10.147.19.213]) (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 BFE2C9CE78; Tue, 20 Oct 2020 14:36:12 +0000 (UTC) From: Alexey Abramov Date: Tue, 20 Oct 2020 17:06:50 +0200 Message-Id: <20201020150655.12690-2-levenson@mmer.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201020150655.12690-1-levenson@mmer.org> References: <20201020150655.12690-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 From: Efraim Flashner * gnu/packages/mail.scm (dovecot)[arguments]: Add configure-flag to set moduledir. Adjust custom 'install phase to override moduledir so it successfully installs. --- 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 5056098806..ea53787ce0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1579,7 +1579,8 @@ facilities for checking incoming mail.") `(#:configure-flags '("--sysconfdir=/etc" "--localstatedir=/var" "--with-sqlite" ; not auto-detected - "--with-lucene") ; not auto-detected + "--with-lucene" ; not auto-detected + "--with-moduledir=/usr/lib/dovecot") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-file-names @@ -1596,9 +1597,13 @@ facilities for checking incoming mail.") (("cat") (which "cat"))) #t)) (replace 'install - (lambda* (#:key make-flags #:allow-other-keys) + (lambda* (#:key outputs make-flags #:allow-other-keys) + ;; The .la files don't like having the moduledir moved. + (for-each delete-file (find-files "." "\\.la")) ;; Simple hack to avoid installing a trivial README in /etc. (apply invoke "make" "install" "sysconfdir=/tmp/bogus" + (string-append "moduledir=" (assoc-ref outputs "out") + "/lib/dovecot") make-flags)))))) (home-page "https://www.dovecot.org") (synopsis "Secure POP3/IMAP server") From patchwork Tue Oct 20 15:06:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 24706 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 1393A27BBF0; Tue, 20 Oct 2020 16:08:12 +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 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 ESMTPS id 3F61627BBED for ; Tue, 20 Oct 2020 16:08:11 +0100 (BST) Received: from localhost ([::1]:34296 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUtFC-0002iV-FY for patchwork@mira.cbaines.net; Tue, 20 Oct 2020 11:08:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53632) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUtF4-0002hl-TR for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34826) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kUtF4-0005qs-Jx for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kUtF4-000297-Em for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v5 2/6] services: dovecot: Provide plugins through a /gnu/store directory. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 20 Oct 2020 15:08: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.16032064288145 (code B ref 42899); Tue, 20 Oct 2020 15:08:02 +0000 Received: (at 42899) by debbugs.gnu.org; 20 Oct 2020 15:07:08 +0000 Received: from localhost ([127.0.0.1]:46361 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtEC-00027H-9N for submit@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:08 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:45031) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtE3-000261-GK for 42899@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:03 -0400 Received: from delta (unknown [10.147.19.213]) (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 A305B9CE91 for <42899@debbugs.gnu.org>; Tue, 20 Oct 2020 14:36:13 +0000 (UTC) From: Alexey Abramov Date: Tue, 20 Oct 2020 17:06:51 +0200 Message-Id: <20201020150655.12690-3-levenson@mmer.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201020150655.12690-1-levenson@mmer.org> References: <20201020150655.12690-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 (package-list?, serialize-package-list): * gnu/services/mail.scm (dovecot-configuration)[extensions]: New field. The field lets you provide a list of dovecot plugins that need to be available during the runtime. A union of the set of modules will be created on the activation time. * gnu/services/mail.scm (opaque-dovecot-configuration)[extensions]: Likewise. * gnu/services/mail.scm (%dovecot-moduledir): New function. * gnu/services/mail.scm (%dovecot-activation): Add step to compute a set of modules, and provide them over the shared link at /usr/lib/dovecot. * doc/guix.texi (Mail Services)[extension]: Add documentation. --- doc/guix.texi | 8 +++++++ gnu/services/mail.scm | 55 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 61 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 51dc42e5a2..13cd86779e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18404,6 +18404,14 @@ Available @code{dovecot-configuration} fields are: The dovecot package. @end deftypevr +@deftypevr {@code{dovecot-configuration} parameter} package-list extensions +Plugins and extensions to the Dovecot package. Specify a list of +dovecot plugins that needs to be available for dovecot and its modules. + +Defaults to @samp{()}. + +@end deftypevr + @deftypevr {@code{dovecot-configuration} parameter} comma-separated-string-list listen A list of IPs or hosts where to listen for connections. @samp{*} listens on all IPv4 interfaces, @samp{::} listens on all IPv6 diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 71fa975b5d..b49fc07916 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -468,11 +468,21 @@ as @code{#t}.)") (serialize-namespace-configuration field-name val)) val)) +(define (package-list? val) + (and (list? val) (and-map package? val))) +(define (serialize-package-list field-name val) + #f) + (define-configuration dovecot-configuration (dovecot (package dovecot) "The dovecot package.") + (extensions + (package-list '()) + "Plugins and extensions to the Dovecot package. Specify a list of dovecot +plugins that needs to be available for dovecot and its modules.") + (listen (comma-separated-string-list '("*" "::")) "A list of IPs or hosts where to listen in for connections. @samp{*} @@ -1439,6 +1449,11 @@ greyed out, instead of only later giving \"not selectable\" popup error. (package dovecot) "The dovecot package.") + (extensions + (package-list '()) + "Plugins and extensions to the Dovecot package. Specify a list of dovecot +plugins that needs to be available for dovecot and its modules.") + (string (string (configuration-missing-field 'opaque-dovecot-configuration 'string)) @@ -1464,6 +1479,29 @@ greyed out, instead of only later giving \"not selectable\" popup error. (home-directory "/var/empty") (shell (file-append shadow "/sbin/nologin"))))) +(define (%dovecot-moduledir packages) + ;; Create a union of the set of modules and dovecot itself. + (computed-file + "dovecot-moduledir" + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (mkdir #$output) + (for-each + (lambda (package) + (let ((path (string-append package "/lib/dovecot"))) + (for-each + (lambda (src) + (let* ((tail (substring src (string-length path))) + (dst (string-append #$output tail))) + (mkdir-p (dirname dst)) + (if (file-exists? dst) + (format (current-error-port) "warning: ~a exists\n" dst) + (symlink src dst)))) + (find-files path)))) + (list #$@packages)) + #t)))) + (define (%dovecot-activation config) ;; Activation gexp. (let ((config-str @@ -1474,7 +1512,15 @@ greyed out, instead of only later giving \"not selectable\" popup error. (with-output-to-string (lambda () (serialize-configuration config - dovecot-configuration-fields))))))) + dovecot-configuration-fields)))))) + (moduledir-directory + (cond + ((opaque-dovecot-configuration? config) + (%dovecot-moduledir (cons* (opaque-dovecot-configuration-dovecot config) + (opaque-dovecot-configuration-extensions config)))) + (else + (%dovecot-moduledir (cons* (dovecot-configuration-dovecot config) + (dovecot-configuration-extensions config))))))) #~(begin (use-modules (guix build utils)) (define (mkdir-p/perms directory owner perms) @@ -1521,13 +1567,18 @@ 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-symlink "/usr/lib/dovecot")) (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) + (mkdir-p (dirname moduledir-symlink)) + (when (file-exists? moduledir-symlink) + (delete-file moduledir-symlink)) + (symlink #$moduledir-directory moduledir-symlink) (create-self-signed-certificate-if-absent #:private-key "/etc/dovecot/private/default.pem" #:public-key "/etc/dovecot/default.pem" From patchwork Tue Oct 20 15:06:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 24712 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 1923027BBEE; Tue, 20 Oct 2020 16:08: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 ESMTPS id 9953727BBED for ; Tue, 20 Oct 2020 16:08:46 +0100 (BST) Received: from localhost ([::1]:35580 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUtFl-0003Gz-RN for patchwork@mira.cbaines.net; Tue, 20 Oct 2020 11:08:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53634) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUtF7-0002i0-0C for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34827) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kUtF5-0005qy-0S for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kUtF4-00029E-Ry for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v5 3/6] 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, 20 Oct 2020 15:08: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.16032064298152 (code B ref 42899); Tue, 20 Oct 2020 15:08:02 +0000 Received: (at 42899) by debbugs.gnu.org; 20 Oct 2020 15:07:09 +0000 Received: from localhost ([127.0.0.1]:46363 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtEC-00027K-Lw for submit@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:08 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:45038) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtE4-000263-At for 42899@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:03 -0400 Received: from delta (unknown [10.147.19.213]) (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 7803E9CEAB for <42899@debbugs.gnu.org>; Tue, 20 Oct 2020 14:36:14 +0000 (UTC) From: Alexey Abramov Date: Tue, 20 Oct 2020 17:06:52 +0200 Message-Id: <20201020150655.12690-4-levenson@mmer.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201020150655.12690-1-levenson@mmer.org> References: <20201020150655.12690-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. --- 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 13cd86779e..d30cd2c86b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -19134,6 +19134,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 b49fc07916..caa8bc5893 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -1136,6 +1136,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 Oct 20 15:06:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 24711 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 7668727BBF0; Tue, 20 Oct 2020 16:08:41 +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 ESMTPS id 1FA0627BBEE for ; Tue, 20 Oct 2020 16:08:41 +0100 (BST) Received: from localhost ([::1]:35212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUtFg-00037k-Am for patchwork@mira.cbaines.net; Tue, 20 Oct 2020 11:08:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53640) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUtF7-0002i3-0e for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34828) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kUtF5-0005r0-CS for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kUtF5-00029M-8N for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v5 4/6] 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, 20 Oct 2020 15:08: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.16032064298159 (code B ref 42899); Tue, 20 Oct 2020 15:08:03 +0000 Received: (at 42899) by debbugs.gnu.org; 20 Oct 2020 15:07:09 +0000 Received: from localhost ([127.0.0.1]:46365 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtEC-00027R-W1 for submit@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:09 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:45045) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtE5-000265-3r for 42899@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:03 -0400 Received: from delta (unknown [10.147.19.213]) (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 4AB649CEB3 for <42899@debbugs.gnu.org>; Tue, 20 Oct 2020 14:36:15 +0000 (UTC) From: Alexey Abramov Date: Tue, 20 Oct 2020 17:06:53 +0200 Message-Id: <20201020150655.12690-5-levenson@mmer.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201020150655.12690-1-levenson@mmer.org> References: <20201020150655.12690-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. --- 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 d30cd2c86b..d915d004c9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18436,6 +18436,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 caa8bc5893..0c21da8891 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 Oct 20 15:06:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 24710 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 9B54F27BBF0; Tue, 20 Oct 2020 16:08:39 +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=ham 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 ESMTPS id 3812927BBEE for ; Tue, 20 Oct 2020 16:08:39 +0100 (BST) Received: from localhost ([::1]:35092 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUtFe-00034i-CK for patchwork@mira.cbaines.net; Tue, 20 Oct 2020 11:08:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53638) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUtF7-0002i2-0y for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34831) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kUtF6-0005r4-Lx for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kUtF6-00029i-Gz for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v5 5/6] services: dovecot: Add 'managesieve-notify-capability' option. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 20 Oct 2020 15:08: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.16032064308180 (code B ref 42899); Tue, 20 Oct 2020 15:08:04 +0000 Received: (at 42899) by debbugs.gnu.org; 20 Oct 2020 15:07:10 +0000 Received: from localhost ([127.0.0.1]:46371 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtED-00027n-V7 for submit@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:10 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:45058) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtEA-000271-03 for 42899@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:06 -0400 Received: from delta (unknown [10.147.19.213]) (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 252EB9CEE4 for <42899@debbugs.gnu.org>; Tue, 20 Oct 2020 14:36:16 +0000 (UTC) From: Alexey Abramov Date: Tue, 20 Oct 2020 17:06:54 +0200 Message-Id: <20201020150655.12690-6-levenson@mmer.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201020150655.12690-1-levenson@mmer.org> References: <20201020150655.12690-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. --- 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 d915d004c9..c033868baa 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18447,6 +18447,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 0c21da8891..2066661907 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)) From patchwork Tue Oct 20 15:06:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Abramov X-Patchwork-Id: 24709 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 EB09027BBEE; Tue, 20 Oct 2020 16:08:35 +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 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 ESMTPS id A82FC27BBED for ; Tue, 20 Oct 2020 16:08:35 +0100 (BST) Received: from localhost ([::1]:34788 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUtFZ-0002wZ-Sx for patchwork@mira.cbaines.net; Tue, 20 Oct 2020 11:08:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53636) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUtF7-0002i1-0h for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34830) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kUtF6-0005r2-78 for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kUtF6-00029a-38 for guix-patches@gnu.org; Tue, 20 Oct 2020 11:08:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42899] [PATCH v5 6/6] services: dovecot: Add 'managesieve-sieve-capability' option. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 20 Oct 2020 15:08: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.16032064308174 (code B ref 42899); Tue, 20 Oct 2020 15:08:04 +0000 Received: (at 42899) by debbugs.gnu.org; 20 Oct 2020 15:07:10 +0000 Received: from localhost ([127.0.0.1]:46369 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtED-00027g-Lx for submit@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:09 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:45059) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kUtEA-000272-1F for 42899@debbugs.gnu.org; Tue, 20 Oct 2020 11:07:06 -0400 Received: from delta (unknown [10.147.19.213]) (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 E618B9CF1B for <42899@debbugs.gnu.org>; Tue, 20 Oct 2020 14:36:16 +0000 (UTC) From: Alexey Abramov Date: Tue, 20 Oct 2020 17:06:55 +0200 Message-Id: <20201020150655.12690-7-levenson@mmer.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201020150655.12690-1-levenson@mmer.org> References: <20201020150655.12690-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 it. * doc/guix.texi (Mail Services): Document it. --- doc/guix.texi | 9 +++++++++ gnu/services/mail.scm | 7 ++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index c033868baa..a77e030176 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18456,6 +18456,15 @@ this may differ depending on the authenticated user). Defaults to @samp{()}. @end deftypevr +@deftypevr {@code{protocol-configuration} parameter} space-separated-string-list managesieve-sieve-capability +Report SIEVE 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. + +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 2066661907..06d9af829d 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -359,7 +359,12 @@ setting.") (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.")) +according to what the Sieve interpreter supports by default.") + (managesieve-sieve-capability + (space-separated-string-list '()) + "Report SIEVE 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)