[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