[Dovecot] namespace and list=children inconsistencies

Holger Mauermann holger at mauermann.org
Fri Dec 17 12:52:03 EET 2010


Am 17.12.2010 01:35, schrieb Willie Gillespie:
> Eh, hard to say.
> 
> From RFC 3501:
>     ... A non-empty
>     reference name argument is the name of a mailbox or a level of
>     mailbox hierarchy, and indicates the context in which the mailbox
>     name is interpreted.
> 
> But, later on it says:
>     Note: The interpretation of the reference argument is
>     implementation-defined.

I really should read RFC 3501 completely. It's been many years since I
tried to understand the now obsolete RFC 2060 ;-) I always thought that
  LIST "some/mail/box/" "*"
  LIST "" "some/mail/box/*"
  LIST "some/mail/" "box/*"
are all equivalent.

> and:
>     A client SHOULD NOT use such a reference argument except
>     at the explicit request of the user.

Hmmm, but this paragraph starts with:

  If the reference argument is not a level of mailbox hierarchy (that
  is, it is a \NoInferiors name), and/or the reference argument does not
  end with the hierarchy delimiter, it is implementation-dependent how
  this is interpreted. ... A client SHOULD NOT use such a reference
  argument except at the explicit request of the user.

So Shared/ seems to be a valid reference argument that may be used by
clients, because it is a level of mailbox hierarchy, it is not a
\NoInferiors name and it ends with the hierarchy delimiter.

Anyway, it works now. Thunderbird always uses "" as reference argument
to list the shared namespace. And for LIST "" "Shared/*" dovecot returns
all sub mailboxes. However, I still don't know why TB first displayed
only Shared/user at do.main without the shared mailboxes...

Holger


More information about the dovecot mailing list