Hello list. Following two previous unanswered requests (http://www.dovecot.org/list/dovecot/2014-August/097449.html and http://www.dovecot.org/list/dovecot/2014-May/096261.html), I fell into the same problem: ACL and lazy_expunge plugins do not work together.
I had lazy_expunge enabled working OK. Then I activated ACL plugin, and gave dovecot.2 visibily over paolo.cravero's Inbox: the IMAP connection fails on server-side. Relevant debug log is:
Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2@csi.it): Debug: Quota grace: root=User quota bytes=576716800 (10%) Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2@csi.it): Debug: dict quota: user=paolo.cravero@csi.it, uri=file:/maildata1/home/csi.it/p/paolo.cravero/dovecot-quota, noenforcing=0 Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2@csi.it): Debug: fs: root=/maildata1/main/csi.it/p/paolo.cravero, index=/maildata1/indexes/csi.it/p/paolo.cravero, indexpvt=, control=, inbox=, alt=/maildata1/altstorage/csi.it/p/paolo.cravero Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2@csi.it): Debug: acl: initializing backend with data: vfile Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2@csi.it): Debug: acl: acl username = paolo.cravero@csi.it Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2@csi.it): Debug: acl: owner = 1 Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2@csi.it): Debug: acl vfile: Global ACLs disabled Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2@csi.it): Fatal: lazy_expunge: Unknown namespace: '.EXPUNGED/'
Removing the lazy_expunge, ACLs do work as expected and I can add/remove/use them.
Is there a known compatibility issue? Or there's something wrong in my config and someone else is running with both plugins enabled?
Thanks, Paolo
PS: output of dovecot -n:
# 2.2.15: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-431.el6.x86_64 x86_64 Red Hat Enterprise Linux Server release 6.5 (Santiago) ext3 auth_mechanisms = plain login disable_plaintext_auth = no imap_client_workarounds = tb-extra-mailbox-sep lmtp_save_to_detail_mailbox = yes mail_attachment_dir = /maildata1/attachments mail_attachment_hash = %{sha256} mail_debug = yes mail_gid = 500 mail_location = mdbox:/maildata1/main/%d/%1n/%n:ALT=/maildata1/altstorage/%d/%1n/%n:INDEX=/maildata1/indexes/%d/%1n/%n mail_plugins = quota mail_log notify lazy_expunge acl mail_uid = 500 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 ihave duplicate mbox_write_locks = fcntl mdbox_rotate_size = 50 M namespace { hidden = no list = yes location = mdbox:/maildata1/main/%d/%1n/%n:INDEX=/maildata1/indexes/%d/%1n/%n:MAILBOXDIR=expunged prefix = .EXPUNGED/ subscriptions = no } namespace { list = children location = mdbox:/maildata1/main/%%d/%%1n/%%n:ALT=/maildata1/altstorage/%%d/%%1n/%%n:INDEX=/maildata1/indexes/%%d/%%1n/%%n prefix = user/%%u/ separator = / type = shared } namespace inbox { inbox = yes location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = type = private } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { acl = vfile acl_shared_dict = file:/maildata1/db/shared-mailboxes.db lazy_expunge = .EXPUNGED/ mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename flag_change append mail_log_fields = uid box msgid size flags vsize quota = dict:User quota::file:%h/dovecot-quota quota_grace = 10%% quota_rule = *:storage=10G quota_rule2 = Trash:storage=+100M quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u } protocols = imap pop3 lmtp sieve service auth { unix_listener auth-userdb { group = vmail user = vmail } } service lmtp { inet_listener lmtp { address = 10.102.42.114 port = 24 } process_min_avail = 2 user = vmail } ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } protocol lmtp { mail_plugins = quota mail_log notify lazy_expunge acl sieve } protocol lda { mail_plugins = quota mail_log notify lazy_expunge acl sieve } protocol imap { mail_plugins = quota mail_log notify lazy_expunge acl imap_quota imap_acl }