Internet Message Access Protocol (IMAP) - MOVE Extension
draft-ietf-imapmove-command-05
Revision differences
Document history
Date | Rev. | By | Action |
---|---|---|---|
2012-12-07
|
05 | (System) | IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor |
2012-12-07
|
05 | (System) | IANA Action state changed to Waiting on RFC Editor from Waiting on Authors |
2012-12-04
|
05 | (System) | IANA Action state changed to Waiting on Authors from In Progress |
2012-12-03
|
05 | Cindy Morgan | State changed to RFC Ed Queue from Approved-announcement sent |
2012-12-03
|
05 | (System) | IANA Action state changed to In Progress |
2012-12-03
|
05 | Amy Vezza | State changed to Approved-announcement sent from Approved-announcement to be sent |
2012-12-03
|
05 | Amy Vezza | IESG has approved the document |
2012-12-03
|
05 | Amy Vezza | Closed "Approve" ballot |
2012-12-03
|
05 | Amy Vezza | Ballot approval text was generated |
2012-11-29
|
05 | Cindy Morgan | State changed to Approved-announcement to be sent from IESG Evaluation |
2012-11-29
|
05 | Ned Freed | New version available: draft-ietf-imapmove-command-05.txt |
2012-11-28
|
04 | Ralph Droms | [Ballot Position Update] New position, No Objection, has been recorded for Ralph Droms |
2012-11-27
|
04 | Wesley Eddy | [Ballot Position Update] New position, No Objection, has been recorded for Wesley Eddy |
2012-11-27
|
04 | Sean Turner | [Ballot Position Update] New position, No Objection, has been recorded for Sean Turner |
2012-11-27
|
04 | Stewart Bryant | [Ballot Position Update] New position, No Objection, has been recorded for Stewart Bryant |
2012-11-27
|
04 | Barry Leiba | [Ballot comment] The -04 version resolves the issue I was holding that derived from one of Stephen's comments. |
2012-11-27
|
04 | Barry Leiba | [Ballot Position Update] Position for Barry Leiba has been changed to Yes from Discuss |
2012-11-27
|
04 | Benoît Claise | [Ballot comment] No objection to the publication of the document, but one observation: I believe that the intro is a little bit light, while I … [Ballot comment] No objection to the publication of the document, but one observation: I believe that the intro is a little bit light, while I found some good text from the charter could be cut/pasted: It's often the case that an IMAP client needs to move (not copy) messages from one mailbox to another. The mechanism that IMAP provides to do that is a multi-step process: 1. Copy the messages from the source mailbox to the target mailbox. 2. Flag the original messages in the source mailbox as deleted. 3. Expunge the deleted messages from the source mailbox. Implementors have long pointed out some shortcomings with this approach. Because the moving of a message is not an atomic process, interruptions can leave messages in intermediate states. Because multiple clients can be accessing the mailboxes at the same time, clients can see messages in intermediate states even without interruptions. If the source mailbox contains other messages that are flagged for deletion, the third step can have the side effect of expunging more than just the set of moved messages. And servers with certain types of back-end message stores might have efficient ways of moving messages, which don't involve actual copying of data. Such efficiencies are often not available to the copy/flag/expunge process. We sometimes make too hard to read RFCs by only focusing on the protocol specifications, and neglecting the problem statement and use case. |
2012-11-27
|
04 | Benoît Claise | [Ballot Position Update] New position, No Objection, has been recorded for Benoit Claise |
2012-11-26
|
04 | Ned Freed | New version available: draft-ietf-imapmove-command-04.txt |
2012-11-26
|
03 | Russ Housley | [Ballot Position Update] New position, No Objection, has been recorded for Russ Housley |
2012-11-26
|
03 | Robert Sparks | [Ballot Position Update] New position, No Objection, has been recorded for Robert Sparks |
2012-11-26
|
03 | Brian Haberman | [Ballot Position Update] New position, No Objection, has been recorded for Brian Haberman |
2012-11-26
|
03 | Adrian Farrel | [Ballot comment] I don't object to the publication of this document. I think that the motivation may be slightly over-cooked... While I can see good … [Ballot comment] I don't object to the publication of this document. I think that the motivation may be slightly over-cooked... While I can see good value in facilitating the move operation through a single command, I don't think that the motivation given in the Introduction is particularly helpful. The implication of the text is that the new command will provide protection against partial completion during a failure. But in fact exactly the same operations are needed in the mailboxes using the MOVE command as were previously needed. So while the reduction in commands helps to reduce the failure windows, the use of a single command does not close the windows completely. (Obviously, it makes the life of the Client massively simpler.) |
2012-11-26
|
03 | Adrian Farrel | [Ballot Position Update] New position, No Objection, has been recorded for Adrian Farrel |
2012-11-26
|
03 | Ron Bonica | [Ballot Position Update] New position, No Objection, has been recorded for Ronald Bonica |
2012-11-26
|
03 | Pete Resnick | [Ballot comment] Section 1: Purely editorial nonsense: clients have instead had to use a combination of the UID STORE, UID COPY and EXPUNGE … [Ballot comment] Section 1: Purely editorial nonsense: clients have instead had to use a combination of the UID STORE, UID COPY and EXPUNGE commands to perform this very common operation. Seems to me that you should list the commands without the UID (since they're not required) and in the right order. So instead: clients have instead had to use a combination of the COPY, STORE, and EXPUNGE commands to perform this very common operation. And if you have any reason for keeping the original, do so. Just one AD's OCD. Section 3.3: I suggest inserting a paragraph after the example and before "Because a MOVE applies to a set of messages": Although the effect of the MOVE is the same as the preceding steps, the semantics are not identical: The intermediate states produced by those steps do not occur, and the response codes are different. In particular, though the COPY and EXPUNGE response codes will return, no response code for a STORE will be generated nor will the \DELETED flag be set for any message. |
2012-11-26
|
03 | Pete Resnick | [Ballot Position Update] Position for Pete Resnick has been changed to Yes from Discuss |
2012-11-26
|
03 | Barry Leiba | [Ballot discuss] The last paragraph of Section 3.3 says this: Both MOVE and UID MOVE can be pipelined. However, pipelined MOVE and UID … [Ballot discuss] The last paragraph of Section 3.3 says this: Both MOVE and UID MOVE can be pipelined. However, pipelined MOVE and UID MOVE commands MUST NOT specify overlapping sets of messages. I'm not sure the "overlapping sets" is a sufficient restriction for (non-UID) MOVE. Consider a mailbox with messages having UIDs 101, 102, 103, 104, 105, 106, and 107, and this sequence: C: t1 MOVE 2:3 Apple C: t2 MOVE 4:5 Banana S: * EXPUNGE 2 S: t1 NO [SERVERBUG] the move for message 3 failed The command tagged t1 is meant to move UIDs 102 and 103. That move will cause the messages to be renumbered (leaving 101, 104, 105, 106, and 107), so that messages 4 and 5 represent UIDs 106 and 107. But because the move for message 3 (UID 103) failed, messages 4 and 5 will afterward actually be UIDs 105 and 106. I think that what this actually means is that the last two paragraphs are contradictory: The server may send EXPUNGE (or VANISHED) messages before the tagged response, so the client cannot safely send more commands with message sequence number arguments while the server is processing MOVE. The UID MOVE command does not have this limitation. Both MOVE and UID MOVE can be pipelined. However, pipelined MOVE and UID MOVE commands MUST NOT specify overlapping sets of messages. We can't have "the client cannot safely send more commands with message sequence number arguments while the server is processing MOVE," and at the same time allow the version of MOVE that uses sequence numbers to be pipelined. We might also consider a citation to RFC 3501, Section 5.5 here. |
2012-11-26
|
03 | Barry Leiba | [Ballot Position Update] Position for Barry Leiba has been changed to Discuss from Yes |
2012-11-26
|
03 | Stephen Farrell | [Ballot comment] - 3.1, I briefly wondered if MOVE has two or four arguments, maybe s/sequence set/sequence-set/ and s/mailbox name/mailbox-name/ would be a tiny bit … [Ballot comment] - 3.1, I briefly wondered if MOVE has two or four arguments, maybe s/sequence set/sequence-set/ and s/mailbox name/mailbox-name/ would be a tiny bit clearer. - 3.3, 3rd last para: I didn't get the meaning here, nor am I sure if the "is allowed when..." means that this is not allowed in other situations. I assume this is clear to IMAP folks though. - 3.3, last para: does this mean that a server has to implement a check that pipelined MOVEs don't have overlapping sets of messages, or that servers depend on clients to do the right thing? Do you need to clarify that? |
2012-11-26
|
03 | Stephen Farrell | [Ballot Position Update] New position, No Objection, has been recorded for Stephen Farrell |
2012-11-26
|
03 | Gonzalo Camarillo | [Ballot Position Update] New position, No Objection, has been recorded for Gonzalo Camarillo |
2012-11-26
|
03 | Martin Stiemerling | [Ballot Position Update] New position, No Objection, has been recorded for Martin Stiemerling |
2012-11-23
|
03 | Pete Resnick | [Ballot discuss] I have not been following this WG, and I might have the Sieve bit wrong, so I apologize in advance if this issue … [Ballot discuss] I have not been following this WG, and I might have the Sieve bit wrong, so I apologize in advance if this issue has been considered and addressed by the WG; if so, I will remove this DISCUSS immediately. But this causes me concern: Section 4.5: Because MOVE does not cause flags to be changed, a MOVE command will not result in a script invocation with the imap.cause set to "FLAG". I think this is either wrong or needs more explanation. Section section 3.3 is clear that doing a move "has the same effect for each message as...[UID] STORE +FLAGS.SILENT \DELETED", which the above seems to contradict. But even this is intended, I would think this would at the very least cause significant user surprise: In a current client, if I choose the "move" command in the UI, I'm going to get an invocation for the COPY on the destination message *and* an invocation for the STORE \DELETED on the source message. You are saying that an upgraded client that starts using "MOVE" for it's "move" command will suddenly stop invoking for the deletion. If you *don't* want Sieve to invoke for the flag change, I think you're going to have to add a new imap.cause of either MOVE or EXPUNGE, and folks will have to go rewrite their scripts. But I would think the easier route would be to get a second invocation from MOVE with imap.cause set to "FLAG". |
2012-11-23
|
03 | Pete Resnick | [Ballot comment] Section 1: Purely editorial nonsense: clients have instead had to use a combination of the UID STORE, UID COPY and EXPUNGE … [Ballot comment] Section 1: Purely editorial nonsense: clients have instead had to use a combination of the UID STORE, UID COPY and EXPUNGE commands to perform this very common operation. Seems to me that you should list the commands without the UID (since they're not required) and in the right order. So instead: clients have instead had to use a combination of the COPY, STORE, and EXPUNGE commands to perform this very common operation. And if you have any reason for keeping the original, do so. Just one AD's OCD. |
2012-11-23
|
03 | Pete Resnick | [Ballot Position Update] New position, Discuss, has been recorded for Pete Resnick |
2012-11-22
|
03 | Tero Kivinen | Request for Last Call review by SECDIR Completed: Ready. Reviewer: Magnus Nystrom. |
2012-11-21
|
03 | Barry Leiba | State changed to IESG Evaluation from Waiting for AD Go-Ahead::AD Followup |
2012-11-21
|
03 | (System) | Sub state has been changed to AD Followup from Revised ID Needed |
2012-11-21
|
03 | Ned Freed | New version available: draft-ietf-imapmove-command-03.txt |
2012-11-21
|
02 | Barry Leiba | Ballot has been issued |
2012-11-21
|
02 | Barry Leiba | [Ballot Position Update] New position, Yes, has been recorded for Barry Leiba |
2012-11-21
|
02 | Barry Leiba | Created "Approve" ballot |
2012-11-21
|
02 | Barry Leiba | State changed to Waiting for AD Go-Ahead::Revised ID Needed from Waiting for AD Go-Ahead |
2012-11-21
|
02 | (System) | State changed to Waiting for AD Go-Ahead from In Last Call |
2012-11-15
|
02 | Pearl Liang | IANA has reviewed draft-ietf-imapmove-command-02 and has the following comments: IANA understands that, upon approval of this document, there is a single IANA action which must … IANA has reviewed draft-ietf-imapmove-command-02 and has the following comments: IANA understands that, upon approval of this document, there is a single IANA action which must be completed. In the IMAP 4 Capabilities registry located at: http://www.iana.org/assignments/imap4-capabilities A single, new registration will be made as follows: Capability Name: MOVE Reference: [ RFC-to-be ] IANA understands that this is the only action required to be completed upon approval of this document. Note: The actions requested in this document will not be completed until the document has been approved for publication as an RFC. |
2012-11-08
|
02 | Jean Mahoney | Request for Last Call review by GENART is assigned to Kathleen Moriarty |
2012-11-08
|
02 | Jean Mahoney | Request for Last Call review by GENART is assigned to Kathleen Moriarty |
2012-11-08
|
02 | Tero Kivinen | Request for Last Call review by SECDIR is assigned to Magnus Nystrom |
2012-11-08
|
02 | Tero Kivinen | Request for Last Call review by SECDIR is assigned to Magnus Nystrom |
2012-11-07
|
02 | Cindy Morgan | The following Last Call announcement was sent out: From: The IESG To: IETF-Announce CC: Reply-To: ietf@ietf.org Subject: Last Call: (The IMAP Move Extension) to Proposed … The following Last Call announcement was sent out: From: The IESG To: IETF-Announce CC: Reply-To: ietf@ietf.org Subject: Last Call: (The IMAP Move Extension) to Proposed Standard The IESG has received a request from the IMAP MOVE extension WG (imapmove) to consider the following document: - 'The IMAP Move Extension' as Proposed Standard The IESG plans to make a decision in the next few weeks, and solicits final comments on this action. Please send substantive comments to the ietf@ietf.org mailing lists by 2012-11-21. Exceptionally, comments may be sent to iesg@ietf.org instead. In either case, please retain the beginning of the Subject line to allow automated sorting. Abstract This document defines an IMAP extension consisting of two new commands, MOVE and UID MOVE, that are used to move messages from one mailbox to another. The file can be obtained via http://datatracker.ietf.org/doc/draft-ietf-imapmove-command/ IESG discussion can be tracked via http://datatracker.ietf.org/doc/draft-ietf-imapmove-command/ballot/ No IPR declarations have been submitted directly on this I-D. |
2012-11-07
|
02 | Cindy Morgan | State changed to In Last Call from Last Call Requested |
2012-11-07
|
02 | Barry Leiba | Placed on agenda for telechat - 2012-11-29 |
2012-11-07
|
02 | Barry Leiba | Last call was requested |
2012-11-07
|
02 | Barry Leiba | Ballot approval text was generated |
2012-11-07
|
02 | Barry Leiba | State changed to Last Call Requested from AD Evaluation |
2012-11-07
|
02 | Barry Leiba | Last call announcement was generated |
2012-11-07
|
02 | Barry Leiba | Ballot writeup was changed |
2012-11-07
|
02 | Barry Leiba | State changed to AD Evaluation from Publication Requested |
2012-11-07
|
02 | Barry Leiba | Ballot writeup was generated |
2012-11-07
|
02 | Barry Leiba | Document Shepherd writeup: 1. Summary Alexey Melnikov is the document shepherd. Barry Leiba is the responsible AD. This document defines an IMAP extension to move … Document Shepherd writeup: 1. Summary Alexey Melnikov is the document shepherd. Barry Leiba is the responsible AD. This document defines an IMAP extension to move messages from one mailbox to another. This function (very common in MUA UIs) is not provided by stock IMAP, and clients have to use a combination of UID STORE, UID COPY and EXPUNGE, and cope with partial failures and side effects. The document is targeted to become as Standards Track document, which is appropriate for this type of document. 2. Review and Consensus There was some discussion in the WG about whether MOVE command (as opposed to just UID MOVE) should be defined in the document or not. Consensus was that there was no reason not to define it (this preserves symmetry with other IMAP commands that operate on a group of messages.) There was also a discussion on whether multiple pipelined MOVE commands should be allowed or not. None of these discussions were particularly heated or long lived. The document was extensively reviewed by IMAP experts and that is the most important type of review for it. There are multiple implementations of this IMAP extension in both clients and servers. More than 5 different servers implement it already. 3. Intellectual Property The authors confirm compliance with BCPs 78 and 79, and there are no IPR disclosures related to this document. 4. Other Points idnits 2.12.13 reports 1 warning about a missing reference, which is a false positive -- an IMAP protocol element "[UID]". |
2012-11-07
|
02 | Barry Leiba | Intended Status changed to Proposed Standard |
2012-11-07
|
02 | Barry Leiba | IESG process started in state Publication Requested |
2012-11-07
|
02 | (System) | Earlier history may be found in the Comment Log for draft-gulbrandsen-imap-move |
2012-11-07
|
02 | Alexey Melnikov | IETF state changed to Submitted to IESG for Publication from WG Consensus: Waiting for Write-Up |
2012-11-07
|
02 | Alexey Melnikov | Changed protocol writeup |
2012-11-07
|
02 | Alexey Melnikov | IETF state changed to WG Consensus: Waiting for Write-Up from WG Document |
2012-11-07
|
02 | Alexey Melnikov | Draft shepherding write-up sent to editors and responsible AD for review. |
2012-11-07
|
02 | Alexey Melnikov | Changed shepherd to Alexey Melnikov |
2012-10-20
|
02 | Ned Freed | New version available: draft-ietf-imapmove-command-02.txt |
2012-07-30
|
01 | Arnt Gulbrandsen | New version available: draft-ietf-imapmove-command-01.txt |
2012-06-28
|
00 | Cindy Morgan | New version available: draft-ietf-imapmove-command-00.txt |