mailing list archives

meli community discussions

⚠️ if something does not work as intended when interracting with the mailing lists,
reach out Github mirror Gitea repo @epilys:matrix.org

E-mail headers
From: David Shaw <dshaw@jabberwocky.com>
To: imap-protocol@u.washington.edu
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: 25069F83-83C9-4130-B0D0-6C4FCC37A292@jabberwocky.com permalink / raw / eml / mbox
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
Reply
E-mail headers
From: jjmckay@comaxis.com
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: 564BBAB6.8070609@comaxis.com permalink / raw / eml / mbox
I don't have an answer but if you don't mind my asking a question, what 
is the relationship between your client and iOS Mail?  Why should
something you are doing in your own client cause it to fail?  Or if you 
are the author of iOS Mail, then why don't you adjust as necessary?

On 11/17/2015 3:11 PM, 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
>
Reply
E-mail headers
From: brong@fastmail.fm
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: 1447804352.3226866.442714569.1280F540@webmail.messagingengine.com permalink / raw / eml / mbox
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
Reply
E-mail headers
From: stuart.brandt@teamaol.com
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: 564BBF09.7050804@teamaol.com permalink / raw / eml / mbox
David -

My read matches yours. Their 2nd line is neither a tagged or untagged 
response, rfc6851 section 3.3 has a specific example covering COPYUID in 
the response, and rfc6851 section 4.3 seems pretty clear when it says to 
send the COPYUID response code in an untagged OK.

- Stuart

On 11/17/15 6:11 PM, 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
Reply
E-mail headers
From: brong@fastmail.fm
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: 1447804761.3611730.442717985.7EC5626B@webmail.messagingengine.com permalink / raw / eml / mbox
On Wed, Nov 18, 2015, at 10:39, Jeff McKay wrote:
> I don't have an answer but if you don't mind my asking a question, what 
> is the relationship between your client and iOS Mail?  Why should
> something you are doing in your own client cause it to fail?  Or if you 
> are the author of iOS Mail, then why don't you adjust as necessary?

My laptop's stupid "double tap shift is capslock" tried to get me to shout this.  Maybe it's right.

BECAUSE THAT WAY LIES MADNESS.  IMAP is almost impossible to proxy already, but if you start allowing the most basic parts of the line protocol syntax to be ignored, then it becomes even more of an unparsable soup that it already is.

This whole discussion is convincing me even more that standards as we do them now are useless - what you need is a compliance test suite.  Any half descent test suite would pick this up in an instant.

Oh look, there is one.  http://www.imapwiki.org/ImapTest

Let's see what it does:

1447804537.510135 O: 1.12 move 1 imaptest2
1447804537.511239 I: * OK [COPYUID 1447804538 1 1] Completed
1447804537.511239 I: * 1 EXPUNGE
1447804537.511239 I: 1.12 OK Completed

1447804537.511842 O: 1.15 uid move 2 imaptest2
1447804537.512686 I: * OK [COPYUID 1447804538 2 2] Completed
1447804537.512686 I: * 1 EXPUNGE
1447804537.512686 I: 1.15 OK Completed

OK, let's fudge my local server to be dumb and output the wrong COPYUID data:

1447804659.929754 O: 1.12 move 1 imaptest2
1447804659.930822 I: [COPYUID 1447804660 1 1] Completed
1447804659.930822 I: * 1 EXPUNGE
1447804659.930822 I: 1.12 OK Completed


Cyrus::ImapTest.move                                                    [FAILED]

