Re: IMAP REPLACE extension
Alexey Melnikov <[email protected]>
| Newsgroups | gmane.ietf.imapext |
|---|---|
| Message-ID | <[email protected]> |
Hi Stu,
This is a very good start, thank you for doing this!
On 29/04/2015 14:45, Stu Brandt wrote:
> As promised, here's a draft of a REPLACE extension.
>
> Since the most obvious question is going to be "Why REPLACE and not an
> option on APPEND?", I'll answer it straight away...
>
> First, APPEND is valid in the authenticated state. REPLACE requires
> the selected state. I chose not to generate a mixed state scenario for
> APPEND. Secondly, REPLACE is similar to MOVE in that it avoids a
> number of issues that come with a serialized non-atomic sequence
> attempting to perform a single operation. MOVE is not an option on
> COPY, so I chose to follow the same precedent.
>
> Here's the writeup.
[snip]
> 3.2. REPLACE Command
[snip]
> Example:
> C: A003 REPLACE 4 Drafts (\Seen \Draft) {312}
> S: + Ready for literal data
> C: Date: Thu, 1 Jan 2015 00:05:00 -0500 (EST)
> C: From: Fritz Schmidt <[email protected]>
> C: Subject: happy new year !!
> C: To: [email protected]
> C: Message-Id: <[email protected]>
> C: MIME-Version: 1.0
> C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
> C:
> C: Just saw the best fireworks show. Wish you were here.
> C:
> S: * 4 EXPUNGE
> S: A003 OK [APPENDUID 1 2000] Replace completed
I think an untagged APPENDUID should be issued before expunge, so that
the client can safely correlate the old and the new message, without
>
> 3.3. UID REPLACE Command
>
> This extends the first form of the UID command (see [RFC3501]
> Section 6.4.8) to add the REPLACE command defined above as a valid
> argument. This form of REPLACE uses a UID rather than sequence
> number as its first parameter.
>
> Example:
> C: A004 UID REPLACE 2000 Drafts (\Seen \Draft) {350}
> S: + Ready for literal data
> C: Date: Thu, 1 Jan 2015 00:06:00 -0500 (EST)
> C: From: Fritz Schmidt <[email protected]>
> C: Subject: happy new year !!
> C: To: [email protected]
> C: Message-Id: <[email protected]>
> C: MIME-Version: 1.0
> C: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
> C:
> C: Just saw the best fireworks show. Wish you were here.
> C: Hopefully next year you can join us.
> C:
> S: * 4 EXPUNGE
> S: A004 OK [APPENDUID 1 2001] Replace completed
As above.
> 4. Interaction with other extensions
>
> This section describes how REPLACE interacts with some other IMAP
> extensions.
>
> Brandt Expires October 31, 2015 [Page 5]
> Internet-Draft IMAP REPLACE Extension April 2015
>
> 4.1. RFC 4314, ACL
>
> The ACL rights [RFC4314] required for UID REPLACE are the union of
> the ACL rights required for UID STORE, UID EXPUNGE,
Just to make this clearer, I would add "in the current mailbox"
> and APPEND.
"In the target mailbox".
Best Regards,
Alexey
_______________________________________________
imapext mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/imapext