On Thu, 13 Mar 2003, Charlie Brady wrote:
>On Thu, 13 Mar 2003, Andreas Aardal Hanssen wrote:
>> Hey, Charlie!
>> On Thu, 13 Mar 2003, Charlie Brady wrote:
>But INBOX *is* special. It's special in two ways - both required by RFC
>2060. One is that all case permutations (inBoX, etc) map to the same
>mailbox, and the other is that it must be "the primary mailbox for this
>user on this server". If the system is running qmail, there is already a
>system default inbox - probably ./Maildir. So imapd should use the same
>path.
Agreed that INBOX is special in the IMAP protocol, but that does _not_
imply that it should be treated much differently in the file system. I
beleive that having a direct mapping from Maildir INBOX/ to IMAP INBOX is
a good thing.
Any permutation of InBoX in the file system would be ignored if "." is a
Maildir, but if "." is not a Maildir then the first come first serve
principle would have to apply. Again, the logs would inform the
administrator of ignored folders if a user has defined both INBOX and
Inbox.
>If, OTOH, we interpret "the primary mailbox for this user on this server"
>to mean the user-specific primary mailbox, then we have a difficult
>problem - we have to find that mailbox. We don't want to be reading and
>interpreting .qmail files to do that. We don't want to go there.
We can assume that any administrator that wants to enforce this structure
on all his users would tell qmail-local to deliver to mail/INBOX/ by
default. We can further assume that any user who would want to enforce
this structure in an individual basis would be smart enough to update
.qmail.
>> I want INBOX to be a mailbox just like all other mailboxes.
>It is, other than that it is the primary mailbox, which none of the others
>is.
It's not like all other mailboxes in this schema if
1) Its name does not map 1-1 to it's LIST name in IMAP
2) It does not recide inside a file system directory, rather its
"directory" is ".".
3) It is not a leaf node.
Dale suggested that ".", INBOX, and then "Maildir" be tested to find the
qualified IMAP INBOX. I'm proposing an alternative to the standard
depository using Dale's ideas, but allowing the entire mailbox depot to
reside in one location with no special cases.
>> >[Why would "mail/INBOX/" be preferred to "Maildir/" for INBOX?]
>Did you have an answer for this?
Yes, I did. As we have discussed earlier, Maildir++ adds Maildirs inside a
Maildir. This scheme suggests an alternative solution where all mailboxes
are standard (Not Maildir++) Maildirs, and organized in such a way that
there are no real special cases in the server when converting an IMAP
mailbox name to a filesystem location.
If I understand you correctly, what you don't like about this idea is
having to change Maildir/ being the equivalent of INBOX. This you can do
in two ways. One - you can set Maildir/ to be your root depository, having
"." server as INBOX, and having the Maildir/INBOX/ folder be ignored.
Two - you can symlink your Maildir/ folder into mail/INBOX. This would
ofcourse mean that you would have to move your Maildir++ submailboxes out
of the actual Maildir/ folder and into the root of the mailbox depository.
Andy
--
Andreas Aardal Hanssen | http://www.andreas.hanssen.name/gpg
Author of Binc IMAP | Nil desperandum