FETCH command behavior

"Larry Osterman (Exchange)" <larryo@exchange.microsoft.com> Tue, 26 August 1997 23:03 UTC

Received: from cnri by ietf.org id aa18967; 26 Aug 97 19:03 EDT
Received: from lists3.u.washington.edu (root@lists3.u.washington.edu [140.142.56.3]) by cnri.reston.va.us (8.8.5/8.7.3) with ESMTPid TAA08402 for <ietf-archive@CNRI.Reston.VA.US>; Tue, 26 Aug 1997 19:06:49 -0400 (EDT)
Received: from host (lists.u.washington.edu [140.142.56.13]) by lists3.u.washington.edu (8.8.4+UW97.07/8.8.4+UW97.05) with SMTP id PAA07003; Tue, 26 Aug 1997 15:58:02 -0700
Received: from mx2.u.washington.edu (mx2.u.washington.edu [140.142.32.7]) by lists.u.washington.edu (8.8.4+UW97.07/8.8.4+UW97.05) with ESMTP id PAA22906 for <imap@lists.u.washington.edu>; Tue, 26 Aug 1997 15:57:40 -0700
Received: from mx2.cac.washington.edu (mx2.cac.washington.edu [140.142.33.1]) by mx2.u.washington.edu (8.8.4+UW97.07/8.8.4+UW97.04) with ESMTP id PAA09849 for <imap@u.washington.edu>; Tue, 26 Aug 1997 15:57:39 -0700
Received: from doggate.exchange.microsoft.com (doggate.microsoft.com [131.107.2.63]) by mx2.cac.washington.edu (8.8.4+UW97.07/8.8.4+UW97.04) with SMTP id PAA19524 for <imap@cac.washington.edu>; Tue, 26 Aug 1997 15:57:37 -0700
Received: by DOGGATE with Internet Mail Service (5.5.1664.3) id <R46X9PT8>; Tue, 26 Aug 1997 15:57:40 -0700
Message-Id: <2FBF98FC7852CF11912A0000000000010581D29B@DINO>
Date: Tue, 26 Aug 1997 15:57:38 -0700
Sender: IMAP-owner@u.washington.edu
Precedence: bulk
From: "Larry Osterman (Exchange)" <larryo@exchange.microsoft.com>
To: 'IMAP List' <imap@cac.washington.edu>
Subject: FETCH command behavior
MIME-Version: 1.0
Content-Type: text/plain
X-Listprocessor-Version: 8.1 beta -- ListProcessor(tm) by CREN

Currently our fetch processor canonicalizes the arguments for a FETCH
command.  This means that it takes:

FETCH 1,2,3,4,5

and treats it the same as:

FETCH 1:5

and it takes:

FETCH 1:5,3:7,8

as the same as:

FETCH 1:8

This works perfectly for sequence number fetches, however, for UID
fetches, we run afoul of the following comment:

Message set ranges are permitted; however, there is no guarantee that
unique identifiers be contiguous.  A non-existent unique identifier
within a message set range is ignored without any error messages
generated.

The corollary of this statement is that a unique identifier OUTSIDE a
message set range SHOULD generate a message.  Thus the first example
will fail if any of the messages specified doesn't exist, while after
our canonicalization logic, the example would fail only if all of the
messages specified don't exist.

Similarly, the FETCH 1:5,3:7,8 should get canonicalized to FETCH 1:7,8
for the same reasons.

Do we need to change our canonicalization logic to not collapse
individual sequence values (not a big deal, but we need to know).

And are there clients that will choke if we DO canonicalize the output?
Larry Osterman
Via Exchange Osmium on Lothair with NT 4.0.  Since these are not all
released products, please notify the sender of any difficulties.