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@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@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