MBOX-Line: From brong at fastmail.fm  Tue Nov 17 15:52:32 2015
To: imap-protocol@u.washington.edu
From: Bron Gondwana <brong@fastmail.fm>
Date: Fri Jun  8 12:34:55 2018
Subject: [Imap-protocol] UID MOVE and untagged OKs
In-Reply-To: <25069F83-83C9-4130-B0D0-6C4FCC37A292@jabberwocky.com>
References: <25069F83-83C9-4130-B0D0-6C4FCC37A292@jabberwocky.com>
Message-ID: <1447804352.3226866.442714569.1280F540@webmail.messagingengine.com>

Office 365 is being totally bogus here.  An untagged OK is "* OK " stuff CRLF.

a01 UID MOVE 1 INBOX.Archive
* OK [COPYUID 1400482663 1 1] Completed
* 1 EXPUNGE
a01 OK Completed

From a real live server (Cyrus IMAPd) right now.

Response lines in IMAP _always_ either start with '*' if they're an untagged response, or a tag.

2.2.2.  Server Protocol Sender and Client Protocol Receiver

   Data transmitted by the server to the client and status responses
   that do not indicate command completion are prefixed with the token
   "*", and are called untagged responses.

If the line doesn't start with '*' or a tag for a command that you have already sent in this connection, that is a server bug (modulo continuation lines which start with '+' or data within a literal of course).

Bron.

On Wed, Nov 18, 2015, at 10:11, David Shaw wrote:
> Hello,
> 
> I'm currently beating my head against a problem with a particular server implementation.  The problem, as best I can work out from the outside, is in UID MOVE.
> 
> My understanding from RFC-6851 is that a UID MOVE transaction should look something like this (cut and paste from the RFC):
> 
>        C: a UID MOVE 42:69 foo
>        S: * OK [COPYUID 432432 42:69 1202:1229]
>        S: * 22 EXPUNGE
>        S: (more expunges)
>        S: a OK Done
> 
> The relevant piece of this for my question is that the COPYUID response is in an untagged OK.  Again, from the RFC: "Servers implementing UIDPLUS are also advised to send the COPYUID response code in an untagged OK before sending EXPUNGE or moved responses."
> 
> This seems straightforward.
> 
> The server I'm having a problem (outlook.office365.com) with has a UID MOVE transaction like this (actual transaction captured from my client):
> 
>        C: 14 UID MOVE 7599 "Deleted Items"
>        S:  [COPYUID 12 7599 4788]
>        S:  * 373 EXPUNGE
>        S:  * 372 EXISTS
>        S:  14 OK MOVE completed.
> 
> The concern is with the second line (the COPYUID response).  There is no untagged OK / "* OK" there, which seems incorrect to me and perhaps more significantly, seems to cause the Apple iOS mail program to throw an error every time a message is moved from folder to folder (which of course includes the "delete this message" function).
> 
> I've spent (literally) weeks trying to get Microsoft Office365 support to acknowledge the problem, without success.  The most recent response insists that they are following the RFC, and in fact quoted the "Servers implementing UIDPLUS are also advised to send the COPYUID response code in an untagged OK before sending EXPUNGE or moved responses." line from RFC-6851 as what they are doing.
> 
> Could the experts on this list help me understand what is going on here?  I have no particular need to be "right" - I just want to be able to delete messages without getting errors every single time.
> 
> Thanks,
> 
> David
> 
> _______________________________________________
> Imap-protocol mailing list
> Imap-protocol@u.washington.edu
> http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol


-- 
  Bron Gondwana
  brong@fastmail.fm

