Deleting an active sieve script leaves sieve unfunctional

Stephan Bosch stephan at rename-it.nl
Wed Jul 7 05:29:33 EEST 2021



On 05/07/2021 20:47, Oscar del Rio wrote:
> On 2021-07-05 10:29 a.m., Tobias Leupold wrote:
>>
>>    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";').
>>
>> 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 the question is now: Is this a KMail bug, a Doveceot bug, or is 
>> the server
>> misconfigured?!
>>
>
> IMHO the client (KMail) should take care of it.
> Perhaps it could also add the "optional" flag in the "include" statement
>
> include :personal :optional "some-script";
>
> https://datatracker.ietf.org/doc/html/rfc6609
>

Yes, this is the correct answer. Dovecot is doing nothing wrong here.

>> 3.2.  Control Structure "include"
>>
>>       Usage:  include [LOCATION] [":once"] [":optional"] <value: string>
>>               LOCATION = ":personal" / ":global"
>>
>> The ":optional" parameter indicates that the script may be missing.
>> Ordinarily, an implementation MUST generate an error during execution
>> if an "include" command specifies a script that does not exist. When
>> ":optional" is specified, implementations MUST NOT generate an error
>> for a missing script, and MUST continue as if the "include" command
>> had not been present.
>
>
>



More information about the dovecot mailing list