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@domain)<123456>
<xxxxxxxxxxxxxxxxxxxxxx>: sieve: Failed to compile script `/srv/sieve/user@domain/active-script.sieve' (view user logfile `/srv/sieve/user@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

Reply via email to