MBOX-Line: From brong at fastmail.fm  Tue Nov 17 15:59:21 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: <564BBAB6.8070609@comaxis.com>
References: <25069F83-83C9-4130-B0D0-6C4FCC37A292@jabberwocky.com>
	<564BBAB6.8070609@comaxis.com>
Message-ID: <1447804761.3611730.442717985.7EC5626B@webmail.messagingengine.com>



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

