[Imap-protocol] More evil hierarchy delimiters

Mark Crispin mrc at CAC.Washington.EDU
Wed Jun 27 09:35:50 PDT 2007

On Wed, 27 Jun 2007, Timo Sirainen wrote:

> The RFC says:

> All children of a top-level hierarchy node MUST use

> the same separator character. A NIL hierarchy delimiter means

> that no hierarchy exists; the name is a "flat" name.

> After first reading I thought that you couldn't mix NIL with another

> delimiter, but I guess because the first sentence says "character", not

> "delimiter" it is allowed (plus UW-IMAP does it). Maybe the next RFC

> could clear that up.

No. Your confusion here is that INBOX is in a class by itself. It is not
part of the default namespace. That's why the RFC goes on to say that
INBOX is included in the LIST results if it matches the pattern; that too
is a special rule since otherwise INBOX would not be listed.

Both of your examples are not possible:

> 1 LIST "" %

> * LIST (\NoInferiors) NIL INBOX

> * LIST (\NoSelect \HasChildren) "/" childboxes

> * LIST (\NoInferiors) NIL foo


> 1 LIST "" %

> * LIST (\NoInferiors) NIL INBOX

> * LIST (\NoSelect \HasChildren) "/" childboxes

> * LIST (\NoInferiors) NIL "foo/bar"

because the second and third items have conflicting hierarchy semantics.
The first example (INBOX) does not conflict since INBOX is not part of the
default namespace.

-- Mark --

Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.

More information about the Imap-protocol mailing list