Subject: Bug#929936: dovecot-sieve: _fully_ support RfC 5233 (Sieve Subaddress Extension)

From: Paul Muster <[email-masked]>
Date: Mon, 3 Jun 2019 18:29:35 +0200

Package: dovecot-sieve
Version: 1:2.2.27-3+deb9u4
Severity: wishlist
Tags: upstream

Dear Maintainer,

Dovecot's LMTP implementation and Pigeonhole Sieve already do support
the <user><delimiter><suffix> format. RfC 5233, the Sieve subaddress
extension, also offers <prefix><delimiter><user>.

Way forward could be like this:

1) Introduce a new config option 'detail_affix' with parameters 'prefix'
and 'suffix', defaulting to 'suffix' making sure not to break existing
setups using <user><delimiter><suffix> respectively
:user<delimiter>:detail format.
If 'detail_affix' is switched to 'prefix' the expected format of local
parts turns into <prefix><delimiter><user> respectively
:detail<delimiter>:user.

2) Add documentation to the Wiki https://wiki2.dovecot.org/LMTP:

* detail_affix = suffix

3) Add description to the relevant default config files¹:

  # The separator that is expected between the :user and :detail
  # address parts introduced by the subaddress extension. This may
  # also be a sequence of characters (e.g. '--'). The current
  # implementation looks for the separator from the left of the
  # localpart and uses the first one encountered. The :user part is
  # left of the separator and the :detail part is right. This setting
  # is also used by Dovecot's LMTP service.
  #recipient_delimiter = +
+
+ # Define if :detail is a prefix or a suffix to the :user address part,
+ # e.g. left or right, when using subaddress extension.
+ # Defaults to 'suffix' making sure not to break existing setups using
+ # <user><delimiter><suffix> format.
+ # Switch to 'prefix' if you use the <prefix><delimiter><user> format
+ # described in RfC 5233.
+ #detail_affix = suffix

4) Changelog

   + now we _fully_ support IETF RfC 5233² (Sieve Subaddress Extension),
     see new config parameter 'detail_affix'.

What do you think?

BTW: Posting on Upstream's Mailing List [email-masked]:
https://dovecot.org/pipermail/dovecot/2019-May/115884.html

Thanks & greetings,

Paul

¹ On my Debian this is
/etc/dovecot/conf.d/20-lmtp.conf
and
/etc/dovecot/conf.d/90-sieve.conf

² https://tools.ietf.org/html/rfc5233

-- Package-specific info:

-- System Information:
Debian Release: 9.6
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'stable-updates'), (500,
'proposed-updates')
Architecture: i386 (i686)

Kernel: Linux 4.9.0-8-686-pae (SMP w/3 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8),
LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages dovecot-sieve depends on:
ii  dovecot-core  1:2.2.27-3+deb9u4
ii  libc6         2.24-11+deb9u3
ii  ucf           3.0036

dovecot-sieve recommends no packages.

dovecot-sieve suggests no packages.

Versions of packages dovecot-sieve is related to:
ii  dovecot-core [dovecot-common]  1:2.2.27-3+deb9u4
pn  dovecot-dbg                    <none>
pn  dovecot-dev                    <none>
pn  dovecot-gssapi                 <none>
ii  dovecot-imapd                  1:2.2.27-3+deb9u4
ii  dovecot-ldap                   1:2.2.27-3+deb9u4
ii  dovecot-lmtpd                  1:2.2.27-3+deb9u4
ii  dovecot-managesieved           1:2.2.27-3+deb9u4
pn  dovecot-mysql                  <none>
pn  dovecot-pgsql                  <none>
pn  dovecot-pop3d                  <none>
ii  dovecot-sieve                  1:2.2.27-3+deb9u4
pn  dovecot-sqlite                 <none>

-- no debconf information