On Monday, March 17, 2003, at 12:02 PM, Andreas Aardal Hanssen wrote:

Hi, Dan.

On Mon, 17 Mar 2003, Dan Mills wrote:
Hi Andy,
These sound pretty good to me.  I only have one comment/question:
   Also, we change the delimiter, which under no circumstance can
   be a dot '.'. This is to ensure compatibility with Maildir. Ex-
   Couriers will get this funny output from LIST:
   special case is that the first dot is actually interpreted as
   part of the folder name, and not as a meta symbol.
Why?  Using dot as a separator seems sane, so you'd have:
.foo.bar  ->  /foo/bar  ("foo/bar" reported on imap).
But why have:
.foo  ->  .foo  (".foo" reported on imap).
instead of:
.foo  ->  /foo  ("foo" reported on imap).
That is, do a s/\./\//g and treat dots as separators in all cases.  If
they are at the beginning of the mailbox string, then strip it off and
show it as a toplevel mailbox over imap.

Ambiguity. The folder /foo and the folder foo, as interpreted by the IMAP
protocol, are the same. To allow the folder ".foo" to be selected, the
server would have to try both "foo" and ".foo", and I don't want that sort
of ambiguity in the spec.

So (on the imap side) dots are not allowed in mailbox names, unless they happen to be at the beginning of the name? I don't see the usefulness of making that exception.


i.e., what happens if you try to create a mailbox (over imap) called "foo.bar"? The possibilities I see are:

a) The dots are encoded into something else to avoid having them interpreted as directory separators later.
b) The mailbox is created as-is, thus creating subfolders in the process.
c) An error is thrown.


(a) is awful and bound to cause problems later, (b) is sort of ok, but not really optimal since people should be using "/" as the separator on the imap side, which leaves (c). Unless there's some other option I'm missing.

With that in mind, selecting ".foo" should do one of:

a) Select "foo" at the top level.
b) Select ".foo" if dots are allowed in names (ie, they get encoded into something else).
c) Throw an error.


(c) is not wise, because compatibility with existing Maildir++ users is desired. (b) is correct iff dots are allowed in names, otherwise (a) is the correct option.

Does this make sense, or am I smoking more crack than usual? :)

-Dan



Reply via email to