On Thu, 20 Feb 2003, Caskey L. Dickson wrote:
>Lee Daniel Crocker wrote:
>> etc.  Of course then some maroon would manually create a
>> directory "./.INBOX", and the code would blow up.  Of course
>> my code would have the same problem with "./:".
>Even worse is that it is perfectly reasonable that when a user asks their 
>client to create INBOX/foo/bar, that it create all the higher level folders as 
>well, thereby completely innocently creating ./.INBOX, ./.INBOX.foo, 
>./.INBOX.foo.bar.
>After all, if foo didn't exist already, one wouldn't be too far off in 
>expecting it to be created for you.

If a user creates INBOX/foo/bar with the scheme you're all presenting,
then Binc would create only the ./.INBOX.foo.bar/ folder and not its
inferiors. Binc is smart enough to display the inferiors with \NoSelect in
LIST.

We're certainly getting somewhere. We can allow root folders next to INBOX
by interpreting all folders called ./.<something> as such, but reserving
one special folder to be interpreted as a special "alias" for INBOX.

If we call this special folder "INBOX", that is, ~john/Maildir/.INBOX/,
then Courier-IMAP and any other Maildir++ clients would display this as
INBOX.INBOX/. Looks quite stupid, but that doesn't really matter to us.  
I'm curious to see how Courier interprets such a folder name.

Binc IMAP would never create the actual folder called ./.INBOX/ as an
actual Maildir++ folder; it would only create inferiors like
./.INBOX.bincimap/ and ./.INBOX.Sent.2002.Feb.03/. If a seperate client
was to create the folder called ./.INBOX/ and that was a selectable
Maildir++ folder, then we need to make a decision as to what Binc IMAP
should do.

So what do you guys think?

 - As a root folder next to INBOX with a special name
 - As INBOX/INBOX (but what about ./.INBOX.INBOX/ ?

How about this - Binc could explicitly disallow a selectable root mailbox
(subfolder of the root Maildir) by the name INBOX. This means that if the
folder does not exist, Binc creates it and makes it \NoSelect with some
trick, such as removing the execute permission bits (Maildir++ says
nothing about that?).

If it's there, then Binc could rename the folder and give it a new name -
this can be done safely by appending numbers.

The client could be informed with an [ALERT] notice - that means that
Outlook Express users would get a pop-up saying what has been done. The
sysadmin could be notified through logs.

Who would make a subfolder of INBOX called INBOX? The only thing I can
think of is subscribers to lists-bincimap trying to break Courier-IMAP. ;)

Andy

-- 
Andreas Aardal Hanssen | http://www.andreas.hanssen.name/gpg
Author of Binc IMAP    | Nil desperandum

Reply via email to