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
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.