Hello,

I'm trying to setup dovecot with sieve support in a way where all sieve
scripts are precompiled. All sieve scripts are in /var/cache/sieve/.

I believe I discovered a bug here. I describe below how to reproduce it.

Dovecot and the user that deliver runs as do not have write permission
in /var/cache/sieve/.

h01:/var/cache/sieve# ls -la
total 16
drwxr-xr-x  2 ecp  ecp  4096 Mar 31 21:32 .
drwxr-xr-x 10 root root 4096 Mar 31 20:14 ..
-rw-r--r--  1 ecp  ecp    88 Mar 31 21:32 [EMAIL PROTECTED]
-rw-r--r--  1 ecp  ecp   132 Mar 31 21:32 [EMAIL PROTECTED]

When deliver runs it logs this error:

open(/var/cache/sieve/[EMAIL PROTECTED]) failed:
Permission denied

This indicates deliver tries to compile the script, even though the
compiled version already is there.

To verify I tested another case. I make the compiled script immutable
and I did a chmod 777 on /var/cache/sieve/. Then deliver logs this error:

rename(/var/cache/sieve/[EMAIL PROTECTED],
/var/cache/sieve/[EMAIL PROTECTED]) failed: Operation not
permitted

And deliver created the file [EMAIL PROTECTED]

Some relevant pieces of my dovecot.conf:

protocol lda {
        mail_plugins = quota cmusieve
        ...
}

plugin {
        sieve = /var/cache/sieve/%u.sieve
}

Anyone can help me? Is this an error on my end, or really a bug?

Alexander

Reply via email to