sieve: active= doesn't seem to use bindir=

David Mandelberg david at mandelberg.org
Tue Oct 5 21:16:45 EEST 2021


Hi,

I'm trying to set up dovecot to read sieve source files from a read-only 
directory, and save compiled binaries to a separate directory with the 
bindir option. That worked when I pointed the sieve option at a single 
file, but I just changed it to point at a directory and added the 
active= option, also pointing at a symlink in a read-only directory. It 
looks like dovecot is trying to save the compiled active script to the 
same directory as the source file, instead of to bindir. Am I missing 
something?


$ doveconf -n
# 2.3.13 (89f716dc2): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.13 (cdd19fe3)
# OS: Linux 5.10.0-8-amd64 x86_64 Debian 11.0 ext4
...
plugin {
   sieve = 
file:/usr/local/etc/mail/%{domain}/%{username}/sieve;active=/usr/local/etc/mail/%{domain}/%{username}/sieve/.active.sieve;bindir=/var/cache/mail/%{domain}/%{username}/sieve
   sieve_before = file:/etc/dovecot/sieve-before
   sieve_filter_bin_dir = /etc/dovecot/sieve-filter-bin
   sieve_filter_exec_timeout = 30s
   sieve_global_extensions = +vnd.dovecot.filter
   sieve_plugins = sieve_extprograms
   sieve_user_log = 
/var/local/mail/persistent/mail/%{domain}/%{username}/sieve.log
}
...


Relevant logs:
lmtp(david at mandelberg.org)<90751><rqtQHUiTXGF/YgEA4Ys4ZQ>: Error: 
open(/usr/local/etc/mail/mandelberg.org/david/sieve/.active.svbin.mail-storage-bbf78862.90751.be1286bb0bf97ee9) 
failed: Read-only file system
lmtp(david at mandelberg.org)<90751><rqtQHUiTXGF/YgEA4Ys4ZQ>: Error: sieve: 
binary /usr/local/etc/mail/mandelberg.org/david/sieve/.active.svbin: 
save: failed to create temporary file: 
open(/usr/local/etc/mail/mandelberg.org/david/sieve/.active.svbin.) 
failed: Read-only file system


More information about the dovecot mailing list