imapsieve: setting imapsieve_url disables admin scripts

Stephan Bosch
Tue, 27 Oct 2020 11:52:30 -0000

On 27/10/2020 11:32, Gedalya wrote:
> Hello,
>
> The documentation says imapsieve_url "has no effect on the
administrator-controlled Sieve scripts". However, when setting this item, I
get lines such as:
>
> Error: imapsieve: mailbox INBOX: Failed to read /shared/imapsieve/script
mailbox attribute: Mailbox attributes not enabled
>
> and that's it. imapsieve_mailboxXXX_* settings are completely ignored.
Unsetting imapsieve_url makes it all work again.

https://doc.dovecot.org/configuration_manual/imap_metadata/

METADATA support is needed for IMAPSieve with user Sieve scripts.

Regards,

Stephan.


>
> # 2.3.11.3 (502c39af9): /etc/dovecot/dovecot.conf
> # Pigeonhole version 0.5.11 (6c69c917)
> # OS: Linux 4.19.0-5-amd64 x86_64 Debian bullseye/sid xfs
> # Hostname: ------
> auth_master_user_separator = *
> auth_mechanisms = plain login
> auth_verbose = yes
> imapc_features = rfc822.size fetch-headers
> imapc_host = imap.gmail.com
> imapc_port = 993
> imapc_ssl = imaps
> log_timestamp = "%Y-%m-%d %H:%M:%S "
> mail_gid = vmail
> mail_home = /srv/mail/domains/%d/%n
> mail_location = mdbox:/srv/mail/domains/%d/%n/mdbox
> mail_plugins = quota fts fts_solr
> mail_prefetch_count = 20
> mail_privileged_group = mail
> mail_uid = vmail
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy
include variables body enotify environment mailbox date index ihave duplicate
mime foreverypart extracttext imapsieve vnd.dovecot.imapsieve
> mdbox_preallocate_space = yes
> namespace inbox {
>  ? inbox = yes
>  ? location >  ? mailbox Drafts {
>  ??? auto = subscribe
>  ??? special_use = \Drafts
>  ? }
>  ? mailbox Junk {
>  ??? auto = subscribe
>  ??? autoexpunge = 30 days
>  ??? special_use = \Junk
>  ? }
>  ? mailbox Sent {
>  ??? auto = subscribe
>  ??? special_use = \Sent
>  ? }
>  ? mailbox "Sent Messages" {
>  ??? special_use = \Sent
>  ? }
>  ? mailbox Trash {
>  ??? auto = subscribe
>  ??? autoexpunge = 30 days
>  ??? special_use = \Trash
>  ? }
>  ? prefix >  ? separator = /
> }
> passdb {
>  ? args = /etc/dovecot/master-users
>  ? driver = passwd-file
>  ? master = yes
>  ? pass = yes
> }
> passdb {
>  ? args = /etc/dovecot/dovecot-sql.conf.ext
>  ? driver = sql
> }
> plugin {
>  ? fts = solr
>  ? fts_autoindex = yes
>  ? fts_solr = url=http://127.0.0.1:8983/solr/dovecot/
>  ? fts_tika = http://127.0.0.1:9998/tika/
>  ? imapsieve_mailbox1_before =
file:/usr/local/lib/imapsieve/report-spam.sieve
>  ? imapsieve_mailbox1_causes = COPY
>  ? imapsieve_mailbox1_name = Junk
>  ? imapsieve_mailbox2_before =
file:/usr/local/lib/imapsieve/report-ham.sieve
>  ? imapsieve_mailbox2_causes = COPY
>  ? imapsieve_mailbox2_from = Junk
>  ? imapsieve_mailbox2_name = *
>  ? imapsieve_mailbox3_before =
file:/usr/local/lib/imapsieve/report-spam.sieve
>  ? imapsieve_mailbox3_causes = COPY
>  ? imapsieve_mailbox3_name = Junk2
>  ? imapsieve_mailbox4_before = file:~/sieve/IMAP-Sent.sieve
>  ? imapsieve_mailbox4_causes = APPEND COPY
>  ? imapsieve_mailbox4_name = Sent
>  ? quota = count:User quota:noenforcing
>  ? quota_rule = *:storage=5120M
>  ? quota_vsizes = yes
>  ? sieve = file:~/sieve;active=~/.dovecot.sieve
>  ? sieve_before = /etc/dovecot/sieve-global/fileinto-spam.sieve
>  ? sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
>  ? sieve_pipe_bin_dir = /usr/local/lib/imapsieve
>  ? sieve_plugins = sieve_imapsieve sieve_extprograms
> }
> pop3_fast_size_lookups = yes
> pop3_no_flag_updates = yes
> protocols = " imap lmtp sieve pop3"
> quota_full_tempfail = yes
> service auth-worker {
>  ? user = $default_internal_user
> }
> service auth {
>  ? unix_listener auth-client {
>  ??? group = Debian-exim
>  ??? mode = 0660
>  ??? user = Debian-exim
>  ? }
>  ? unix_listener auth-userdb {
>  ??? group = vmail
>  ??? mode = 0660
>  ??? user = vmail
>  ? }
>  ? user = $default_internal_user
> }
> service imap-login {
>  ? inet_listener imap {
>  ??? port = 143
>  ? }
>  ? service_count = 0
> }
> service imap {
>  ? vsz_limit = 512 M
> }
> service lmtp {
>  ? inet_listener lmtp {
>  ??? address = -------
>  ??? port = 2525
>  ? }
>  ? unix_listener lmtp {
>  ??? group = Debian-exim
>  ??? mode = 0660
>  ??? user = root
>  ? }
> }
> service managesieve-login {
>  ? inet_listener sieve {
>  ??? port = 4190
>  ? }
>  ? service_count = 0
> }
> service pop3-login {
>  ? inet_listener pop3 {
>  ??? port = 110
>  ? }
>  ? service_count = 0
> }
> ssl = required
> ssl_cert = </etc/letsencrypt/live/--------/fullchain.pem
> ssl_client_ca_dir = /etc/ssl/certs
> ssl_dh = # hidden, use -P to show it
> ssl_key = # hidden, use -P to show it
> userdb {
>  ? driver = prefetch
> }
> userdb {
>  ? args = /etc/dovecot/dovecot-sql.conf.ext
>  ? driver = sql
> }
> verbose_proctitle = yes
> protocol lmtp {
>  ? mail_plugins = quota fts fts_solr sieve
>  ? ssl = no
> }
> protocol !indexer-worker {
>  ? mail_vsize_bg_after_count = 100
> }
> protocol lda {
>  ? mail_plugins = quota fts fts_solr sieve
> }
> protocol imap {
>  ? mail_max_userip_connections = 30
>  ? mail_plugins = quota fts fts_solr imap_quota imap_sieve
> }
> protocol sieve {
>  ? mail_max_userip_connections = 10
> }
>