On 15/05/2024 18:27, Douglas Morse via dovecot wrote:
My apologies, a small inaccuracy:
Below where I mention .svbin files being created, I incorrectly described what is occurring. If the
sieveis set to the default of users’ home directories etc., the file.dovecot.svbinis created in the user’s home directory. Ifsieveis set to the centralized location, then there is no.dovecot.svbinbut rather asieve.svbincreated or updated there. Also a bit confusing.
maybe you have a sieve_default setting that is affecting this.
Am 15.05.2024 um 18:18 schrieb Douglas Morse<morse@ikrg.com>:
Hi,
Dovecot version is 2.3.19.1 (9b53102964) running on fully up-to-date Debian 12 (Bookworm) operating system.
For the life of me I cannot figure out how to get sieve scripts working correctly in a central directory location. Calling them from users’ home directories works fine (as described below).
(Note: This system has recently been migrated from Cyrus IMAP, so some of the directories for a central location are very similar to what would find in a standard Cyrus IMAP installation.)
If I set
sieveto its default value offile:~/sieve;active=~/.dovecot.sieveinconf.d/90-sieve.conf, sieve works as expected. I have a file~/sieve/default.sieveand, as per documentation, I make a symbolic link~/.dovecot.sievethat points to that file. The sieve script runs, and I see adefault.svbineither created or updated in the ~/sieve directories as emails arrive.Setting
sievetofile:~/lib/sieve;active=~/.dovecot.sievealso works as expected. So this verifies I can change the directory where sieve scripts are stored.However, if I then set
sievetofile:/var/spool/dovecot/home/%1n/user/%n/sieve;active=file:/var/spool/dovecot/home/%1n/user/%n/.dovecot.sieve, again adefault.sievein each of these user’s centralizedsievedirectories, sieve scripts silently fail to run. No messages of any kind found in any log files.
I don't believe that the active option can take the "file:" prefix.
John
So, with the same exact same configuration as one that is the default and as proven to working, with the single exception of changing the top-level directory (TLD) for the scripts, results in silent failure. Why?
What I find particularly odd is that if I keep
sieveset to this central directory location (i.e., no config changes), andmv sieve/default.sieve sieve.tmp; rmdir sieve; mv sieve.tmp, that is, have a *file* calledsievewhere the settingsievepoints to (which, per docs and experience, should be a *directory*), the users’ sieve scripts *do* run, but with a warning along the lines ofWarning: sieve: file storage: Explicitly specified active script pathfile:/var/spool/dovecot/home/m/user/morse/.dovecot.sieve' is ignored; storage path/var/spool/dovecot/home/m/user/morse/sieve' is not a directory.In the docs I see that
sieveused to refer to a file (PidgeonHole Sieve v.0.31 or prior, I believe), and there is mention of a asieve_dirsetting (which I have *never* set or used). So my guess is that sieve working in this centralized TLD withsieveas a file rather than directory is due to support for some deprecated config / functionality.I have fiddle around with this for some hours, including setting and not setting
mail_hometo the central directory location (i.e.,mail_homeinconf.d/10-mail.confset to the same value assieveinconf.d/90-sieve.conf),to no avail. No matter what I do, I cannot get sieve scripts to run in a centralized directory location as they do under/home. The only exception is as just described in the preceding paragraph. But the solution only allows a user to have a single sieve script, and I imaginemanagesievewill not work properly is sieve is set up as described in the preceding paragraph.What am I missing or doing incorrectly?
Any and all assistance most appreciated.
Doug
dovecot mailing list --dovecot@dovecot.org To unsubscribe send an email todovecot-leave@dovecot.org