On Apr 18, 2008, at 11:42 AM, Mark Crispin wrote:

On Fri, 18 Apr 2008, Michael Cashwell wrote:

I must be being dense here, but isn't having an inferior to INBOX named identically but with only case differences a very special case? Wouldn't it make more sense to prohibit only that similar to how a case-preserving but case-insensitive file system won't let you create "foo" where "Foo" already exists?

The problem is not with the children, but rather the parent. You are assuming, falsely, that there is something magic that will take "inbox/foo" and know that it really must be "INBOX/foo" even though there is nothing in the IMAP specification (or most UNIX filesystems) that says so.

But that's what I'm not getting. Doesn't it map "inbox" to "INBOX" as a special case already? If not, then "inbox/foo" should fail. If so, why is mapping "inbox/foo" to "INBOX/foo" worse?

Even if imapd attempted to impose such magic, there is nothing that it can do about filesystem operations outside of IMAP. That is the underlying cause of the problem.

Do you mean other apps that use c-client or apps that fiddle with the backing store totally on their own?

If the latter then they deserve what they get. If the former then is the problem expecting (or inserting) IMAP semantics when IMAP is not really involved? I could see that being a mistake.

I'm fuzzy on the division of labor between c-client and imapd. I had assumed that some IMAP-isms like the InBoX -> INBOX morph occurred in the c-client code.

Having inferiors to INBOX called anything else would not be ambiguous, right? To prohibit ALL inferiors on INBOX just to avoid this one instance of case-ambiguity seems like overkill.

That's like saying it is overkill to have laws against drunk driving, because you can drive safely while drunk. Even if that is true in your particular case, it is not true in the general case.

I think that's 180 degrees around. Outlawing all inferiors of INBOX because of one very particular ambiguous case is like outlawing all drinking because some people drive drunk.

It is never a good idea to create greater complexity to overcome the problems brought about by adding earlier complexity.

Certainly agree. But in this case, from the user perspective, the complexity is the inbox being "special" for some mysterious reason.

IMAP was never intended to allow children of INBOX. In fact, IMAP was never intended to allow children of any mailbox. It was a terrible mistake to have allowed dual-use mailboxes in the specification in the first place.

I can accept the idea that if the IMAP spec was written without taking dual-use mailboxes (those that logically hold both messages and other mailboxes) into account that it may well be a bad idea to try to kludge that in after the fact. Kludges are bad.

But consider a very similar case: files stored in a file system. A dual use prohibition there would mean files could only exist as leaves of the hierarchy with no files and directories as peers. That would be a wildly artificial and unpopular limitation.

It surprises me that with the dual-use file systems metaphor so well established that the IMAP spec would have been originally written with the assumption that users wouldn't want the same metaphor in their mail stores.

-Mike

_______________________________________________
Imap-uw mailing list
[email protected]
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to