[Imap-protocol] Namespace separators

Mark Crispin mrc at CAC.Washington.EDU
Mon Jun 25 09:45:01 PDT 2007

On Mon, 25 Jun 2007, Timo Sirainen wrote:

> I find this # thing also a bit weird. The client can't know about those

> namespaces without NAMESPACE command, and if it does then there's really

> no need for # because it can find out the exact prefixes anyway. So why

> should the client do anything differently if there's #?

Without a breakout mechanism such as #, then you have the ambiguity
problem that you reported in your earlier message. How do you know that a
name is in one namespace as opposed to some other one?

More importantly, what happens if the different namespaces have different
hierarchy semantics; different delimiters, different ways of expressing
root, etc.? Maybe a particular namespace doesn't have hierarchy at all.

Netnews vs. the UNIX filesystem is an obvious example of two completely
incompatible hierarchies.

I see no benefit to implementing an incompatible means of doing multiple
namespaces, and HUGE demerits. Anyone who finds themselves negatively
impacted will put the blame directly on your server. Don't do it.

Either have one namespace, with a single set of hierarchy semantics
(meaning only ONE hierarchy delimiter) throughout, or do namespaces
compatibly, following the namespace convention.

> I've understood that many commonly used clients ignore namespaces and

> only show what is visible with LIST "" *, so I'd want to keep it

> possible to list contents of all namespaces with it.

Does your server list all other users' mailboxes with that command (since
after all a user may have a public access mailbox)? Why not?

Does your server do an "ls -R /" for that command? Why not?

Assuming that the user has a stupid client that does LIST "" * (a very bad
thing to do), why do you think that she wants to download ten thousand
newsgroup names each and every time the client is run? Especially a user
on a mobile device over EDGE.

There is always a line. Drawing the line is difficult.

> Dovecot actually allows the admin to configure any kind of namespaces.

> I'm currently just wondering what kind of configurations I should

> prevent.

I don't think that LIST "" * should show anything other than the user's
personal names.

-- 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