[CentOS] login case sensitivity

Fri Sep 8 11:24:22 UTC 2017
hw <hw at gc-24.de>

Stephen John Smoogen wrote:
> On 7 September 2017 at 16:07, Alexander Dalloz <ad+lists at uni-x.org> wrote:
>> Am 07.09.2017 um 20:07 schrieb hw:
>>>
>>> Gordon Messmer wrote:
>>>>
>>>> On 09/07/2017 08:11 AM, Stephen John Smoogen wrote:
>>>>>
>>>>> This was always
>>>>> problematic because DNS hostnames and email addresses in the RFC
>>>>> standards were case insensitive
>>>>
>>>>
>>>>
>>>> Not quite.  SMTP is required to treat the "local-part" of the RCPT
>>>> argument as case-sensitive, and to preserve case when relaying mail.  The
>>>> destination is allowed to treat addresses according to local policy, but in
>>>> general SMTP is case sensitive with regard to the user identifier.
>>>
>>>
>>> Last time I checked, RFCs said that local parts *should not* be case
>>> sensitive,
>>> and cyrus defaulted to treat them case sensitive, which is a default that
>>> usually
>>> needs to be changed because senders of messages tend to not pay any
>>> attention to
>>> the case sensitiveness of recipient addresses at all, which then confuses
>>> them like
>>> any other error.
>>
>>
>> The relevant part from the RFC:
>>
>> https://www.ietf.org/rfc/rfc5321.txt
>>
>> 2.4.  General Syntax Principles and Transaction Model
>>
>>    Verbs and argument values (e.g., "TO:" or "to:" in the RCPT command
>>    and extension name keywords) are not case sensitive, with the sole
>>    exception in this specification of a mailbox local-part (SMTP
>>    Extensions may explicitly specify case-sensitive elements).  That is,
>>    a command verb, an argument value other than a mailbox local-part,
>>    and free form text MAY be encoded in upper case, lower case, or any
>>    mixture of upper and lower case with no impact on its meaning.  The
>>    local-part of a mailbox MUST BE treated as case sensitive.
>>    Therefore, SMTP implementations MUST take care to preserve the case
>>    of mailbox local-parts.  In particular, for some hosts, the user
>>    "smith" is different from the user "Smith".  However, exploiting the
>>    case sensitivity of mailbox local-parts impedes interoperability and
>>    is discouraged.  Mailbox domains follow normal DNS rules and are
>>    hence not case sensitive.
>>   for maximum interoperability, a host that expects to receive mail
    SHOULD avoid defining mailboxes where the Local-part requires (or
    uses) the Quoted-string form or where the Local-part is case-
    sensitive.
>

> Thanks for the clarification to my original email. I misremembered
> RFC821 and thought it was for the entire part..
>
>    Commands and replies are not case sensitive.  That is, a command or
>    reply word may be upper case, lower case, or any mixture of upper and
>    lower case.  Note that this is not true of mailbox user names.  For
>    some hosts the user name is case sensitive, and SMTP implementations
>    must take case to preserve the case of user names as they appear in
>    mailbox arguments.  Host names are not case sensitive.

RFC2821, section 4.1.2:

"  for maximum interoperability, a host that expects to receive mail
    SHOULD avoid defining mailboxes where the Local-part requires (or
    uses) the Quoted-string form or where the Local-part is case-
    sensitive.
"

It comes down to that case-preservation is demanded from the implementations
of protocols while, pragmatically, local parts are encouraged to be case
insensitive.


More than a decade ago, I argued that the default used by cyrus be changed to
treat local parts case insensitve.  About 2 years ago, that still hadn´t
changed.

So everyone deploying cyrus, be aware.  Other than that, cyrus always worked
flawlessly, and I highly recommend it to everyone needing an IMAP server.