Subject: [Extra] AD review of draft-ietf-extra-imap-replace-00.txt

From: Alexey Melnikov <[email-masked]>
Date: Mon, 1 Oct 2018 13:43:55 +0100

Hi,

The document is generally in a good state and covers lots of tricky 
interactions with other extensions. But I have a small list of minor 
issues/nits that I would like to discuss:

3.4.  Semantics of REPLACE and UID REPLACE

    While it may be common for the named mailbox argument to match the
    selected mailbox for the common use case of replacing a draft, the
    REPLACE extension intentionally does not require the two to be the
    same.  As an example, it's possible to use the REPLACE command to
    replace a message in the \Drafts special-use mailbox with a message
    in the \Sent special-use mailbox following message submission.

I think this needs an informative reference to the Special Use RFC to 
help readers not familiar with the term.

4.3.  RFC 4315, UIDPLUS

    Servers supporting both REPLACE and UIDPLUS [RFC4315] SHOULD send
    APPENDUID in response to a UID REPLACE command.  For additional
    information see section 3 of RFC4315.  Servers implementing REPLACE
    and UIDPLUS are also advised to send the APPENDUID response code in
    an untagged OK before sending the EXPUNGE or replaced responses.

All examples are using:

  * APPENDUID ...

instead of

  * OK [APPENDUID ...] some text

What is in the draft is syntactically invalid, as it is not a response code.

    (Sending the APPENDUID in the tagged OK, as described in the UIDPLUS
    specification means that the client first receives an EXPUNGE for a
    message and afterwards APPENDUID for the new message.  It can be
    unnecessarily difficult to process that sequence usefully.)

5.  Formal Syntax

    capability     =/ "REPLACE"

    command-select =/ replace
    replace        = "REPLACE" SP seq-number SP mailbox append-message

RFC 4466 allows for multiple "append-message", if MULTIAPPEND extension 
is present. I think your document should say explicitly that REPLACE is 
not affected by MULTIAPPEND.

    uid            = "UID" SP (copy / fetch/ search / store / move /
                               replace)

---

From: Stuart Brandt <[email-masked]>
Date: Mon, 01 Oct 2018 20:08:56 -0400

Alexey -

Thanks for the valuable feedback. I agree with all. I've made the 
necessary changes along with an update to reflect OBJECTID's status 
change to RFC8474.

- Stuart

On 10/1/2018 8:43 AM, Alexey Melnikov wrote:
> _______________________________________________
> Extra mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/extra