MBOX-Line: From vladimir_butenko at stalker.com  Tue Apr 11 15:45:24 2006
To: imap-protocol@u.washington.edu
From: "Vladimir A. Butenko" <vladimir_butenko@stalker.com>
Date: Fri Jun  8 12:34:37 2018
Subject: [Imap-protocol] LIST Clarification
In-Reply-To: <Pine.WNT.4.65.0604111418130.3332@Tomobiki-Cho.CAC.Washington.EDU>
References: <443A7A2D.2070708@consilient.com> <web-35034698@mail.stalker.com>
	<Pine.OSX.4.64.0604101053530.2906@pangtzu.panda.com>
	<web-35035906@mail.stalker.com>
	<Pine.WNT.4.65.0604101441160.4904@Tomobiki-Cho.CAC.Washington.EDU>
	<443C0286.60200@att.com>
	<Pine.WNT.4.65.0604111228310.3332@Tomobiki-Cho.CAC.Washington.EDU>
	<syMWpRdWCviH+GmTLGxvWQ.md5@libertango.oryx.com>
	<Pine.WNT.4.65.0604111418130.3332@Tomobiki-Cho.CAC.Washington.EDU>
Message-ID: <web-35044345@mail.stalker.com>

On Tue, 11 Apr 2006 14:25:39 -0700 (Pacific Daylight Time)
  Mark Crispin <MRC@cac.washington.edu> wrote:


> I have this lingering nightmare that the day will come that I will be 
>flamed for case-sensitivity in mailbox names, and being too stupid to 
>recognize the obvious benefits of case-insensitivity (remember that I came 
>from the PDP-10 world...).  *Shudder*

It would be beneficial if a client can learn AT LEAST if the server 
namespace is case-sensitive or not. Because any client does have to switch 
its internal routines to the case-[in]sensitive mode. Something along the 
lines used to discover the path separator -
  a (CASE) extension to the special-case LIST "" "" command?
it may also help to have:
  A001 LIST (CASE) "" "INBOX/"
that will provide an answer to how to treat
INBOX/aaa
and
INboX/aaa
cases.

But, as usual, the Pandora box is happy to be opened again:
If the server says that it's case-insenstive, than I, as a user, would 
definitely expect that not only
    Mailbox
and
    mailboX

will be same box, but that

   ????
and
   ????

will be the same mailbox, too. The underlying OS file system may handle this 
case properly - Windows does, I'm sure MacOSX does so too. But it won't help 
-
as an IMAP server cannot use that OS feature, because it cannot deal 
directly with non-Latin names: UTF-7 comes in and destroyes everything ;-(

Decoding UTF-7 back into UTF-8 and using it internally is ugly, as you can 
get a completely different name in LIST results.

That's why "strict case-sensitivity" is a GOOD thing from the protocol point 
of view, and all IMAP servers MUST be case-sensitive to avoid confusion in 
clients (but not in users). Unfortunately, many IMAP servers do map mailbox 
names into OS file names, and we have all these "semi-case-insensitivity" 
problems today.

The solution would be to get rid of UTF-7 and switch to the plain UNENCODED 
UTF-8 for mailbox names.  If a client can learn that the server supports 
that (via those special LIST or NAMESPACE responses), then the transition 
may be not as impossible as it looks now. And any server that stores 
mailboxes as UTF-7-encoded OS files can support UTF-8 clients now, as it's 
very easy to detect a UTF-8 name: simple presence of the 8th bit in any name 
byte is an indication of the "new" naming conventions.

But - there would be a lot of hidden problems in such a transition...

> -- Mark --
> 
> http://staff.washington.edu/mrc
> Science does not emerge from voting, party politics, or public debate.

Political Science does :-). There is a lot one can learn by watching 
primates voting. Or debating. Especially publicly :-)

> Si vis pacem, para bellum.

and when you wish for war, prepare for a long boring peace? :-)


Sincerely,
Vladimir

