Replication sieve scripts.

Luescher Claude stargate at tango.lu
Thu Jul 21 13:50:35 UTC 2016


 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 at company.com): 
 Debug: doveadm-sieve: Iterating Sieve mailbox attributes
 Jul 21 11:52:27 server1 dovecot: dsync-server(user1 at company.com): 
 Debug: sieve: Pigeonhole version 0.4.2 initializing
 Jul 21 11:52:27 server1 dovecot: dsync-server(user1 at 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 at company.com): 
 Debug: sieve-storage: using active sieve script path: 
 /home/vmail/company.com/user1 at company.com//.dovecot.sieve
 Jul 21 11:52:27 server1 dovecot: dsync-server(user1 at company.com): 
 Debug: sieve-storage: using sieve script storage directory: 
 /home/vmail/company.com/user1 at company.com//sieve
 Jul 21 11:52:27 server1 dovecot: dsync-server(user1 at company.com): 
 Debug: sieve-storage: using permissions from 
 /home/vmail/company.com/user1 at company.com//sieve: mode=0700 gid=-1
 Jul 21 11:52:27 server1 dovecot: dsync-server(user1 at company.com): 
 Debug: sieve-storage: relative path to sieve storage in active link: 
 sieve/
 Jul 21 15:17:21 server1 dovecot: dsync-local(user2 at company.com): Debug: 
 doveadm-sieve: Iterating Sieve mailbox attributes
 Jul 21 15:17:21 server1 dovecot: dsync-local(user2 at company.com): Debug: 
 sieve: Pigeonhole version 0.4.2 initializing
 Jul 21 15:17:21 server1 dovecot: dsync-local(user2 at 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 at company.com): Debug: 
 sieve-storage: using active sieve script path: 
 /home/vmail/company.com/user2 at company.com//.dovecot.sieve
 Jul 21 15:17:21 server1 dovecot: dsync-local(user2 at company.com): Debug: 
 sieve-storage: using sieve script storage directory: 
 /home/vmail/company.com/user2 at company.com//sieve
 Jul 21 15:17:21 server1 dovecot: dsync-local(user2 at company.com): Debug: 
 sieve-storage: using permissions from 
 /home/vmail/company.com/user2 at company.com//sieve: mode=0700 gid=-1
 Jul 21 15:17:21 server1 dovecot: dsync-local(user2 at company.com): Debug: 
 sieve-storage: relative path to sieve storage in active link: sieve/
 Jul 21 15:17:21 server1 dovecot: dsync-local(user3 at company.com): Debug: 
 doveadm-sieve: Iterating Sieve mailbox attributes
 Jul 21 15:17:21 server1 dovecot: dsync-local(user3 at company.com): Debug: 
 sieve: Pigeonhole version 0.4.2 initializing
 Jul 21 15:17:21 server1 dovecot: dsync-local(user3 at 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 at company.com): Debug: 
 sieve-storage: using active sieve script path: 
 /home/vmail/company.com/user3 at company.com//.dovecot.sieve

 First problem I notice is this 
 /home/vmail/company.com/user1 at 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 at 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.


More information about the dovecot mailing list