Kjetil Torgrim Homme wrote:
On Tue, 2006-07-25 at 17:39 +0100, Alexey Melnikov wrote:
No clear consensus to change SHOULD to MUST or to MAY. Suggestion how to
proceed:
a). Leave SHOULD in the document.
b). Add explanatory text detailing why SHOULD is here. This will help
implementers to decide when to conform or violate the SHOULD.
c). List incompatible extensions explicitly, there is no reason why some
actions like setflag/addflag/removeflag (IMAP flags) should be
incompatible with reject. Besides, it is difficult (pointless?) to put
such an open ended restriction on all future extensions.
here's today's text for reference:
Implementations MUST prohibit the execution of more than one reject
in a SIEVE script. "Reject" is also incompatible with the
"vacation" [VACATION] extensions. Implementations SHOULD prohibit
reject when used with other actions, in particular "reject" SHOULD
be incompatible with keep, fileinto, redirect and discard.
I suggest this is simplified to
Implementations MUST prohibit the execution of more than one "reject"
in a Sieve script. Implementations MUST prohibit the use of "reject"
with actions that cause mail delivery, such as "keep", "fileinto",
"redirect" and "vacation" [VACATION].
As I said before, there is no consensus to go from SHOULD to MUST in the
last sentence. Also,
"vacation" doesn't cause mail delivery, so here is a replacement text:
Implementations MUST prohibit the execution of more than one reject
in a SIEVE script. "Reject" MUST be incompatible with the "vacation"
[VACATION] action. Implementations SHOULD prohibit the use of "reject"
with actions that cause mail delivery, such as "keep", "fileinto",
"redirect".
I've just noticed that in your original proposal you dropped "discard".
"SHOULD reject be incompatible with discard"?
Alexey