On Wed, 25 Sep 2002 22:18:02 +0200, Simon Josefsson wrote:
> Except possibly this new UIDNEXT thing. Cyrus IMAP for one doesn't do
> this.
Cyrus in your example is fine. It returned an error when using * to access a
message sequence number in an empty message:
> . FETCH * UID
> . NO No matching messages
The draft says:
; The server should respond with a tagged BAD
; response to a command that uses a message
; sequence number greater than the number of
; messages in the selected mailbox. This
; includes "*" if the selected mailbox is empty.
I would prefer a tagged BAD, but that is just reason not to change the
"should" (as opposed to SHOULD) to a MUST.
> . UID FETCH * UID
> . OK Completed
This is also fine, since the description of * for UIDs is:
; In the case of unique identifiers, it is the
; unique identifier of the last message in the
; mailbox or, if the mailbox is empty, the
; UIDNEXT value.
> In this case I think it is better to have * mean a non-existing
> article instead of UIDNEXT.
In effect, "non-existing message" and "UIDNEXT" are one and the same. The
difference is that the latter is a usable definition.
So, with the possible exception of changing that NO to a BAD (and I don't
think that it is that important), Cyrus is fine.