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