Re: WGLC: draft-ietf-sieve-imap-sieve-04.txt

Aaron Stone <[email protected]>
Newsgroups gmane.ietf.mta-filters
Message-ID <CAEdAYKUn=JCP-EsTFRp+Qx84_yu2U1tF2ie1JgAA6Qg7cddesg@mail.gmail.com>
Thanks! No sweat on the comments not taken :)

On Fri, Jun 15, 2012 at 6:50 PM, Barry Leiba <[email protected]> wrote:
> Thanks, Aaron, for the review.
>
>> RFC 5464 says:
>>   All entries MUST have either "/shared" or "/private" as a prefix.
>>   Entry names are case-insensitive.
>>
>> I think that means our metadata key should be
>> "/shared/imapsieve/script".
>
> Well, it doesn't mean that it couldn't be, say,
> "/shared/IMAPSieve/Script".  It says it's insensitive, so I can put it
> in any case I like.  But as long as I have to change it to add the
> prefix (the text was written when there was no prefix and "value.xxx"
> was used), I also changed it to be all lower case.  Why not?
>
>> Section 2.1: feels like there should be a MUST in here somewhere?
>>
>> OLD
>>   The corresponding Sieve implementation uses the Sieve capability
>>   string "imapsieve", and Sieve scripts that depend upon the IMAP
>>   events MUST include that string in their "required" lists.
>> NEW
>>   The corresponding Sieve implementation MUST provide the "imapsieve"
>>   capability string (see [RFC5228] Section 6.1), and Sieve scripts that depend
>>   upon IMAP events MUST include that string in their "required" lists.
>
> Absolutely not: that would make this the only Sieve extension to say
> that.  All the extensions I've looked at (Vacation, Notify,
> Editheader, Ihave, MIME-loop, Reject) do NOT use 2119 language when
> they talk about the capability string.

OK.

>> Section 2.2: Add a MUST regarding individual script execution, because
>> I missed this requirement the first two times I read through it:
>> OLD
>>   If more than one message is affected at the same time, each message
>>   triggers the execution of a Sieve script separately.  The scripts MAY
>>   be run in parallel.
>> NEW
>>   If more than one message is affected at the same time, each message
>>   MUST trigger execution of the Sieve script separately.  The scripts MAY
>>   be run in parallel.
>
> No.  If you're only taking text to be normative if it has a 2119
> keyword in it, you need to read documents differently.  "This is how
> the protocol works" statements don't need to have "MUST" all over
> them, and I see no need for a MUST here.

OK.

>> Section 2.3.1: Convert from prose to list, and rephrase to include a
>> lot of MUSTs
>> OLD
>>   When an applicable event occurs on an IMAP mailbox, if there is an
>>   IMAP metadata entry named "/IMAPSieve/Script" for the mailbox, that
>>   entry is used.  If there is not, but there is an IMAP metadata entry
>>   named "/IMAPSieve/Script" for the server, that entry is used
>>   (providing a way to define a global script for all mailboxes on a
>>   server).  If neither entry exists, then no script will be invoked.
>> NEW
>>   When an applicable event occurs, the IMAP server MUST inspect
>>   the following metadata entries, in order, to determine which Sieve
>>   script to invoke:
>>   o "/IMAPSieve/Script" for the target mailbox,
>>   o "/IMAPSieve/Script" for the server.
>>   If neither entry exists, then no script will be invoked.
>
> Same as above.  The original text is fine.  I dislike the list format
> here, and see no reason for a MUST.

OK.

>> MINOR: I just realized that there might be confusion over an "empty"
>> script name. I propose that a global server script, and a mailbox
>> script with no value, means "run this script for every mailbox, except
>> this one". If that's OK with you, I propose this text immediately
>> following the text above:
>> NEW
>>    If the script name is an empty string, the server MUST NOT
>>    inspect any further metadata entries (this allows a user to specify
>>    a global server script, but disable it for specific mailboxes).
>
> No reason to tell it not to inspect further, because we've already
> said that if it finds a mailbox entry, it has what it needs.  But I
> like the idea of saying that an empty entry value means that no script
> is run, so I'll add that.  New paragraph 3:
>
>                If a "/shared/imapsieve/script" metadata entry was selected
>                above, its value is used as the name of the Sieve script
>                that will be invoked in response to the IMAP event.
>                If the value is empty, then no script is run.

I dig your subtle style.

> I'll post a new version after I send this.
>
> Barry
_______________________________________________
sieve mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sieve
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.