me
/
guix
Archived
1
0
Fork 0

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>
master
Alexey Abramov 2020-09-08 15:53:46 +02:00 committed by Tobias Geerinckx-Rice
parent 5b5c50961f
commit 0fd5bdcaf6
No known key found for this signature in database
GPG Key ID: 0DB0FF884F556D79
2 changed files with 23 additions and 1 deletions

View File

@ -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

View File

@ -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))