[Dovecot] lazy_expunge and shared folders
Giedrius Liubavičius
giedrius at su.lt
Wed Jul 2 11:41:44 UTC 2014
Hi,
i've had the save problem.
This is /quick/ and /dirty/ fix for this problem [gzipped patch file
attached]
After patching source, recompile lazy_expunge plugin (make -C
src/plugins/lazy_expunge all install)
AND add this to the configuration:
> plugin {
> lazy_expunge_ignore_namespace_not_found = yes
> }
2014.05.26 17:12, Florian Tischler rašė:
> Am Dienstag, 20. Mai 2014, 14:00:11 schrieben Sie:
>> Hi,
>>
>> since migration to Dovecot 2.2 I have troubles with lazy_expunge as soon
>> as a user shares a folder. The user the folder is shared to cannot login
>> anymore, dovecot logs Fatal: lazy_expunge: Unknown namespace:
>> '.EXPUNGED/'
>>
>> - When no folder is shared lazy_expunge is working fine, deleted mails are
>> moved to the expunged namespace and can be recovered without any
>> problems. - Sharing folders works as long as I disable lazy_expunge.
>>
>> I have used the config (with minor changes) with dovecot 2.0 for years
>> without any problem. Switching to dovecot 2.2.10 (atrps repository) or
>> 2.2.12 (dovecot enterprise repo) lazy_expunge and acl do not work together
>> anymore.
> Hi,
>
> unfortunately I got no response to the acl breaks lazy_expunge problem.
>
> Maybe the developers can give me some feedback?
> Is it supposed (not) to work? Will it be fixed?
>
> Currently it prevents me from sucessfully migration from 2.0 to 2.2 without
> losing features.
>
> Thanks,
> Florian
>
>> Is it a bug, a known limitation or is something wrong with my config?
>> Any hints are welcome.
>>
>> Thanks in advance,
>> Florian
>>
>> dovecot -n
>>
>> # 2.2.12.12 (03196f188677): /etc/dovecot/dovecot.conf
>> # OS: Linux 2.6.32-042stab085.20 x86_64 CentOS release 6.5 (Final)
>> auth_cache_negative_ttl = 10 mins
>> auth_cache_size = 10 M
>> auth_cache_ttl = 2 hours
>> auth_failure_delay = 10 secs
>> auth_mechanisms = plain login
>> auth_socket_path = /var/run/dovecot/auth-userdb
>> base_dir = /var/run/dovecot/
>> disable_plaintext_auth = no
>> first_valid_gid = 105
>> first_valid_uid = 105
>> hostname = ...
>> imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
>> imap_idle_notify_interval = 10 mins
>> last_valid_uid = 105
>> listen = ...
>> lmtp_save_to_detail_mailbox = yes
>> login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
>> mail_gid = vimap
>> mail_home = /var/imap/spool/%1n/%n
>> mail_location = mdbox:~/mdbox
>> mail_plugins = " fts fts_lucene acl"
>> mail_temp_dir = /var/imap/tmp
>> mail_uid = vimap
>> 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
>> mbox_write_locks = fcntl
>> mdbox_rotate_interval = 1 days
>> namespace {
>> list = children
>> location =
>> mdbox:/var/imap/spool/%%1n/%%n/mdbox:INDEXPVT=/var/imap/spool/%1n/%n/mdbox
>> /shared/%%u prefix = User/%%u/
>> separator = /
>> subscriptions = no
>> type = shared
>> }
>> namespace expunged {
>> hidden = yes
>> list = no
>> location = mdbox:/var/imap/spool/%1n/%n/mdbox:MAILBOXDIR=expunged
>> prefix = .EXPUNGED/
>> separator = /
>> subscriptions = no
>> type = private
>> }
>> namespace inbox {
>> inbox = yes
>> location = mdbox:/var/imap/spool/%1n/%n/mdbox
>> mailbox Drafts {
>> auto = subscribe
>> special_use = \Drafts
>> }
>> mailbox Learn {
>> auto = subscribe
>> }
>> mailbox Learn/Ham {
>> auto = subscribe
>> }
>> mailbox Learn/Spam {
>> auto = subscribe
>> }
>> mailbox Sent {
>> auto = subscribe
>> special_use = \Sent
>> }
>> mailbox Spam {
>> auto = subscribe
>> special_use = \Junk
>> }
>> mailbox Trash {
>> auto = subscribe
>> special_use = \Trash
>> }
>> mailbox virtual/All {
>> special_use = \All
>> }
>> mailbox virtual/Flagged {
>> special_use = \Flagged
>> }
>> prefix =
>> separator = /
>> type = private
>> }
>> passdb {
>> args = /etc/dovecot/master-users
>> driver = passwd-file
>> master = yes
>> }
>> passdb {
>> args = /etc/dovecot/dovecot-ldap.conf.ext
>> driver = ldap
>> }
>> passdb {
>> args = /etc/dovecot/extra-users
>> driver = passwd-file
>> }
>> plugin {
>> acl = vfile:/var/imap/global-acls:cache_secs=300
>> acl_shared_dict = file:/var/imap/shared-mailboxes/shared-mailboxes
>> fts = lucene
>> fts_autoindex = yes
>> fts_lucene = whitespace_chars=@.
>> lazy_expunge = .EXPUNGED/
>> lazy_expunge_only_last_instance = yes
>> recipient_delimiter = +
>> sieve = ~/.dovecot.sieve
>> sieve_dir = ~/sieve
>> sieve_max_actions = 32
>> sieve_max_redirects = 4
>> sieve_max_script_size = 1M
>> }
>> pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
>> postmaster_address = postmaster at ...
>> protocols = imap pop3 lmtp sieve
>> service auth {
>> unix_listener /var/spool/postfix/private/auth {
>> group = postfix
>> mode = 0660
>> user = postfix
>> }
>> unix_listener auth-userdb {
>> group = vimap
>> mode = 0600
>> user = vimap
>> }
>> user = $default_internal_user
>> }
>> service imap-login {
>> process_min_avail = 4
>> service_count = 0
>> }
>> service imap {
>> process_limit = 1024
>> vsz_limit = 256 M
>> }
>> service lmtp {
>> inet_listener lmtp {
>> address = ...
>> port = 24
>> }
>> }
>> service managesieve-login {
>> inet_listener sieve {
>> port = 4190
>> }
>> inet_listener sieve_deprecated {
>> port = 2000
>> }
>> service_count = 1
>> vsz_limit = 64 M
>> }
>> service pop3-login {
>> inet_listener pop3s {
>> port = 995
>> ssl = yes
>> }
>> process_min_avail = 4
>> service_count = 0
>> }
>> service pop3 {
>> process_limit = 512
>> }
>> ssl_cert = </etc/dovecot/ssl/...
>> ssl_key = </etc/dovecot/ssl/...
>> userdb {
>> args = /etc/dovecot/dovecot-ldap.conf.ext
>> driver = ldap
>> }
>> userdb {
>> args = uid=vimap gid=vimap home=/var/imap/spool/%1n/%n
>> driver = static
>> }
>> protocol lda {
>> mail_plugins = " fts fts_lucene acl sieve"
>> }
>> protocol imap {
>> mail_max_userip_connections = 20
>> mail_plugins = " fts fts_lucene acl imap_acl"
>> }
>> protocol lmtp {
>> mail_plugins = " fts fts_lucene acl sieve"
>> }
>> protocol sieve {
>> mail_max_userip_connections = 10
>> managesieve_implementation_string = Dovecot Pigeonhole
>> managesieve_logout_format = bytes=%i/%o
>> managesieve_max_line_length = 65536
>> }
>> protocol pop3 {
>> mail_max_userip_connections = 20
>> }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dovecot-2.2.13-lazy_expunge_acl_fix.diff.gz
Type: application/gzip
Size: 919 bytes
Desc: not available
URL: <http://dovecot.org/pipermail/dovecot/attachments/20140702/1d2467cc/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: giedrius.vcf
Type: text/x-vcard
Size: 197 bytes
Desc: not available
URL: <http://dovecot.org/pipermail/dovecot/attachments/20140702/1d2467cc/attachment.vcf>
More information about the dovecot
mailing list