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

Reply via email to