summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexey Abramov <levenson@mmer.org>2020-09-08 15:53:46 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2021-05-06 11:08:52 +0200
commit0fd5bdcaf67ab50490e0d2fe1f954b3692aab259 (patch)
tree604a83732dd681cc31f67752031e8813be419a03
parent5b5c50961fc3c2c95cb97796369ec918cbff064f (diff)
downloadguix-0fd5bdcaf67ab50490e0d2fe1f954b3692aab259.tar.gz
services: dovecot: Add ‘imap-metadata?’ protocol configuration option.
* gnu/services/mail.scm (protocol-configuration): Add an ‘imap-metadata?’
setting to enable IMAP METADATA support in the ‘imap’ protocol.
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
-rw-r--r--doc/guix.texi13
-rw-r--r--gnu/services/mail.scm11
2 files changed, 23 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 2e00e38f7c..49d4ef8473 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -20070,6 +20070,19 @@ 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?
+Whether to enable the @code{IMAP METADATA} extension as defined in
+@uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}, which provides
+a means for clients to set and retrieve per-mailbox, per-user metadata
+and annotations over IMAP.
+
+If this is @samp{#t}, you must also specify a dictionary @i{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 26e631fd9d..b45bf836a9 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -355,7 +355,16 @@ 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)
+   "Whether to enable the @code{IMAP METADATA} extension as defined in
+@uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}, which provides
+a means for clients to set and retrieve per-mailbox, per-user metadata
+and annotations over IMAP.
+
+If this is @samp{#t}, you must also specify a dictionary @i{via} the
+@code{mail-attribute-dict} setting."))
 
 (define (serialize-protocol-configuration field-name val)
   (format #t "protocol ~a {\n" (protocol-configuration-name val))