Hi,
We're synching mailboxes, changing format from maildir to mdbox, using
doveadm backup/doveadm sync.
When still running 2.2.36, 'doveadm backup' also synched the sieve
scripts, without issues.
After the upgrade to 2.3.5.1, the sieve sync stopped working. We're using
the pre-built 2.3 packages from
https://repo.dovecot.org/ce-2.3-latest/debian/stretch
In fact, when I now remove the dovecot-2.3 packages, and use my own old 2.2.36
packages, using the exact same config, the sieve scripts are being copied again.
In 2.2.36, when I migrate a mailbox, I do see Pigeonhole being initialized. Eg:
userimap-dev1:~ # doveadm -D backup -u xtra30 "doveadm -D dsync-server -u
xtra30+mdbox=.8d1&4&03&xtra30"
(note: that strange destination user signals to the auth proxy
that we want the new mdbox storage instead of the default for this user)
Debug: Loading modules from directory: /usr/lib/dovecot/modules
Debug: Module loaded: /usr/lib/dovecot/modules/lib02_lazy_expunge_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/lib20_zlib_plugin.so
Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
Debug: Skipping module doveadm_acl_plugin, because dlopen() failed:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol:
acl_user_module (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_expire_plugin, because dlopen() failed:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: undefined
symbol: expire_set_deinit (this is usually intentional, so just ignore this
message)
Debug: Module loaded:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so
Debug: Module loaded:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so
[...skipping a bunch of lines...]
dsync-local(xtra30): Debug: brain M: Mailbox Spam:
local=88b39d12998d9e5cbb700000436edcce/0/1,
remote=00000000000000000000000000000000/0/0: mailbox not selectable yet
dsync-local(xtra30): Debug: brain M: Mailbox Test:
local=801bb932e98d9e5c3d6d0000436edcce/0/1,
remote=00000000000000000000000000000000/0/0: mailbox not selectable yet
dsync-local(xtra30): Debug: brain M: Mailbox Trash:
local=fc9b162b86479f5cc85a0000436edcce/0/1,
remote=00000000000000000000000000000000/0/0: mailbox not selectable yet
dsync-remote(xtra30): Debug: brain S: Skipping unchanged mailbox
e7c1961d84479f5c885a0000436edcce
dsync-local(xtra30): Debug: doveadm-sieve: Iterating Sieve mailbox attributes
dsync-local(xtra30): Debug: sieve: Pigeonhole version 0.4.24 () initializing
dsync-local(xtra30): Debug: sieve: include: sieve_global is not set; it is
currently not possible to include `:global' scripts.
dsync-local(xtra30): Debug: sieve: file storage: Using active Sieve script path:
/var/mail/.8d1/index/7/oldsieve/x/xt/xtra30/dovecot.sieve
[... skipping a lot of sieve debug lines that seem fine ...]
dsync-remote(xtra30): Debug: sieve: file script: Opened script
`xtra30-testfilter' from
`/var/mail/.8d1/index/4/03/xtra30/sieve/scripts/xtra30-testfilter.sieve'
dsync-remote(xtra30): Debug: doveadm-sieve: Assigned value for key
`vendor/vendor.dovecot/pvt/server/sieve/default' (last change: 2019-03-29
22:27:41)
dsync-remote(xtra30): Debug: brain S: Import INBOX: Import attribute
vendor/vendor.dovecot/pvt/server/sieve/default: Nonexistent locally
dsync-remote(xtra30): Debug: brain S: Import INBOX: Last common UID=0. Delayed
expungesdsync-remote(xtra30): Debug: brain S: Import INBOX: Import change
type=save GUID=1553894809.M254847P28859.userimap11.xs4all.net,S=1311,W=1342
UID=1 hdr_hash= result=Mail's UID is above local UIDNEXT - No more local
mails found
[...]
Afterwards, the sieve scripts have been transferred, even including
last-modified time of any scripts.
However, with 2.3.5.1, it seems doveadm-sieve is never called from dsync. Output
includes:
userimap-dev1:~ # doveadm -D backup -u xtra30 "doveadm -D dsync-server -u
xtra30+mdbox=.8d1&4&03&xtra30"
Debug: Loading modules from directory: /usr/lib/dovecot/modules
Debug: Module loaded: /usr/lib/dovecot/modules/lib02_lazy_expunge_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so
Debug: Module loaded: /usr/lib/dovecot/modules/lib20_zlib_plugin.so
Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
Debug: Skipping module doveadm_acl_plugin, because dlopen() failed:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol:
acl_lookup_dict_iterate_visible_next (this is usually intentional, so just
ignore this message)
Debug: Skipping module doveadm_expire_plugin, because dlopen() failed:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: undefined
symbol: expire_set_deinit (this is usually intentional, so just ignore this
message)
Debug: Module loaded:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so
Debug: Module loaded:
/usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so
[... skipping some lines again ..]
dsync-local(xtra30)<SCSfIc5Wo1zTKAAAsPW7qw>: Debug: brain M: Mailbox Spam:
local=88b39d12998d9e5cbb700000436edcce/0/1,
remote=00000000000000000000000000000000/0/0: mailbox not selectable yet
dsync-local(xtra30)<SCSfIc5Wo1zTKAAAsPW7qw>: Debug: brain M: Mailbox Test:
local=801bb932e98d9e5c3d6d0000436edcce/0/1,
remote=00000000000000000000000000000000/0/0: mailbox not selectable yet
dsync-local(xtra30)<SCSfIc5Wo1zTKAAAsPW7qw>: Debug: brain M: Mailbox
Trash: local=fc9b162b86479f5cc85a0000436edcce/0/1,
remote=00000000000000000000000000000000/0/0: mailbox not selectable yet
dsync-remote(xtra30)<h8hfIs5Wo1zWKAAAsPW7qw>: Debug: brain S: Skipping
unchanged mailbox e7c1961d84479f5c885a0000436edcce
dsync-remote(xtra30)<h8hfIs5Wo1zWKAAAsPW7qw>: Debug: brain S: Import
INBOX: Last common UID=0. Delayed
expungesdsync-remote(xtra30)<h8hfIs5Wo1zWKAAAsPW7qw>: Debug: brain S:
Import INBOX: Import change type=save
GUID=1553894809.M254847P28859.userimap11.xs4all.net,S=1311,W=1342 UID=1
hdr_hash= result=Mail's UID is above local UIDNEXT - No more local mails
found
[...]
In the above output from 2.3.5.1, all lines starting with "Debug:
doveadm-sieve: Iterating Sieve mailbox attributes" are absent. I have no
idea why.
We can "work around" it by explicitly doing an rsync of the sieve
storage after the migration, but that's a bit of a hack.
Attached is a doveconf -n output for 2.3.5.1.
--
Jan-Pieter Cornet <johnpc at xs4all.net>
Systeembeheer XS4ALL Internet bv
www.xs4all.nl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: doveconf-n.txt.gz
Type: application/x-gzip
Size: 1864 bytes
Desc: not available
URL:
<https://dovecot.org/pipermail/dovecot/attachments/20190402/e3a7a112/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: OpenPGP digital signature
URL:
<https://dovecot.org/pipermail/dovecot/attachments/20190402/e3a7a112/attachment.sig>