Why is Sieve trying to re-compile global scripts?

E.B. emailbuilder88 at yahoo.com
Wed Mar 11 01:10:14 UTC 2015


I have some global scripts that were running nicely.

Then I opened one in an editor and (probably, but not 100% sure)
mindlessly saved the file, even though I hadn't made any changes.

Shortly after, Sieve errors started showing in the log:

Error: 4k5JA74R/1TlIwABG/SpMA: sieve: binary save: failed to create temporary file: open(/usr/local/var/dovecot/sieve/script2.svbin.example.com.4139.) failed: Permission denied...
Error: 4k5JA74R/1TlIwABG/SpMA: sieve: The LDA Sieve plugin does not have permission to save global Sieve script binaries; global Sieve scripts like `/usr/local/var/dovecot/sieve/script2.sieve' need to be pre-compiled using the sievec tool

Well, OK, is it going by the timestamp on the files?  Fine.  I recompiled
it by hand.  Yet, I STILL got these errors!

I triple and quadruple checked that the timestamp on the svbin files was
more recent.  And Sieve was only complaining about one of the two
scripts in the directory.

I restarted dovecot.  No change.

So I removed read permission on the .sieve files and only left read
permission on the .svbin files.  THIS WORKED.  No more error.
I can live with that, but why was it not complaining before, why was it
only complaining about one of my scripts and why would it complain
at all when the timestamps on the svbin should have indicated on
compilation is needed?


More information about the dovecot mailing list