Can't unsubscribe from public mailbox when dsync multi-master is enabled
Salatiel Filho
salatiel.filho at gmail.com
Thu Nov 25 21:41:59 UTC 2021
Nobody else facing this problem?
Thanks!
On Tue, Oct 12, 2021 at 10:36 AM Salatiel Filho
<salatiel.filho at gmail.com> wrote:
>
> Hello,
>
> I am trying to build a dovecot environment with 2 servers with dsync
> master<->master replication. Everything works just fine, one can login
> in any of the servers and see and manage their mails. The problem I
> see is that one can not unsubscribe from public mailboxes.
> Let's call the servers server1 and server2, both of them have an imap
> webui pointing to localhost, just to make the test easier.
> One subscribes to a public mailbox connected through the webui on
> server1. A few seconds later the same user can see the subscribed
> mailbox on the webui on server2 just as expected, but if he tries to
> unsubscribe it will not work. The public mailbox folder will still be
> subscribed to and visible. There is absolutely nothing on the logs,
> but I know it is related to the dsync replication because if I
> shutdown any of the servers, I will be able to unsubscribe just fine,
> UNTIL the shutdown server is powered back on and replication starts
> again, and, in this case, the previously unsubscribed public mailbox
> will just reappear.
>
> Is this a bug or am I missing something in my configuration?
> Thanks!
>
>
> # dovecot -n
> # 2.3.16 (7e2e900c1a): /etc/dovecot/dovecot.conf
> # Pigeonhole version 0.5.16 (09c29328)
> # OS: Linux 4.18.0-305.19.1.el8_4.x86_64 x86_64
> auth_username_format = %Ln
> doveadm_password = # hidden, use -P to show it
> first_valid_uid = 1000
> mail_debug = yes
> mail_home = /var/spool/imap/%n
> mail_location = maildir:/var/spool/imap/%n/mail:VOLATILEDIR=/var/spool/imap/%n
> mail_plugins = " notify replication"
> 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 {
> list = children
> location = maildir:/var/spool/imap/salas/mail/:INDEXPVT=/var/spool/imap/%n/pub-seen-idx/
> mailbox * {
> autoexpunge = 60 days
> }
> prefix = salas/
> separator = /
> subscriptions = no
> type = public
> }
> namespace inbox {
> inbox = yes
> location =
> mailbox Drafts {
> auto = subscribe
> special_use = \Drafts
> }
> mailbox Junk {
> special_use = \Junk
> }
> mailbox Sent {
> auto = subscribe
> special_use = \Sent
> }
> mailbox "Sent Messages" {
> special_use = \Sent
> }
> mailbox Trash {
> auto = subscribe
> special_use = \Trash
> }
> prefix =
> separator = /
> }
> passdb {
> args = scheme=CRYPT username_format=%n /etc/dovecot/users
> driver = passwd-file
> }
> passdb {
> args = failure_show_msg=yes dovecot
> driver = pam
> }
> plugin {
> mail_replica = tcps:10.10.10.10:26
> sieve = file:/var/spool/imap/%n/sieve;active=/var/spool/imap/%n/.dovecot.sieve
> sieve_before = /var/lib/dovecot/sieve.d/
> sieve_global = /var/lib/dovecot/sieve.d/
> }
> protocols = imap lmtp sieve
> replication_dsync_parameters = -d -N -l 10 -U
> service aggregator {
> fifo_listener replication-notify-fifo {
> mode = 0666
> user = dovecot
> }
> unix_listener replication-notify {
> mode = 0666
> user = dovecot
> }
> }
> service doveadm {
> inet_listener {
> port = 26
> ssl = yes
> }
> }
> service replicator {
> process_min_avail = 1
> unix_listener replicator-doveadm {
> mode = 0666
> user = dovecot
> }
> }
> ssl = required
> ssl_ca = </etc/ssl/certs/mail-cluster-communication_ca.pem
> ssl_cert = </etc/ssl/certs/mail-cluster-communication.crt
> ssl_key = # hidden, use -P to show it
> userdb {
> args = username_format=%n /etc/dovecot/users
> default_fields = uid=vmail gid=mail home=/var/spool/imap
> driver = passwd-file
> }
> userdb {
> driver = passwd
> override_fields = uid=vmail gid=mail home=/var/spool/imap/%n
> }
> protocol lmtp {
> mail_plugins = " notify replication sieve"
> }
> protocol imap {
> ssl_cert = </etc/ssl/certs/salas.com.crt
> ssl_key = # hidden, use -P to show it
> }
More information about the dovecot
mailing list