On 3/11/2015 2:10 AM, E.B. wrote: > 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?
I've heard about this problem before. Do you have the opportunity to test this with the 0.4.7.rc1 release? That adds a few extra debug lines (shown when mail_debug=yes) that would indicate why Sieve is thinking the global script is not up-to-date. Regards, Stephan.
