Subject: c-client based imapd UID implementation

From: Mark Crispin <[email-masked]>
Date: Sun, 25 Sep 1994 19:23:52 -0700 (PDT)

I feel, from the messages that I have seen, that there is concensus that it is
unacceptable to have a UID of 0 mean ``no UID available'', but that it is
acceptable for an IMAP4 server to return NO to a FETCH UID or UID command.
Additionally, a [TRYSEQUENCE] token should be returned on the SELECT command
if it is observed that UIDs are unavailable.

c-client will use a UID of -1 (which is invalid in IMAP4) to indicate ``no
valid UID for this message''.

There appears to be concensus that loss of valid UIDs, and reassignment of
UIDs, should be avoided if at all possible.  However, it is acknowledged that
external UID-clueless software running on the server may erase or reassign
UIDs, and that it may not be feasible to prevent or detect this.  It is
alright for me to say ``if you do a compress in mh you'll renumber the UIDs,
so if you want to use an mh folder via IMAP don't do this.''

There appears to be concensus that the IMAP protocol must not be invalidated,
so it is necessary to make sure that UIDs are strictly-ascending and reassign
as necessary if they are not (e.g. message copy from an external UID-clueless
program on the server).

bezerk/mmdf format will use X-UID:, and automatically have UIDs assigned (if
not already) when the mailbox is rewritten.  tenex/mtx format will use a new
field in the header and will require explicit conversion.  There will be a new
invisible message at the start of the mailbox that will hold the largest
assigned UID.

Thank you all for your comments.

---

From: John Gardiner Myers <[email-masked]>
Date: Mon, 26 Sep 1994 12:26:07 -0400 (EDT)

Mark Crispin <[email-masked]> writes:
> but that it is

I disagree with this.  It breaks the "no optional features" approach
we took in IMAP4 and would be the first time a FETCH could return NO.

-- 
_.John G. Myers		Internet: [email-masked]
			LoseNet:  ...!seismo!ihnp4!wiscvm.wisc.edu!give!up

---

From: Mark Crispin <[email-masked]>
Date: Mon, 26 Sep 1994 15:46:13 -0700 (PDT)

> we took in IMAP4 and would be the first time a FETCH could return NO.

Then I'm afraid that I must insist upon a zero or NIL UID convention to mean
``this message does not have a UID''.  I got a rather firm message from the
group that unstable UIDs are worse than no UIDs at all.