[PATCH][CVS IMAPd 2.1] lmtp_downcase_rcpt implementation (2)
Lawrence Greenfield
leg+ at andrew.cmu.edu
Mon Jan 13 16:54:39 EST 2003
Date: Mon, 13 Jan 2003 16:48:49 -0500
From: John Alton Tamplin <jtampli at sph.emory.edu>
[...]
There seem to be 3 places that have to be dealt with:
1) login
2) message delivery
3) mailbox names
It seems like 1 is very localized and a trivial change in
auth_canonifyid (if it isn't appropriate for Kerberos, then the switch
could just be ignored in auth_krb*.c) . 2 is easy enough and a small
variant of Henrique's patch should do it. 3 is much harder, since you
potentially have to handle select Shared Folders/user/JTampli/Test to
resolve to user/jtampli/Test and similar situations. I think it is less
of an issue because most clients are just going to show the user what
LIST/etc return (and any running altnamespace won't see them except for
other users that have granted permissions to one of their folders), so I
would be happy with a patch that solves only 1 & 2 (and in fact I will
probably implement it myself for local use if nobody is interested in
getting into the official distribution).
Well, "message delivery" and "mailbox names" are tightly
intertwined. How should I know that "leg+detail" should be delivered
to "user.leg.Detail"?
You also need to prevent two mailboxes from being created with the
same name (except for case).
There's the i18n problem: case mapping isn't trivial across lots of
languages.
Finally, we need to deal with people toggling this option on and
off. What happens if user.leg.foo and user.leg.Foo both exist, and
then the administrator turns on case-insensitivity?
I suspect any real solution would need to modify the mboxlist so that
mailbox keys are always downcased and inside the value is the case
preserved form which is returned by LIST. This isn't an easy upgrade
nor a trivial code change.
Larry
More information about the Info-cyrus
mailing list