[Dovecot] Global Sieve Script Includes no longer works with 056934abd2ef
Stephan Bosch
stephan at rename-it.nl
Thu Dec 22 13:59:19 EET 2011
On 12/22/2011 12:29 PM, Thomas Leuxner wrote:
> Latest Dovecot Auto-Build 2.1.rc1-0~auto+42 (056934abd2ef) fails to include global Sieve Scripts. Not sure this is specific to Stephan's Repository. Rolling back to older version restores functionality.
>
> ==> /var/log/dovecot/dovecot.log<==
> Dec 22 12:13:52 spectre dovecot: lmtp(32246): Connect from local
> Dec 22 12:13:52 spectre dovecot: lmtp(32246, tlx at leuxner.net): Error: jo99GvAQ8072fQAAqZii3w: sieve: failed to open script /var/vmail/domains/leuxner.net/tlx/.dovecot.sieve (view user logfile /var/vmail/domains/leuxner.net/tlx/.dovecot.sieve.log for more information)
> Dec 22 12:13:52 spectre dovecot: lmtp(32246, tlx at leuxner.net): jo99GvAQ8072fQAAqZii3w: msgid=<4EF310E0.6030006 at Media-Brokers.com>: saved mail to INBOX
>
> $ cat /var/vmail/domains/leuxner.net/tlx/.dovecot.sieve.log
> sieve: info: started log at Dec 22 12:13:52.
> main_script: line 2: error: included global script 'global.sieve' does not exist.
> main_script: error: validation failed.
The fact that << include "global.sieve"; >> and << include "global"; >>
would map to the same script file `global.sieve' is not intended
behavior and I fixed this in a recent change:
http://hg.rename-it.nl/dovecot-2.1-pigeonhole/rev/66b7b1636c8c
I had the impression that this was already documented/announced in the
migration instructions from CMUSieve, but apparently these don't tell
the whole story:
http://wiki2.dovecot.org/Pigeonhole/Sieve/Configuration#From_CMUSieve_.28Dovecot_v1.0.2BAC8-v1.1.29
That is why I didn't explicitly announce this change. The .sieve
extension only has significance in the filesystem (to make sure that the
Sieve interpreter refuses to open anything but Sieve scripts). When
specified in the Sieve language, that extension would just be part of
the script name, meaning that << include "global.sieve"; >> maps to
`global.sieve.sieve' on the filesystem. So, in your case using <<
include :global "global"; >> should fix it.
Because it is technically a bugfix, it is also due to be released for
Dovecot v2.0.
Is it a big problem to change your include instructions? Is anyone else
depending on this unintended feature?
Regards,
Stephan.
More information about the dovecot
mailing list