MBOX-Line: From mrc at CAC.Washington.EDU  Mon Sep 18 11:58:35 2006
To: imap-protocol@u.washington.edu
From: Mark Crispin <mrc@CAC.Washington.EDU>
Date: Fri Jun  8 12:34:38 2018
Subject: [Imap-protocol] Avoiding connection-loss
In-Reply-To: <KKoUp6qRrcfZ2zeBmqURBg.md5@libertango.oryx.com>
References: <009901c6daf1$1026f580$2d65a8c0@ProImage.local> 
	<Pine.OSX.4.64.0609180815470.368@pangtzu.panda.com>
	<5273.1158594140.711631@invsysm1>
	<Pine.OSX.4.64.0609180855530.368@pangtzu.panda.com>
	<KKoUp6qRrcfZ2zeBmqURBg.md5@libertango.oryx.com>
Message-ID: <Pine.OSX.4.64.0609181137520.368@pangtzu.panda.com>

On Mon, 18 Sep 2006, Arnt Gulbrandsen wrote:
>> However, it is one certain client that ever allows an IDLE to go for so 
>> long, and we can be confident that client will never use UIDNEXT.
> Uh. Mine allows IDLE to go on for 50 seconds longer and uses UIDNEXT.

RFC 2177 states:

    [...] clients using IDLE are advised to terminate the IDLE and
    re-issue it at least every 29 minutes to avoid being logged off.

You like cutting things that close?

Do you really mean to say that your client increments its copy of UIDNEXT 
every time EXISTS shows a new message (since UIDNEXT is normally NOT 
presented except at SELECT time!), and then issues an error message if a 
new message has a UID that is not .GE. that client calculated value?

Or, do you mean to say that your client increments its calculated value, 
and then issues an error message if UIDNEXT in a subsequent session is not 
.GE. that client calculated value?

> It's not a great matter, but I urge you to reconsider this. It is the 
> reference implementation, after all.

The protocol violation is the kludge to prevent IDLE from ever timing out. 
Removing that kludge would be better, if only ********* would fix its 
broken client.

It's also not clear, given the definition of UIDNEXT, that it is even a 
violation.  The text says "when new messages are added to a mailbox, even 
if those new messages are subsequently expunged."  After all, no messages 
were actually added to the mailbox; the EXISTS/EXPUNGE pair is a fake.

OK, granted, that's a slimy argument to make, but no slimier than other 
arguments made by other people in the past.  Don't I get to wallow in the 
slime too, just once?  ;-)

-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.

