Laurent BRAULT (OSILOG)
2019-Feb-25 15:42 UTC
Probleme with replication and shared mailbox
Dear Dovecot Users/Admins/Mailing-List First of all I would give a big thanks for your great work ! I may need your help to find out what?s going on with my replication and shared mailbox problem. I setup a full active/active servers with : * Postfix * Dovecot * MariaDB (automaticaly balanced/failover between the 2 host within DRBD and Heartbeat) * SpamAssassin * Clamav * Sieve * Webmail * IMAP Over SSL and SMTP Over TLS * Fail2ban ################################################################################################## <dovecot ?version> ################################################################################################## 2.2.27 (c0f36b0) ==> DEBIAN 9 Stretch (no back ports) ################################################################################################## Everythink works fine until I activate a share on a mailbox. I run the following command to share the full mailbox ? websentinel ? to ? lbrault ? (because of ? acl_defaults_from_inbox = yes ? set in conf) : ==> doveadm acl set -u websentinel at example.fr INBOX user=lbrault at example.fr admin create delete expunge insert lookup post read write write-deleted write-seen Just after activation of share and connect through webmail client (Horde in this case but tried Roundcube also) I get this kind of error messages on logs : ################################################################################################## Feb 25 15:59:50 mx01 dovecot: imap(lbrault at example.fr): Error: /mnt/mail/vmail/example.fr/lbrault/shared/websentinel at example.fr/.INBOX/dovecot.index.pvt reset, view is now inconsistent Feb 25 15:59:50 mx01 dovecot: imap(lbrault at example.fr): Error: /mnt/mail/vmail/example.fr/lbrault/shared/websentinel at example.fr/.INBOX/dovecot.index.pvt view is inconsistent Feb 25 15:59:50 mx01 dovecot: imap(lbrault at example.fr): Error: /mnt/mail/vmail/example.fr/lbrault/shared/websentinel at example.fr/.INBOX/dovecot.index.pvt view is inconsistent Feb 25 15:59:50 mx01 dovecot: imap(lbrault at example.fr): BUG: Unknown internal error in=293 out=119712 ################################################################################################## In parallele to this error some new folders are created on the mailboxes root with name containing ? nonexistent mailbox? ? : ################################################################################################## 16:00:37 root at mx01 /mnt/mail/vmail # lla total 48 drwxr-xr-x 12 vmail vmail 4096 f?vr. 25 16:00 . drwxr-xr-x 3 root root 4096 f?vr. 11 12:13 .. drwx------ 2 vmail vmail 4096 f?vr. 25 16:00 (nonexistent mailbox with GUID=47376e22c8876e5cff5b000036d82855) drwx------ 2 vmail vmail 4096 f?vr. 25 16:00 (nonexistent mailbox with GUID=48376e22c8876e5cff5b000036d82855) drwx------ 2 vmail vmail 4096 f?vr. 25 16:00 (nonexistent mailbox with GUID=49376e22c8876e5cff5b000036d82855) drwx------ 2 vmail vmail 4096 f?vr. 25 16:00 (nonexistent mailbox with GUID=5c72c71b3f896e5c615c000036d82855) drwx------ 2 vmail vmail 4096 f?vr. 25 16:00 (nonexistent mailbox with GUID=809fff0046896e5c665c000036d82855) drwx------ 2 vmail vmail 4096 f?vr. 25 16:00 (nonexistent mailbox with GUID=a1895d0c36866e5c865b000036d82855) drwx------ 2 vmail vmail 4096 f?vr. 25 16:00 (nonexistent mailbox with GUID=c14aaa38d1846e5c285b000036d82855) drwx------ 2 vmail vmail 4096 f?vr. 25 16:00 (nonexistent mailbox with GUID=ed909808b1846e5c523b01006b8a5dcb) drwx------ 2 vmail vmail 4096 f?vr. 25 16:00 (nonexistent mailbox with GUID=fa9d41114b896e5c6b5c000036d82855) drwx------ 4 vmail vmail 4096 f?vr. 21 11:57 example.fr ################################################################################################## When I look at the GUID it seems this GUID are linked to the folder into the shared mailbox (websentinel) I tried to change dsync params with the following command into 10-master.conf to exclude the shared folder from replication but it seems having no effect with the TCP replication : ==> replication_dsync_parameters = -d -N -l 30 -U -x shared Here is my dovecot -n report : ################################################################################################## <dovecot -n> : ################################################################################################## # 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.16 (fed8554) # OS: Linux 4.9.0-8-amd64 x86_64 Debian 9.7 ext4 auth_debug = yes auth_debug_passwords = yes auth_mechanisms = plain login auth_verbose = yes auth_verbose_passwords = yes doveadm_password = # hidden, use -P to show it doveadm_port = 12345 mail_attribute_dict = file:/mnt/mail/vmail/%d/%n/dovecot-attributes mail_debug = yes mail_location = maildir:/mnt/mail/vmail/%d/%n mail_plugins = " quota notify replication acl" mail_privileged_group = 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 editheader vnd.dovecot.pipe vnd.dovecot.filter vnd.dovecot.execute namespace { list = children location = maildir:/mnt/mail/vmail/%%d/%%n:INDEXPVT=/mnt/mail/vmail/%d/%n/shared/%%u prefix = shared/%%u/ separator = / subscriptions = no type = shared } namespace inbox { inbox = yes location mailbox Archive { auto = subscribe special_use = \Archive } mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix separator = / type = private } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { acl = vfile acl_defaults_from_inbox = yes acl_shared_dict = file:/var/lib/dovecot/db/shared-mailboxes.db mail_replica = tcp:mx02.example.fr quota = maildir:User quota quota_grace = 10%% quota_rule = *:storage=1G quota_rule2 = Trash:storage=+100M quota_rule3 = Junk:ignore quota_status_overquota = 552 5.2.2 Mailbox is full sieve = /mnt/mail/vmail/%d/%n/.dovecot.sieve sieve_after = /etc/dovecot/sieve/spamfilter.sieve sieve_dir = /mnt/mail/vmail/%d/%n/sieve sieve_execute_bin_dir = /usr/lib/dovecot/sieve-execute sieve_extensions = +editheader +vnd.dovecot.pipe +vnd.dovecot.filter +vnd.dovecot.execute sieve_filter_bin_dir = /usr/lib/dovecot/sieve-filter sieve_pipe_bin_dir = /usr/lib/dovecot/sieve-pipe sieve_plugins = sieve_extprograms } protocols = " imap lmtp sieve" replication_dsync_parameters = -d -N -l 30 -U -x shared replication_max_conns = 50 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 { group = postfix mode = 0666 user = postfix } unix_listener auth-userdb { group = vmail mode = 0666 user = vmail } } service doveadm { inet_listener { port = 12345 } user = vmail } service imap-login { inet_listener imaps { port = 993 ssl = yes } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service replicator { process_min_avail = 1 unix_listener replicator-doveadm { mode = 0666 } } ssl = required ssl_cert = </etc/letsencrypt/live/mx01.example.fr/fullchain.pem ssl_key = # hidden, use -P to show it userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } verbose_ssl = yes protocol lmtp { mail_plugins = " quota notify replication acl sieve" postmaster_address = lbrault at example.fr } protocol lda { mail_plugins = " quota notify replication acl sieve" } protocol imap { imap_metadata = yes mail_plugins = " quota notify replication acl imap_quota imap_acl" } ################################################################################################## ################################################################################################## <dovecot-sql.conf.ext> : ################################################################################################## driver = mysql connect = host=192.168.1.512 dbname=postfix user=mailman password=MySuperPassword default_pass_scheme = SHA512-CRYPT password_query = \ SELECT email as username, pwd AS password, \ concat('*:bytes=', quota_limit_bytes) AS userdb_quota_rule \ FROM addresses WHERE email = '%u' AND active = 1 user_query = \ SELECT 5000 AS uid, 5000 as gid, email, \ '/mnt/mail/vmail/%d/%n' AS home, \ concat('*:bytes=', quota_limit_bytes) AS quota_rule \ FROM addresses WHERE email = '%u' AND active = 1 iterate_query = SELECT email AS user FROM addresses WHERE active = 1 ################################################################################################## I would share a special thanks for Community help ? If more conf files needed (ie postfix main.cf) please ask me for them. Best regards Laurent -------------- next part -------------- An HTML attachment was scrubbed... URL: <dovecot.org/pipermail/dovecot/attachments/20190225/0610dd00/attachment-0001.html>