Sieve-scripts won't replicate

Niels Kobschätzki niels at kobschaetzki.net
Thu Jun 18 09:22:54 EEST 2020


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


More information about the dovecot mailing list