imapsieve: setting imapsieve_url disables admin scripts

Gedalya
Tue, 27 Oct 2020 10:32:16 -0000

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.

# 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
}