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.

Reply via email to