Deleting an active sieve script leaves sieve unfunctional

Tobias Leupold tl at l3u.de
Mon Jul 5 17:29:36 EEST 2021


Dear devs,

I noticed this using Dovecot 2.3.7.2, set up on a newly created Ubuntu 
20.04
server.

If I delete a sieve script via KMail's managesieve interface, and the 
script
is active, it leaves sieve unfunctional afterwards.

What's happening is this:

Dovecot creates a USER.sieve script containing all active scripts, e. g.:

    require ["include"];
    
    include :personal "some-script";
    include :personal "some-other-script";

Now if I delete "some-script", it's actually deleted, but USER.sieve is not
updated (and still contains 'include :personal "some-script";').

So next time an email is filtered, this happens:

mail log:

    Jul  5 15:20:01 server dovecot: lda(user at domain)<123456>
    <xxxxxxxxxxxxxxxxxxxxxx>: sieve: Failed to compile script 
    `/srv/sieve/user at domain/active-script.sieve' (view user logfile 
    `/srv/sieve/user at domain/active-script.sieve.log' for more information)

active-script.sieve.log:

    sieve: info: started log at Jul 05 14:57:54.
    USER: line 12: error: included personal script 'some_script' does not
        exist.
    USER: error: validation failed.

So, to avoid this, one has to FIRST deactivate the respectice script, so 
that
USER.sieve is updated and THEN delete the script. Or to manually fix
USER.sieve on the server, which is surely not what's intended.

So the question is now: Is this a KMail bug, a Doveceot bug, or is the 
server
misconfigured?!

Thanks for all help!

Cheers, Tobias


More information about the dovecot mailing list