On Jan 1, 2015, at 9:50 AM, Stephan Bosch <stephan at rename-it.nl> wrote:> > Hmm. This smells like a bug. I notice that your modification times of > the .sieve and .svbin file are exactly the same (that is somewhat > unusual). I'm looking at a potential bug that would explain your problem. > > To confirm, could you try running sievec again, so that the .svbin is > actually newer than the .sieve?Sorry about that. ls -l was only showing minutes the actual file mtime *is* newer: ls -l -rw-r--r-- 1 root wheel 168 Jan 1 13:37 default.sieve -rw-r--r-- 1 root wheel 300 Jan 1 13:37 default.svbin stat -f %Sm default.sieve Jan 1 13:37:42 2015 stat -f %Sm default.svbin Jan 1 13:37:51 2015 I did just run it again... same problem: -rw-r--r-- 1 root wheel 168 Jan 1 13:37 default.sieve -rw-r--r-- 1 root wheel 300 Jan 1 14:55 default.svbin Jan 1 14:56:52 dovecot: lda(fred): Error: sieve: binary save: failed to create temporary file: open(/etc/dovecot/sieve/default.svbin.localhost.1435.) failed: Permission denied (euid=1002(fred) egid=1002(fred) missing +w perm: /etc/dovecot/sieve, dir owned by 26:0 mode=0755) Jan 1 14:56:52 dovecot: lda(fred): Error: sieve: The LDA Sieve plugin does not have permission to save global Sieve script binaries; global Sieve scripts like `/etc/dovecot/sieve/default.sieve' need to be pre-compiled using the sievec tool TIA
On Jan 1, 2015, at 9:58 AM, Robert Blayzor <rblayzor.bulk at inoc.net> wrote:> >> Hmm. This smells like a bug. I notice that your modification times of >> the .sieve and .svbin file are exactly the same (that is somewhat >> unusual). I'm looking at a potential bug that would explain your problem. >> >> To confirm, could you try running sievec again, so that the .svbin is >> actually newer than the .sieve?If it makes any difference at all... I only see this using "dovecot-lda". If I change my Exim transport to use Dovecot's LMTP, I do not see this problem. For the record also, the script DOES still execute (the compiled version that exists), even after the error... -- Robert
On 1/1/2015 4:17 PM, Robert Blayzor wrote:> On Jan 1, 2015, at 9:58 AM, Robert Blayzor <rblayzor.bulk at inoc.net> wrote: >>> Hmm. This smells like a bug. I notice that your modification times of >>> the .sieve and .svbin file are exactly the same (that is somewhat >>> unusual). I'm looking at a potential bug that would explain your problem. >>> >>> To confirm, could you try running sievec again, so that the .svbin is >>> actually newer than the .sieve? > > If it makes any difference at all... I only see this using "dovecot-lda". If I change my Exim transport to use Dovecot's LMTP, I do not see this problem.That is odd. You can try the latest version. I've added some more debugging regarding the up-to-date check.> > For the record also, the script DOES still execute (the compiled version that exists), even after the error...It compiles, so it can be executed. It just cannot store the binary for future use. So, it will work as normal, but it is not efficient as it compiles the Sieve script for every incoming message. Regards, Stephan.