On Fri, 21 Feb 2003, Charlie Brady wrote:
>On Fri, 21 Feb 2003, Andreas Aardal Hanssen wrote:
>> On Thu, 20 Feb 2003, Charlie Brady wrote:
>> >On Thu, 20 Feb 2003, Andreas Aardal Hanssen wrote:
>> We'll have to do something smart.
>Why will we have to do anything at all? If someone creates a directory 
>./.INBOX (or ./.InBox, or ./.iNbOX, or /tmp/foo) why does bincimap care at 
>all? What matters is bincimap's interaction with a client, and if a client 
>selects "INBOX", or "InBox" or "iNbOX" then this must be interpreted as 
>accesses to ~/Maildir/, not to ./.INBOX, or ./InBox, etc.
>AFAICT the existance of a directory ./.INBOX is irrelevant to bincimap. I 
>don't understand why you are worrying about it.

Then I'll explain what I'm worried about.

If Maildir/ is to be interpreted as INBOX,
and Maildir/.INBOX.hello/ is to be interpreted as INBOX/hello,
...what should Maildir/.INBOX/ be interpreted as?

Ignoring it is not an option. Today, Binc will advertise it as INBOX.INBOX
- a true subfolder of INBOX whose name is also INBOX. Two different
folders.

>> INBOX/INBOX maps by Maildir++ conventions to ./Maildir/.INBOX/, FWICS.
>Not by Maildir++ conventions AFACIT. Perhaps this mapping is used by the 
>Courier implementation, because "INBOX" is the personal namespace, and is 
>therefore stripped before the Maildir++ mapping. Can someone who runs 
>Courier confirm this?

If INBOX is truly a namespace only, then selecting INBOX only, not
INBOX.INBOX, does not make sense to me. In Courier-IMAP, INBOX and
INBOX.INBOX are equivalent. How is that for consistency?

2 LIST "" "INBOX"
* LIST (\Unmarked \HasChildren) "." "INBOX"
2 OK LIST completed
2 LIST "" "INBOX.INBOX"
2 OK LIST completed
3 CREATE "INBOX.INBOX"
3 NO Cannot create this folder.

Ok - that makes sense.

3 LIST "" INBOX.INBOX
3 OK LIST completed

So it's not there, yet I can select it.

4 SELECT "INBOX.INBOX"
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS (\Draft \Answered \Flagged \Deleted \Seen)] Limited
* 2254 EXISTS
* 2254 RECENT
* OK [UIDVALIDITY 1045844866] Ok
4 OK [READ-WRITE] Ok
5 CLOSE
5 OK mailbox closed.
6 SELECT INBOX
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS (\Draft \Answered \Flagged \Deleted \Seen)] Limited
* 2254 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1045844866] Ok
6 OK [READ-WRITE] Ok

Those two are the same mailbox, accessed with two different names. Now if
I create a Maildir++ subdirectory called INBOX, that is, Maildir/.INBOX/,
this happens:

7 LIST "" "INBOX.INBOX"
* LIST (\HasNoChildren) "." "INBOX.INBOX"

So Courier-IMAP suddenly advertises this mailbox as selectable. What
happens if I select this new mailbox that suddenly showed up?

8 SELECT INBOX.INBOX
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS (\Draft \Answered \Flagged \Deleted \Seen)] Limited
* 2254 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1045844866] Ok
8 OK [READ-WRITE] Ok

Hey - since INBOX and INBOX.INBOX are equivalent in Courier-IMAP, it 
_will_ display it in LIST but not allow me to select it.

9 STATUS INBOX (MESSAGES)
* STATUS "INBOX" (MESSAGES 2254)
10 STATUS INBOX.INBOX (MESSAGES)
* STATUS "INBOX.INBOX" (MESSAGES 2254)

Where's my new mailbox? Why did Courier-IMAP first _not_ advertise
INBOX.INBOX, then when I created it with another client, it _did_
advertise it, but it won't let me select it.

Now I'm curious about this command:

11 RENAME INBOX INBOX.INBOX
11 NO This feature is not yet supported.

This is also funny:

11 CREATE INBOX.INBOX.INBOX
11 OK "INBOX.INBOX.INBOX" created.
12 LIST "" "*"
* LIST (\HasNoChildren) "." "INBOX.INBOX.INBOX"
* LIST (\HasNoChildren) "." "INBOX.qconfirm"
* LIST (\HasNoChildren) "." "INBOX.Trash"
* LIST (\Marked \HasChildren) "." "INBOX"
* LIST (\Noselect \HasChildren) "." "INBOX.INBOX"
12 OK LIST completed

So INBOX.INBOX is not selectable? Yet -

13 SELECT INBOX.INBOX
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS (\Draft \Answered \Flagged \Deleted \Seen)] Limited
* 1344 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1012945786] Ok
13 OK [READ-WRITE] Ok

This is the sort of brain dead behavior that I will not have in Binc IMAP.  
So ignoring that mailbox, or disallowing a SELECT, hiding it and so on,
does not work.

For now, Binc will only allow submailboxes of INBOX, until we can agree on
a proper way to support root level mailboxes.

Andy

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




Reply via email to