Hello,
Thanks for the advice. I have looked for the libs and here is the difference:
Dovecot production env 2.2.10:
/usr/lib/dovecot/modules/doveadm rw-r--r-- 1 root root 18560 Jan 9 2014 lib10_doveadm_acl_plugin.so -rw-r--r-- 1 root root 14256 Jan 9 2014 lib10_doveadm_expire_plugin.so -rw-r--r-- 1 root root 10232 Jan 9 2014 lib10_doveadm_quota_plugin.so -rw-r--r-- 1 root root 51352 Jan 9 2014 lib10_doveadm_sieve_plugin.so -rw-r--r-- 1 root root 14344 Jan 9 2014 lib20_doveadm_fts_plugin.so
Dovecot new test env:
/usr/dovecot/lib/dovecot/doveadm -rw-r--r-- 1 root root 140574 Jul 20 12:53 lib10_doveadm_acl_plugin.a -rwxr-xr-x 1 root root 1066 Jul 20 12:53 lib10_doveadm_acl_plugin.la -rwxr-xr-x 1 root root 98910 Jul 20 12:53 lib10_doveadm_acl_plugin.so -rw-r--r-- 1 root root 56108 Jul 20 12:53 lib10_doveadm_expire_plugin.a -rwxr-xr-x 1 root root 1087 Jul 20 12:53 lib10_doveadm_expire_plugin.la -rwxr-xr-x 1 root root 43879 Jul 20 12:53 lib10_doveadm_expire_plugin.so -rw-r--r-- 1 root root 97212 Jul 20 12:53 lib10_doveadm_quota_plugin.a -rwxr-xr-x 1 root root 1080 Jul 20 12:53 lib10_doveadm_quota_plugin.la -rwxr-xr-x 1 root root 63227 Jul 20 12:53 lib10_doveadm_quota_plugin.so -rw-r--r-- 1 root root 338560 Jul 20 12:53 lib10_doveadm_sieve_plugin.a -rwxr-xr-x 1 root root 1286 Jul 20 12:53 lib10_doveadm_sieve_plugin.la -rwxr-xr-x 1 root root 177604 Jul 20 12:53 lib10_doveadm_sieve_plugin.so -rw-r--r-- 1 root root 139748 Jul 20 12:53 lib20_doveadm_fts_plugin.a -rwxr-xr-x 1 root root 1066 Jul 20 12:53 lib20_doveadm_fts_plugin.la -rwxr-xr-x 1 root root 94615 Jul 20 12:53 lib20_doveadm_fts_plugin.so
Also I have set the mail_log to debug as you have suggested and I see the following for users in the logs (with my "old" version):
Jul 21 11:52:27 server1 dovecot: dsync-server(user1@company.com):
Debug: doveadm-sieve: Iterating Sieve mailbox attributes
Jul 21 11:52:27 server1 dovecot: dsync-server(user1@company.com):
Debug: sieve: Pigeonhole version 0.4.2 initializing
Jul 21 11:52:27 server1 dovecot: dsync-server(user1@company.com):
Debug: sieve: include: sieve_global_dir is not set; it is currently not
possible to include :global' scripts. Jul 21 11:52:27 server1 dovecot: dsync-server(user1@company.com): Debug: sieve-storage: using active sieve script path: /home/vmail/company.com/user1@company.com//.dovecot.sieve Jul 21 11:52:27 server1 dovecot: dsync-server(user1@company.com): Debug: sieve-storage: using sieve script storage directory: /home/vmail/company.com/user1@company.com//sieve Jul 21 11:52:27 server1 dovecot: dsync-server(user1@company.com): Debug: sieve-storage: using permissions from /home/vmail/company.com/user1@company.com//sieve: mode=0700 gid=-1 Jul 21 11:52:27 server1 dovecot: dsync-server(user1@company.com): Debug: sieve-storage: relative path to sieve storage in active link: sieve/ Jul 21 15:17:21 server1 dovecot: dsync-local(user2@company.com): Debug: doveadm-sieve: Iterating Sieve mailbox attributes Jul 21 15:17:21 server1 dovecot: dsync-local(user2@company.com): Debug: sieve: Pigeonhole version 0.4.2 initializing Jul 21 15:17:21 server1 dovecot: dsync-local(user2@company.com): Debug: sieve: include: sieve_global_dir is not set; it is currently not possible to include
:global' scripts.
Jul 21 15:17:21 server1 dovecot: dsync-local(user2@company.com): Debug:
sieve-storage: using active sieve script path:
/home/vmail/company.com/user2@company.com//.dovecot.sieve
Jul 21 15:17:21 server1 dovecot: dsync-local(user2@company.com): Debug:
sieve-storage: using sieve script storage directory:
/home/vmail/company.com/user2@company.com//sieve
Jul 21 15:17:21 server1 dovecot: dsync-local(user2@company.com): Debug:
sieve-storage: using permissions from
/home/vmail/company.com/user2@company.com//sieve: mode=0700 gid=-1
Jul 21 15:17:21 server1 dovecot: dsync-local(user2@company.com): Debug:
sieve-storage: relative path to sieve storage in active link: sieve/
Jul 21 15:17:21 server1 dovecot: dsync-local(user3@company.com): Debug:
doveadm-sieve: Iterating Sieve mailbox attributes
Jul 21 15:17:21 server1 dovecot: dsync-local(user3@company.com): Debug:
sieve: Pigeonhole version 0.4.2 initializing
Jul 21 15:17:21 server1 dovecot: dsync-local(user3@company.com): Debug:
sieve: include: sieve_global_dir is not set; it is currently not
possible to include `:global' scripts.
Jul 21 15:17:21 server1 dovecot: dsync-local(user3@company.com): Debug:
sieve-storage: using active sieve script path:
/home/vmail/company.com/user3@company.com//.dovecot.sieve
First problem I notice is this /home/vmail/company.com/user1@company.com//.dovecot.sieve missing. Is this supposed to be a file or a directory? The second sieve_global_dir, I don't need global rules. The third is this minus gid=-1 value. The user/group/rights on that directory is not different from the mail dirs (where the replication works):
ls -al /home/vmail/company.com/user2@company.com//sieve drwx--S--- 2 vmail vmail 4096 Jul 21 15:17 tmp
The important directory for me is the siev_after because roundcube vacation plugin puts the sieves in there for example:
-rw------- 1 vmail vmail 413 Jul 21 15:23 01_vacation.sieve -rw------- 1 vmail vmail 124 Jul 21 15:23 01_vacation.svbin -rw-r--r-- 1 vmail vmail 193 Feb 26 2014 antispam.sieve -rw-r--r-- 1 vmail vmail 272 Apr 13 2015 antispam.svbin
Gets created after setting out of office message but will not get replicated to the other node.
As I have showed in my earlier doveconf output is defined:
sieve = ~/.dovecot.sieve sieve_after = ~/sieve_after sieve_dir = ~/sieve sieve_duplicate_period = 1h sieve_extensions = +editheader sieve_max_redirects = 20
And the sieve scripts work locally per server they are just not replicating as they should be.
On Wed, 20 Jul 2016 16:31:55 +0200, Stephan Bosch wrote:
Op 20-7-2016 om 14:51 schreef Luescher Claude:
I did eventually was forced to do this and setup a 2 node test environment with the latest dovecot: /usr/dovecot/sbin/dovecot --version 2.2.25 (7be1766) /usr/dovecot/sbin/dovecot --build-options Build options: ioloop=epoll notify=inotify ipv6 openssl io_block_size=8192 Mail storages: shared mdbox sdbox maildir mbox cydir imapc pop3c raw fail SQL drivers: mysql Passdb: checkpassword ldap pam passwd passwd-file shadow sql Userdb: checkpassword ldap nss passwd prefetch passwd-file sql and dovecot-2.2-pigeonhole-0.4.15. It unfortunately made no difference at all. The emails are still replicating while it is completely ignoring the sieve files so there must be a switch in the config for this somewhere. Otherwise I will have to look for other solutions like lsync, rsync to sync them between the nodes.
Is the doveadm sieve plugin properly installed at both sides of the replication? On my system (Debian Jessie), it is located at /usr/lib/dovecot/modules/doveadm. The file name is lib10_doveadm_sieve_plugin.so.
When mail_debug is enabled, the replication should log all kinds of doveadm-sieve debug messages.
Any errors in the log?
Regards,
Stephan.