acl and lazy_expunge plugins are incompatible?
Paolo Cravero
paolo.cravero at csi.it
Tue Mar 3 15:36:37 UTC 2015
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 at csi.it): Debug: Quota
grace: root=User quota bytes=576716800 (10%)
Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2 at csi.it): Debug: dict
quota: user=paolo.cravero at 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 at 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 at csi.it): Debug: acl:
initializing backend with data: vfile
Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2 at csi.it): Debug: acl: acl
username = paolo.cravero at csi.it
Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2 at csi.it): Debug: acl: owner
= 1
Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2 at csi.it): Debug: acl vfile:
Global ACLs disabled
Mar 3 15:59:02 tst-msg03 dovecot: imap(dovecot.2 at 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
}
More information about the dovecot
mailing list