Re: [lemonade] Regarding CONDSTORE IMAP extension

Chris Newman <chris.newman@oracle.com> Mon, 02 December 2013 23:10 UTC

Return-Path: <chris.newman@oracle.com>
X-Original-To: lemonade@ietfa.amsl.com
Delivered-To: lemonade@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 77AC91ADFB5 for <lemonade@ietfa.amsl.com>; Mon, 2 Dec 2013 15:10:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.202
X-Spam-Level:
X-Spam-Status: No, score=-4.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kK1fhQHPgbyX for <lemonade@ietfa.amsl.com>; Mon, 2 Dec 2013 15:10:29 -0800 (PST)
Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) by ietfa.amsl.com (Postfix) with ESMTP id 76EFE1ADFB8 for <lemonade@ietf.org>; Mon, 2 Dec 2013 15:10:29 -0800 (PST)
Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id rB2NAQIu024713 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 2 Dec 2013 23:10:26 GMT
Received: from gotmail.us.oracle.com (gotmail.us.oracle.com [10.133.152.174]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id rB2NAPMR004281; Mon, 2 Dec 2013 23:10:25 GMT
MIME-version: 1.0
Content-disposition: inline
Content-type: text/plain; charset="utf-8"; format="flowed"
Received: from [10.145.239.205] (nifty-silver.us.oracle.com [10.145.239.205]) by gotmail.us.oracle.com (Oracle Communications Messaging Server 7.0.5.29.0 64bit (built Jul 9 2013)) with ESMTPA id <0MX700H6TCD1M200@gotmail.us.oracle.com>; Mon, 02 Dec 2013 15:10:25 -0800 (PST)
Date: Mon, 02 Dec 2013 15:10:13 -0800
From: Chris Newman <chris.newman@oracle.com>
To: Samsung SVL <samsungsvl@yahoo.com>, lemonade@ietf.org
Message-id: <9576257CC412C5B483A28644@96B2F16665FF96BAE59E9B90>
In-reply-to: <1386021084.78345.YahooMailNeo@web160203.mail.bf1.yahoo.com>
References: <1386021084.78345.YahooMailNeo@web160203.mail.bf1.yahoo.com>
X-Mailer: Mulberry/4.0.8 (Mac OS X)
Content-transfer-encoding: quoted-printable
X-Source-IP: ucsinet21.oracle.com [156.151.31.93]
Subject: Re: [lemonade] Regarding CONDSTORE IMAP extension
X-BeenThere: lemonade@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Enhancements to Internet email to support diverse service enivronments <lemonade.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lemonade>, <mailto:lemonade-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/lemonade/>
List-Post: <mailto:lemonade@ietf.org>
List-Help: <mailto:lemonade-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lemonade>, <mailto:lemonade-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Dec 2013 23:10:31 -0000

--On December 2, 2013 13:51:24 -0800 Samsung SVL <samsungsvl@yahoo.com> 
wrote:

> Hi All,
>
> Kindly clarify my below query regarding "CONDSTORE" IMAP Extension.
>
> When IMAP server advertises the "CONDSTORE" support as part of
> CAPABILITIES, client assumes that server support IMAP CONSTORE
> extension. 
>
> As per RFC 4551,  client issues SELECT command  for a mailbox in the
> below format and receives the response with HIGHESTMODSEQ value as  "1"
>
> C: A142 SELECT INBOX
>
> During the subsequent SELECT command, client receives "HIGHESTMODSEQ"
> value always set to "1". Its not getting incremented with respect to the
> changes in the mailbox. 
>
> Some IMAP server changes the HIGHESTMODSEQ value only when client issues
> SELECT command in the below format.
>
> C:A142 SELECT "INBOX" (QRESYNC ("UIDVALIDITY" "HIGHESTMODSEQ"))
>
> Kindly clarify which format is right one, because most of the IMAP server
> behaves differently. 

Technically, the former command is correct only if you've previously issued 
a condstore-enabling command (or don't want to use condstore) and the 
latter is correct only if the server advertises QRESYNC and you have issued 
"ENABLE QRESYNC" previously. For more details see RFC 4551 and RFC 5162.

Have you tried using:

 C: A142 SELECT INBOX (CONDSTORE)

That's a condstore-enabling command that servers advertising the CONDSTORE 
capability are required to support. Servers are free to not return 
HIGHESTMODSEQ at all until a condstore-enabling command occurs, and then 
they MUST return either HIGHESTMODSEQ or NOMODSEQ.

Of course, if a server is returning HIGHESTMODSEQ and not updating it after 
flag changes, that server may have a bug, so you may have to fallback to 
not using CONDSTORE with that server and just do a full resync every time. 
You might want to report that bug to the server vendor so they have the 
opportunity to fix it in a subsequent release.

		- Chris