Hello Paul,
Thanks for your reply.
On 2025-07-19 03:38, Paul Zirnik via dovecot wrote:
I am not an expert here, as i only recently switched from cyrus to dovecot-2.4, but i have following structure
$ ls -ln .dovecot.s* lrwxrwxrwx 1 1000 100 17 Mai 19 17:25 .dovecot.sieve -> .sieve/USER.sieve -rw------- 1 1000 100 5116 Mai 21 10:56 .dovecot.sieve.log -rw------- 1 1000 100 1779 Jul 1 13:46 .dovecot.svbin $ ls -ln .sieve/ total 8 -rw------- 1 1000 100 1738 Jul 1 13:07 mysieve.sieve drwx------ 2 1000 100 6 Jul 11 14:30 tmp -rw------- 1 1000 100 266 Mai 19 17:25 USER.sieve
I never created "USER.sieve" or the link ".dovecot.sieve", this was done automatically when i activated my sieve script "mysieve.sieve" via an sieve editor.
This makes partly sense. The link always points to the activated sieve script. The .bin file is a binary "compiled" version of this script and recreated the first time it is accessed after making a change to the plain text sieve script.
The part that does not make sense is the USER.sieve script. You said you activated the mysieve.sieve script, in which case the link should point to it:
.dovecot.sieve -> .sieve/mysieve.sieve
If .dovecot.sieve points to the USER script, it means that this one is active and used.
Something seems off and I hope the devs can chime in here.
and following config
sieve_script personal { path = ~/.sieve active_path = ~/.dovecot.sieve }
So i think it does translate to
old -> new
sieve -> active_path sieve_dir -> path
hope this is of any help.
Yes, your migration matrix makes sense. I'm still a bit fuzzy about this USER.sieve script and why it was activated instead of the one that was actually activated. It's quite troubling and makes me nervous.
I'm currently still on 2.3.21 and rewrote my config file for when 2.4 hits my distro. This will be when F43 server is out, which is still a few months away.
I hope this mystery can be solved until then.
Thanks again for your detailed reply. It helped me a lot, although this USER.sieve script created more questions:
Where does it come from? Maybe another script storage type, e.g. "default", is setup in the config. Why was it activated instead of the correct script? (The default would be used when no personal script was created and activated, but as soon as you activate that script, the link should point to the selected and activated script.) Also, a default script should not be in your home directory. Weird. Default scripts cannot be seen by the user unless one configures it that way, but either way, the script does not exist in the uaer's sieve storgae dir.
Cheers, K. C.
P.S.: I go by KC, trying to avoid the Spaceballs Dark Helmet mixup.
-- regards Helmut K. C. Tessarek KeyID 0x172380A011EF4944 Key fingerprint = 8A55 70C1 BD85 D34E ADBC 386C 1723 80A0 11EF 4944
/* Thou shalt not follow the NULL pointer for chaos and madness await thee at its end. */