=====> Cyrus::ImapTest[168] Error: cassandane[1]: Unexpected tagged reply: [COPYUID: [COPYUID 1447804660 1 1] Completed



Looks like this whole thing would be trivially solved if Microsoft used the test suite that Timo has already made the effort to write.

-- 
  Bron Gondwana
  brong@fastmail.fm
Reply
E-mail headers
From: blong@google.com
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: CABa8R6tSWdWpSc2Xxfp+tWVk=GGRHYsdX-YmGXPVoAGCBBdPQw@mail.gmail.com permalink / raw / eml / mbox
Or his client is eating the '* ' in some fashion, it would be good for
someone with an account to verify the bad behavior.

They obviously think they're sending the right response, let's not assume
that they are sending the wrong one.

Brandon

On Tue, Nov 17, 2015 at 3:58 PM, Stu Brandt <stuart.brandt@teamaol.com>
wrote:

> David -
>
> My read matches yours. Their 2nd line is neither a tagged or untagged
> response, rfc6851 section 3.3 has a specific example covering COPYUID in
> the response, and rfc6851 section 4.3 seems pretty clear when it says to
> send the COPYUID response code in an untagged OK.
>
> - Stuart
>
>
> On 11/17/15 6:11 PM, 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
>>
>
> _______________________________________________
> Imap-protocol mailing list
> Imap-protocol@u.washington.edu
> http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman13.u.washington.edu/pipermail/imap-protocol/attachments/20151117/bad4d19a/attachment.html>
Reply
E-mail headers
From: jjmckay@comaxis.com
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: 564BC814.8080409@comaxis.com permalink / raw / eml / mbox
I just tried it and I would agree with David that O365 is indeed 
behaving as he described - no untagged OK in response to UID MOVE. My
only point, in response to Bron, is that as as developer at a company 
that wants to make actual sales, I do sometimes have to put in kludges to
deal with crappy imap servers.  I guess David is writing some kind of 
add-in for iOS Mail where he can't do that.  I would think though that
the Apple folks could get Microsoft to see the light.

On 11/17/2015 4:06 PM, Brandon Long wrote:
> Or his client is eating the '* ' in some fashion, it would be good for 
> someone with an account to verify the bad behavior.
>
> They obviously think they're sending the right response, let's not 
> assume that they are sending the wrong one.
>
> Brandon
>
> On Tue, Nov 17, 2015 at 3:58 PM, Stu Brandt <stuart.brandt@teamaol.com 
> <mailto:stuart.brandt@teamaol.com>> wrote:
>
>     David -
>
>     My read matches yours. Their 2nd line is neither a tagged or
>     untagged response, rfc6851 section 3.3 has a specific example
>     covering COPYUID in the response, and rfc6851 section 4.3 seems
>     pretty clear when it says to send the COPYUID response code in an
>     untagged OK.
>
>     - Stuart
>
>
>     On 11/17/15 6:11 PM, 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
>         <http://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
>         <mailto:Imap-protocol@u.washington.edu>
>         http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol
>
>
>     _______________________________________________
>     Imap-protocol mailing list
>     Imap-protocol@u.washington.edu <mailto:Imap-protocol@u.washington.edu>
>     http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol
>
>
>
>
> _______________________________________________
> Imap-protocol mailing list
> Imap-protocol@u.washington.edu
> http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman13.u.washington.edu/pipermail/imap-protocol/attachments/20151117/2ea60d97/attachment.html>
Reply
E-mail headers
From: brong@fastmail.fm
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: 1447817383.3655600.442841513.22BFE21F@webmail.messagingengine.com permalink / raw / eml / mbox
On Wed, Nov 18, 2015, at 11:36, Jeff McKay wrote:
> I just tried it and I would agree with David that O365 is indeed
    behaving as he described - no untagged OK in response to UID MOVE.

I can also confirm this - sorry about the few hour delay, dentist
appointment in the middle of all this.

I've bought myself an O365 account and tested it just to see it for
myself, this is with openssl s_client

. FETCH 1:* UID
* 1 FETCH (UID 8)
. OK FETCH completed.
. MOVE 1 Extra [COPYUID 78 8 1]
* 1 EXPUNGE
* 0 EXISTS
. OK MOVE completed.

> >
    My
>
    only point, in response to Bron, is that as as developer at a
    company that wants to make actual sales, I do sometimes have to put
    in kludges to
>
    deal with crappy imap servers.

Likewise, and I deal in cludges for crappy clients as well.? At least I
had already done the work to make EXPUNGE on a mailbox with no \Deleted
messages be cheap, because there's a popular client in the wild which
does an IDLE/EXPUNGE loop now, and it's hammering people running older
versions of the Cyrus IMAPd server which had expensive EXPUNGE.

I still rate Yahoo's IMAP server returning a DIFFERENT RFC822.SIZE for
the same message moved to a different mailbox, despite neither of them
matching the actual byte count on the RFC822 itself as one of the most
impressive things I've worked around recently.? The really is
approximately nothing you can rely on being actually right when talking
to an arbitrary server, it's all heuristics.

(certainly older versions of Cyrus had serious issues with reliable
CONDSTORE, and I bet there are some poky corners of URLAUTH and other
rarely-loved bits that aren't perfect)

> I guess David is writing some kind
    of add-in for iOS Mail where he can't do that.? I would think
    though that
>
    the Apple folks could get Microsoft to see the light.

It's all a matter of getting the right people, and the bigger the org,
the harder it is to get in contact with them.? We're really lucky to
have people like Brandon here so we can bypass having to find someone
who actually does front-line gmail support and then escalate past them
to someone who can actually fix things!

Bron.

> On 11/17/2015 4:06 PM, Brandon Long
      wrote:
>> Or his client is eating the '* ' in some fashion,
        it would be good for someone with an account to verify the
        bad behavior.
>>
>> They obviously think they're sending the right response,
          let's not assume that they are sending the wrong one.
>>
>> Brandon
>>
>> On Tue, Nov 17, 2015 at 3:58 PM, Stu
          Brandt <stuart.brandt@teamaol.com> wrote:
>>> David -
>>>
>>>
            My read matches yours. Their 2nd line is neither a tagged or
            untagged response, rfc6851 section 3.3 has a specific
            example covering COPYUID in the response, and rfc6851
            section 4.3 seems pretty clear when it says to send the
            COPYUID response code in an untagged OK.
>>>
>>>
            - Stuart
>>>
>>>
>>>
                On 11/17/15 6:11 PM, 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
>>>
>>>
                _______________________________________________
>>>
                Imap-protocol mailing list
>>> Imap-protocol@u.washington.edu
>>> http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol
>>
>>
>>
>> _______________________________________________
Imap-protocol mailing list
>> Imap-protocol@u.washington.edu
>> http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol
>
> _________________________________________________
> Imap-protocol mailing list Imap-protocol@u.washington.edu
> http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol

--
? Bron Gondwana
? brong@fastmail.fm
 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman13.u.washington.edu/pipermail/imap-protocol/attachments/20151118/f9e5cdd4/attachment.html>
Reply
E-mail headers
From: dshaw@jabberwocky.com
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: 6AE55419-5337-4B1C-9AB5-F69FD47868D8@jabberwocky.com permalink / raw / eml / mbox
Thanks everyone for the responses.

Just to clarify - this isn't involving an add-in or extension for iOS Mail.  If I had some control over the code, I could possibly put in some sort of Microsoft compatibility mode, but unfortunately this is just plain old iOS Mail as shipped by Apple (and I don't work there).

I actually first suspected this was an iOS bug because the problem started immediately when iOS 9.0 was released, but it turned out that iOS 8.x didn't support UID MOVE at all (using UID COPY, etc, instead), so it never even saw the incorrect server behavior.  Once iOS 9 started supporting UID MOVE, the Office365 problem became visible.

I've pretty much hit a brick wall attempting to get Microsoft to even acknowledge the bug.  I'm pleased I'm not the only person who sees a problem here.

David

> On Nov 17, 2015, at 7:36 PM, Jeff McKay <jjmckay@comaxis.com> wrote:
> 
> I just tried it and I would agree with David that O365 is indeed behaving as he described - no untagged OK in response to UID MOVE.  My
> only point, in response to Bron, is that as as developer at a company that wants to make actual sales, I do sometimes have to put in kludges to
> deal with crappy imap servers.  I guess David is writing some kind of add-in for iOS Mail where he can't do that.  I would think though that
> the Apple folks could get Microsoft to see the light.
> 
> On 11/17/2015 4:06 PM, Brandon Long wrote:
>> Or his client is eating the '* ' in some fashion, it would be good for someone with an account to verify the bad behavior.
>> 
>> They obviously think they're sending the right response, let's not assume that they are sending the wrong one.
>> 
>> Brandon
>> 
>> On Tue, Nov 17, 2015 at 3:58 PM, Stu Brandt <stuart.brandt@teamaol.com> wrote:
>> David -
>> 
>> My read matches yours. Their 2nd line is neither a tagged or untagged response, rfc6851 section 3.3 has a specific example covering COPYUID in the response, and rfc6851 section 4.3 seems pretty clear when it says to send the COPYUID response code in an untagged OK.
>> 
>> - Stuart
>> 
>> 
>> On 11/17/15 6:11 PM, 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
>> 
>> _______________________________________________
>> Imap-protocol mailing list
>> Imap-protocol@u.washington.edu
>> http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol
>> 
>> 
>> 
>> _______________________________________________
>> Imap-protocol mailing list
>> 
>> Imap-protocol@u.washington.edu
>> http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol
> 
> _______________________________________________
> Imap-protocol mailing list
> Imap-protocol@u.washington.edu
> http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol
Reply
E-mail headers
From: brong@fastmail.fm
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: 1447882210.1528738.443668657.2E2AAB9D@webmail.messagingengine.com permalink / raw / eml / mbox
On Wed, Nov 18, 2015, at 14:29, Bron Gondwana wrote:
> On Wed, Nov 18, 2015, at 11:36, Jeff McKay wrote:
>> I just tried it and I would agree with David that O365 is indeed
    behaving as he described - no untagged OK in response to UID MOVE.
>
> I can also confirm this - sorry about the few hour delay, dentist
> appointment in the middle of all this.
>
> I've bought myself an O365 account and tested it just to see it for
> myself, this is with openssl s_client
>
> . FETCH 1:* UID
> * 1 FETCH (UID 8)
> . OK FETCH completed.
> . MOVE 1 Extra [COPYUID 78 8 1]
> * 1 EXPUNGE
> * 0 EXISTS
> . OK MOVE completed.

Have heard from someone at Microsoft that they are aware of the problem
- so I guess the message got through to whoever needed to know.

I don't know what their test/deploy cycle looks like - it will be
interesting to see how long until the fix makes it out to production.

Bron.

--
? Bron Gondwana
? brong@fastmail.fm
 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman13.u.washington.edu/pipermail/imap-protocol/attachments/20151119/38f583d5/attachment.html>
Reply
E-mail headers
From: dshaw@jabberwocky.com
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:55 -0000
Message-ID: CFB9B2A6-6DF4-47FE-932B-29DCD5DEDA14@jabberwocky.com permalink / raw / eml / mbox
On Nov 18, 2015, at 4:30 PM, Bron Gondwana <brong@fastmail.fm> wrote:
> 
> On Wed, Nov 18, 2015, at 14:29, Bron Gondwana wrote:
>> On Wed, Nov 18, 2015, at 11:36, Jeff McKay wrote:
>>> I just tried it and I would agree with David that O365 is indeed behaving as he described - no untagged OK in response to UID MOVE.
>>  
>> I can also confirm this - sorry about the few hour delay, dentist appointment in the middle of all this.
>>  
>> I've bought myself an O365 account and tested it just to see it for myself, this is with openssl s_client
>>  
>> . FETCH 1:* UID
>> * 1 FETCH (UID 8)
>> . OK FETCH completed.
>> . MOVE 1 Extra
>> [COPYUID 78 8 1]
>> * 1 EXPUNGE
>> * 0 EXISTS
>> . OK MOVE completed.
>  
> Have heard from someone at Microsoft that they are aware of the problem - so I guess the message got through to whoever needed to know.
>  
> I don't know what their test/deploy cycle looks like - it will be interesting to see how long until the fix makes it out to production.

That's great.  I am very pleased to hear it.

It does seem like the issue has been around for a long time.  I found a bug report for this problem from October of 2014: https://github.com/jstedfast/MailKit/issues/115

David
Reply