On Mon, Sep 4, 2017, at 14:32, Doug McIlroy wrote:
Because of the model 33, login names were
case-insesitive.
Come to think of it, I don't know whether they still are
in general, though they must be for email to be delivered by
login name.
Looking at the code for getty in various versions, it looks like 4.2BSD
and System V changed this to "if the name was entered in all uppercase,
convert it to lowercase, else leave it alone" - 4.1cBSD and System III
(and earlier) had it unconditionally convert to lowercase, detecting
whether it was entered in all uppercase in order to set the tty mode.
As for email, the email standards don't make any guarantee that the
username portion of addresses will be case insensitive. From what I can
find, sendmail by default converts all characters in the username
portion to lowercase (thus allowing email addresses to be
case-insensitive for delivery to local usernames that must be in all
lowercase), and has an option to treat it as case-sensitive instead.
(All of this can probably be rounded down to "Usernames should be
defined as all-lowercase")