Subject: [Extra] Benjamin Kaduk's Yes on draft-ietf-extra-sieve-special-use-04: (with COMMENT)

From: Benjamin Kaduk <[email-masked]>
Date: Wed, 09 Jan 2019 17:20:57 -0800

Benjamin Kaduk has entered the following ballot position for
draft-ietf-extra-sieve-special-use-04: Yes

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-extra-sieve-special-use/

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

I'm balloting Yes because this document seems like it is going to do the
right thing in helping to keep sieve up to date with IMAP.  But I do still
have a few comments.

Section 1

   Commonly, several mailboxes in an IMAP message store [IMAP] have a
   special use; e.g.  it is where the user's draft messages are stored,
   where a copy of sent messages are kept, or it is where spam messages
   are filed automatically at delivery.  [...]

nits: there's a singular/plural mismatch between "several mailboxes" and
"it"; there should also be a comma after "e.g.".

Section 4

                     Implementations SHOULD handle an invalid special-
   use flag in the same way as an invalid mailbox name is handled.  The

(Does "invalid" mean "syntactically invalid" or "nonexistent" or something
else?  Presumably this is just a sieve convention that I've not been
exposed to yet...)

                                                   However, while the
   set of mailboxes to which the involved special-use flags are assigned
   remains unchanged, implementations SHOULD ensure that the mailbox
   choice is made consistently, so that the same mailbox is used every
   time.  Conversely, the chosen mailbox MAY change once the special-use
   flag assignments that are relevant for the mailbox choice are changed
   (usually by user interaction).

   If delivery to the special-use mailbox fails for reasons not relating
   to its existence, the Sieve interpreter MUST NOT subsequently attempt
   delivery in the indicated default mailbox as a fall-back.  Instead,
   it MUST proceed exactly as it does in case the ":specialuse" argument
   is absent and delivery to the mailbox named by its positional
   argument fails.  This prevents the situation where messages are
   unexpectedly spread over two mailboxes in case transient or
   intermittent delivery failures occur.

It seems a little inconsistent to only avoid spreading messages over two
mailboxes as a SHOULD for when multiple options exist but a MUST for
transient delivery failure.  But presumably this has already been
well-discussed in the WG and I shouldn't try to reopen it.

Section 4.2

The IMAP example should probably use RFC 6761 domains.

---

From: Ned Freed <[email-masked]>
Date: Wed, 09 Jan 2019 23:31:27 -0800 (PST)

> else?  Presumably this is just a sieve convention that I've not been

Given that the preceeding sentence in the paragraph is "The special-use flag
specified with the ":specialuse" argument MUST conform to the "use-attr" syntax
described in Section 6 of RFC6154 [SIEVE-MAILBOX]." I think it's actually
pretty clear that this is talking about syntax and not something. I suppose
changing it to say "syntactically invalid" would not hurt, but I don't really
think it's necessary given the context.

What actually concerns me more here is the MUST in the first sentence. This use
of compliance language strikes me as misplaced. Sieve scripts are specified by
users one way or another and say what they say; when we talk about compliance
in these documents we're talking about what a Sieve implementation has to do,
like the SHOULD in the second sentence, which is actually dealing with the
case where the MUST is violated.

> well-discussed in the WG and I shouldn't try to reopen it.

Yes it has. I am not happy with it, but given the semantics of special-use in
IMAP I don't see how it can be handled any other way. For example, if someone
has the same special-use flag on two different mailboxes, then removes them
both, then some time later puts them back, it's just not reasonable to expect
an implementation to remember the original ordering and return to it.

> The IMAP example should probably use RFC 6761 domains.

Agreed.

				Ned

---

From: Benjamin Kaduk <[email-masked]>
Date: Thu, 10 Jan 2019 15:45:58 -0600

> think it's necessary given the context.

Okay.

> case where the MUST is violated.

It's probably clearer to say something descriptive like "[...] flag
specified with the ':specialuse' argument conforms to the 'use-attr' syntax
described in [...]"

-Benjamin

---

From: Ned Freed <[email-masked]>
Date: Fri, 11 Jan 2019 07:45:04 -0800 (PST)

> specified with the ':specialuse' argument conforms to the 'use-attr' syntax

Works for me.

				Ned