Sieve-scripts won't replicate
Hi,
I am trying to use dovecot replication for a two-way sync. And whatever I do, sieve-scripts won’t replicate. Mails replicate near instantaneous. When I disable the sieve-script in roundcube, the other server will create in the home of the user on the other side a folder sieve/tmp but enabling won’t create the roundcube.sieve and the symlink .dovecot.sieve -> sieve/roundcube.sieve
The home of a virtual mail user on server1 looks like this:
drwx------ 4 vexim vexim 4096 Jun 18 08:02 . drwx------ 8 vexim vexim 4096 Jun 18 07:59 .. lrwxrwxrwx 1 vexim vexim 21 Jun 18 07:59 .dovecot.sieve -> sieve/roundcube.sieve drwx------ 5 vexim vexim 4096 Jun 18 08:14 Maildir drwx------ 3 vexim vexim 4096 Jun 18 08:02 sieve
A ps auxwww|grep dove looks like this (maybe some user is wrong?):
ps auxwww |grep dove root 847 0.0 0.0 4200 3044 ? Ss 07:54 0:00 /usr/sbin/dovecot -F root 849 0.0 0.0 4060 2544 ? S 07:54 0:00 dovecot-team1/replicator dovecot 850 0.0 0.0 3912 1092 ? S 07:54 0:00 dovecot-team1/anvil root 851 0.0 0.0 4048 2464 ? S 07:54 0:00 dovecot-team1/log dovecot 852 0.0 0.0 4048 2692 ? S 07:54 0:00 dovecot-team1/stats root 853 0.0 0.0 6072 4368 ? S 07:54 0:00 dovecot-team1/config dovecot 855 0.0 0.0 17412 6620 ? S 07:54 0:00 dovecot-team1/auth dovenull 856 0.0 0.0 8200 6344 ? S 07:54 0:00 dovecot-team1/imap-login vexim 858 0.0 0.0 7092 5300 ? S 07:54 0:00 dovecot-team1/imap dovecot 902 0.0 0.0 3912 1096 ? S 07:55 0:00 dovecot-team1/aggregator dovenull 1929 0.0 0.0 8200 6256 ? S 08:15 0:00 dovecot-team1/imap-login vexim 1930 0.0 0.0 6984 5284 ? S 08:15 0:00 dovecot-team1/imap dovenull 1931 0.0 0.0 8200 6248 ? S 08:15 0:00 dovecot-team1/imap-login vexim 1932 0.0 0.0 6964 5140 ? S 08:15 0:00 dovecot-team1/imap root 2210 0.0 0.0 6048 892 pts/0 S+ 08:21 0:00 grep dove
I do not see any errors in the log. Here is the doveconf -n output. The partner looks identical except the replication target.
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.4 () # OS: Linux 4.19.0-9-amd64 x86_64 Debian 10.4 # Hostname: team.snafu.de auth_mechanisms = plain login auth_verbose = yes doveadm_password = # hidden, use -P to show it doveadm_port = 12345 instance_name = team1 mail_location = maildir:~/mail:INBOX=/var/vmail/%d/%u mail_plugins = " notify replication" mail_privileged_group = mail 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 spamtest spamtestplus virustest editheader servermetadata imapflags notify imapsieve vnd.dovecot.imapsieve namespace inbox { inbox = 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 = separator = / } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { imapsieve_mailbox1_before = file:/usr/lib/dovecot/sieve/report-spam.sieve imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_name = Junk imapsieve_mailbox2_before = file:/usr/lib/dovecot/sieve/report-ham.sieve imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_from = Junk imapsieve_mailbox2_name = * mail_replica = tcps:server2.domain.de:12345 sieve = file:~/sieve;active=~/.dovecot.sieve sieve_dir = ~/sieve sieve_extensions = +notify +imapflags +editheader +regex +spamtest +spamtestplus +virustest +servermetadata sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment sieve_pipe_bin_dir = /usr/lib/dovecot/sieve-pipe sieve_plugins = sieve_imapsieve sieve_extprograms } protocols = " imap lmtp sieve sieve" replication_dsync_parameters = -D -d -N -l 30 -U service aggregator { fifo_listener replication-notify-fifo { mode = 0666 user = vexim } unix_listener replication-notify { mode = 0666 user = vexim } } service auth { unix_listener auth-client { group = vexim mode = 0660 user = Debian-exim } unix_listener auth-userdb { group = vexim mode = 0666 user = vexim } } service config { unix_listener config { user = vexim } } service doveadm { inet_listener { port = 12345 ssl = yes } user = vexim } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 1024 } service replicator { process_min_avail = 1 unix_listener replicator-doveadm { mode = 0666 } } ssl = required ssl_cert = </etc/ssl/certs/wildcard.domain.de.pem ssl_cipher_list = HIGH:!aNULL ssl_client_ca_dir = /etc/ssl/certs ssl_dh = # hidden, use -P to show it ssl_key = # hidden, use -P to show it ssl_min_protocol = TLSv1.2 ssl_prefer_server_ciphers = yes userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } protocol lda { mail_plugins = " notify replication sieve" } protocol imap { mail_plugins = " notify replication imap_sieve" } protocol lmtp { info_log_path = /var/log/dovecot-lmtp.log mail_plugins = " notify replication sieve" } protocol sieve { mail_max_userip_connections = 10 managesieve_max_line_length = 65536 }
Any help appreciated.
Niels
We installed now from the Dovecot-community repos instead of the official Debian 10-repos and it works now.
Best,
Niels
On 18 Jun 2020, at 8:22, Niels Kobschätzki wrote:
Hi,
I am trying to use dovecot replication for a two-way sync. And whatever I do, sieve-scripts won’t replicate. Mails replicate near instantaneous. When I disable the sieve-script in roundcube, the other server will create in the home of the user on the other side a folder sieve/tmp but enabling won’t create the roundcube.sieve and the symlink .dovecot.sieve -> sieve/roundcube.sieve
The home of a virtual mail user on server1 looks like this:
drwx------ 4 vexim vexim 4096 Jun 18 08:02 . drwx------ 8 vexim vexim 4096 Jun 18 07:59 .. lrwxrwxrwx 1 vexim vexim 21 Jun 18 07:59 .dovecot.sieve -> sieve/roundcube.sieve drwx------ 5 vexim vexim 4096 Jun 18 08:14 Maildir drwx------ 3 vexim vexim 4096 Jun 18 08:02 sieve
A ps auxwww|grep dove looks like this (maybe some user is wrong?):
ps auxwww |grep dove root 847 0.0 0.0 4200 3044 ? Ss 07:54 0:00 /usr/sbin/dovecot -F root 849 0.0 0.0 4060 2544 ? S 07:54 0:00 dovecot-team1/replicator dovecot 850 0.0 0.0 3912 1092 ? S 07:54 0:00 dovecot-team1/anvil root 851 0.0 0.0 4048 2464 ? S 07:54 0:00 dovecot-team1/log dovecot 852 0.0 0.0 4048 2692 ? S 07:54 0:00 dovecot-team1/stats root 853 0.0 0.0 6072 4368 ? S 07:54 0:00 dovecot-team1/config dovecot 855 0.0 0.0 17412 6620 ? S 07:54 0:00 dovecot-team1/auth dovenull 856 0.0 0.0 8200 6344 ? S 07:54 0:00 dovecot-team1/imap-login vexim 858 0.0 0.0 7092 5300 ? S 07:54 0:00 dovecot-team1/imap dovecot 902 0.0 0.0 3912 1096 ? S 07:55 0:00 dovecot-team1/aggregator dovenull 1929 0.0 0.0 8200 6256 ? S 08:15 0:00 dovecot-team1/imap-login vexim 1930 0.0 0.0 6984 5284 ? S 08:15 0:00 dovecot-team1/imap dovenull 1931 0.0 0.0 8200 6248 ? S 08:15 0:00 dovecot-team1/imap-login vexim 1932 0.0 0.0 6964 5140 ? S 08:15 0:00 dovecot-team1/imap root 2210 0.0 0.0 6048 892 pts/0 S+ 08:21 0:00 grep dove
I do not see any errors in the log. Here is the doveconf -n output. The partner looks identical except the replication target.
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.4 () # OS: Linux 4.19.0-9-amd64 x86_64 Debian 10.4 # Hostname: team.snafu.de auth_mechanisms = plain login auth_verbose = yes doveadm_password = # hidden, use -P to show it doveadm_port = 12345 instance_name = team1 mail_location = maildir:~/mail:INBOX=/var/vmail/%d/%u mail_plugins = " notify replication" mail_privileged_group = mail 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 spamtest spamtestplus virustest editheader servermetadata imapflags notify imapsieve vnd.dovecot.imapsieve namespace inbox { inbox = 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 = separator = / } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { imapsieve_mailbox1_before = file:/usr/lib/dovecot/sieve/report-spam.sieve imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_name = Junk imapsieve_mailbox2_before = file:/usr/lib/dovecot/sieve/report-ham.sieve imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_from = Junk imapsieve_mailbox2_name = * mail_replica = tcps:server2.domain.de:12345 sieve = file:~/sieve;active=~/.dovecot.sieve sieve_dir = ~/sieve sieve_extensions = +notify +imapflags +editheader +regex +spamtest +spamtestplus +virustest +servermetadata sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment sieve_pipe_bin_dir = /usr/lib/dovecot/sieve-pipe sieve_plugins = sieve_imapsieve sieve_extprograms } protocols = " imap lmtp sieve sieve" replication_dsync_parameters = -D -d -N -l 30 -U service aggregator { fifo_listener replication-notify-fifo { mode = 0666 user = vexim } unix_listener replication-notify { mode = 0666 user = vexim } } service auth { unix_listener auth-client { group = vexim mode = 0660 user = Debian-exim } unix_listener auth-userdb { group = vexim mode = 0666 user = vexim } } service config { unix_listener config { user = vexim } } service doveadm { inet_listener { port = 12345 ssl = yes } user = vexim } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 1024 } service replicator { process_min_avail = 1 unix_listener replicator-doveadm { mode = 0666 } } ssl = required ssl_cert = </etc/ssl/certs/wildcard.domain.de.pem ssl_cipher_list = HIGH:!aNULL ssl_client_ca_dir = /etc/ssl/certs ssl_dh = # hidden, use -P to show it ssl_key = # hidden, use -P to show it ssl_min_protocol = TLSv1.2 ssl_prefer_server_ciphers = yes userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } protocol lda { mail_plugins = " notify replication sieve" } protocol imap { mail_plugins = " notify replication imap_sieve" } protocol lmtp { info_log_path = /var/log/dovecot-lmtp.log mail_plugins = " notify replication sieve" } protocol sieve { mail_max_userip_connections = 10 managesieve_max_line_length = 65536 }
Any help appreciated.
Niels
participants (1)
-
Niels Kobschätzki