Shared mailboxes, index files and 'per-user-seen' flags
Hello,
i have a dovecot server version 2.3.1 under CentOS 6.9 and we're using shared mailboxes with index files shared. With this configuration I can see a lot of error messages like:
Jun 6 13:20:31 mail dovecot: Error: imap(userA@tutech.de)<4513>
<onjjWPdtDuLAqG3R>: /export/home/imap/userA@tutech.de/shared
/userB@tutech.de/folder/dovecot.index.pvt view is inconsistent
In 10-mail.conf the location setting is:
location = maildir:%%h/Maildir:INDEXPVT=%h/shared/%%u
I thought setting the index files to "not shared" might help to get rid of the errors, so I changed the setting to:
location = maildir:%%h/Maildir:INDEX=%h/shared/%%u:INDEXPVT=%h
/shared/%%u
like it's mentioned in the Dovecot wiki. But that doesn't work as I expected, because the 'per-user-seen' flags do not work correctly anymore, i think. If UserA, who has UserB as shared mailbox, changes the seen flags of UserBs INBOX, UserBs seen flags are also changed. The other way, if UserB changes seen flags in his INBOX they are not changed in the shared view of UserA. Is this the supposed way to work or do i have an error in the configuration?
Any help is appreciated.
Thanks, Thomas.
Here's my currently used configuration:
# 2.3.1 (c5a5c0c82): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.devel (61b47828) # OS: Linux 2.6.32-696.23.1.el6.x86_64 x86_64 CentOS release 6.9 (Final) ext4 # Hostname: mail.tutech.de auth_master_user_separator = * auth_mechanisms = plain login auth_verbose = yes disable_plaintext_auth = no doveadm_password = # hidden, use -P to show it doveadm_port = 12345 imap_max_line_length = 2 M mail_debug = yes mail_location = maildir:/export/home/imap/%Lu/Maildir mail_plugins = acl zlib mail_log notify mail_prefetch_count = 1 mailbox_idle_check_interval = 10 secs 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 namespace { hidden = no ignore_on_failure = no inbox = no list = children location = maildir:%%h/Maildir:INDEXPVT=%h/shared/%%u prefix = shared/%%u/ separator = / subscriptions = yes type = shared } namespace inbox { hidden = no inbox = yes list = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = INBOX/ separator = / type = private }
passdb { args = /etc/dovecot/master-users driver = passwd-file master = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { acl = vfile:/etc/dovecot/global-acls:cache_secs=300 acl_shared_dict = file:/export/home/shared-db/shared-mailboxes mail_log_events = append delete undelete expunge copy mailbox_delete mailbox_rename flag_change mail_log_fields = uid box msgid size from flags mail_replica = tcp:mail2.tutech.de sieve = ~/.dovecot.sieve sieve_dir = ~/sieve sieve_global = /var/lib/dovecot/sieve/global/ sieve_user_log = ~/.dovecot.sieve.log zlib_save = gz zlib_save_level = 6 } protocols = imap pop3 lmtp sieve sieve service aggregator { fifo_listener replication-notify-fifo { mode = 0666 user = vmail } unix_listener replication-notify { mode = 0666 user = vmail } } service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 } unix_listener auth-userdb { group = vmail mode = 0660 user = vmail } } service config { unix_listener config { user = vmail } } service doveadm { inet_listener { port = 12345 } user = vmail } service imap-login { inet_listener imaps { port = 993 ssl = yes } process_limit = 500 process_min_avail = 20 } service imap { executable = imap } service lmtp { inet_listener lmtp { address = 127.0.0.1 port = 24 } } service managesieve-login { inet_listener sieve { port = 4190 } inet_listener sieve_deprecated { port = 2000 } } service pop3-login { inet_listener pop3s { port = 995 ssl = yes } } service pop3 { executable = pop3 } service replicator { unix_listener replicator-doveadm { mode = 0666 } } ssl = required ssl_cert =
Hi Thomas, it is a known problem:
https://www.dovecot.org/pipermail/dovecot/2018-February/111057.html
Try the solution suggested in above mail; it works for me.
Thanks, Marco
On 2018-06-06 13:53, Thomas Robers wrote:
Hello,
i have a dovecot server version 2.3.1 under CentOS 6.9 and we're using shared mailboxes with index files shared. With this configuration I can see a lot of error messages like:
Jun 6 13:20:31 mail dovecot: Error: imap(userA@tutech.de)<4513> <onjjWPdtDuLAqG3R>: /export/home/imap/userA@tutech.de/shared /userB@tutech.de/folder/dovecot.index.pvt view is inconsistent
In 10-mail.conf the location setting is:
location = maildir:%%h/Maildir:INDEXPVT=%h/shared/%%u
I thought setting the index files to "not shared" might help to get rid of the errors, so I changed the setting to:
location = maildir:%%h/Maildir:INDEX=%h/shared/%%u:INDEXPVT=%h /shared/%%u
like it's mentioned in the Dovecot wiki. But that doesn't work as I expected, because the 'per-user-seen' flags do not work correctly anymore, i think. If UserA, who has UserB as shared mailbox, changes the seen flags of UserBs INBOX, UserBs seen flags are also changed. The other way, if UserB changes seen flags in his INBOX they are not changed in the shared view of UserA. Is this the supposed way to work or do i have an error in the configuration?
Any help is appreciated.
Thanks, Thomas.
Here's my currently used configuration:
# 2.3.1 (c5a5c0c82): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.devel (61b47828) # OS: Linux 2.6.32-696.23.1.el6.x86_64 x86_64 CentOS release 6.9 (Final) ext4 # Hostname: mail.tutech.de auth_master_user_separator = * auth_mechanisms = plain login auth_verbose = yes disable_plaintext_auth = no doveadm_password = # hidden, use -P to show it doveadm_port = 12345 imap_max_line_length = 2 M mail_debug = yes mail_location = maildir:/export/home/imap/%Lu/Maildir mail_plugins = acl zlib mail_log notify mail_prefetch_count = 1 mailbox_idle_check_interval = 10 secs 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 namespace { hidden = no ignore_on_failure = no inbox = no list = children location = maildir:%%h/Maildir:INDEXPVT=%h/shared/%%u prefix = shared/%%u/ separator = / subscriptions = yes type = shared } namespace inbox { hidden = no inbox = yes list = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = INBOX/ separator = / type = private }
passdb { args = /etc/dovecot/master-users driver = passwd-file master = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { acl = vfile:/etc/dovecot/global-acls:cache_secs=300 acl_shared_dict = file:/export/home/shared-db/shared-mailboxes mail_log_events = append delete undelete expunge copy mailbox_delete mailbox_rename flag_change mail_log_fields = uid box msgid size from flags mail_replica = tcp:mail2.tutech.de sieve = ~/.dovecot.sieve sieve_dir = ~/sieve sieve_global = /var/lib/dovecot/sieve/global/ sieve_user_log = ~/.dovecot.sieve.log zlib_save = gz zlib_save_level = 6 } protocols = imap pop3 lmtp sieve sieve service aggregator { fifo_listener replication-notify-fifo { mode = 0666 user = vmail } unix_listener replication-notify { mode = 0666 user = vmail } } service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 } unix_listener auth-userdb { group = vmail mode = 0660 user = vmail } } service config { unix_listener config { user = vmail } } service doveadm { inet_listener { port = 12345 } user = vmail } service imap-login { inet_listener imaps { port = 993 ssl = yes } process_limit = 500 process_min_avail = 20 } service imap { executable = imap } service lmtp { inet_listener lmtp { address = 127.0.0.1 port = 24 } } service managesieve-login { inet_listener sieve { port = 4190 } inet_listener sieve_deprecated { port = 2000 } } service pop3-login { inet_listener pop3s { port = 995 ssl = yes } } service pop3 { executable = pop3 } service replicator { unix_listener replicator-doveadm { mode = 0666 } } ssl = required ssl_cert =
participants (2)
-
Marco Giunta
-
Thomas Robers