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

