sieve scripts not synching for 2.3.5.1 pre-built
Marc Weustink
m.weustink at cuperus.nl
Wed Apr 3 11:20:57 EEST 2019
Timo Sirainen via dovecot wrote:
> On 2 Apr 2019, at 22.37, Timo Sirainen via dovecot <dovecot at dovecot.org
> <mailto:dovecot at dovecot.org>> wrote:
>>
>> On 2 Apr 2019, at 17.03, Jan-Pieter Cornet via dovecot
>> <dovecot at dovecot.org <mailto:dovecot at dovecot.org>> wrote:
>>>
>>> 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
>>
>> Looks like this is trivial to reproduce. It used to work still in
>> v2.3.1, but then something broke it. Tracking internally in DOP-1062.
>
> Reverting
> https://github.com/dovecot/pigeonhole/commit/479c5e57046dec76078597df844daccbfc0eb75f fixes
> this.
>
This is a change where strncmp() gets replaced by str_begins(). IMO a
good change, however in src/lib-sieve/storage/file/sieve-file-storage-save.c
strncmp(scriptname, fstorage->active_fname, namelen)
gets replaced by
str_begins(fstorage->active_fname, scriptname)
Note that the arguments are swapped here, giving a false result.
Marc
More information about the dovecot
mailing list