Subject: Re: why a double login??
To: None <greywolf@defender.VAS.viewlogic.com>
From: noud de brouwer <email@example.com>
Date: 04/24/1996 21:37:56
>AHA! All UPPER CASE LOGINS! I remember *THIS* problem from the old 4.2
>days at the local community college (VAX 11/750 running 4. BSD).
Teletype terminals and the like(?)
Is a VAX 11/750 a pdp 11?
>I'll bet you get things like:
>NetBSD/xxxx 1.1 (pop) (console)
and then we're inside.
>Traditionally, if the entire login was UPPERCASE, getty would think that
>you were on a funny kind of terminal only capable of typing uppercase
>characters, such as a real old TTY, or a TI silentwriter or something,
>and it would switch your tty mode to (sg.sg_flags | O_LCASE) (or something,
>I haven't hacked a tty-switcher in a while).
if (upper || UC)
tmode.sg_flags |= LCASE;
if (lower || LC)
tmode.sg_flags &= ~LCASE;
I don't know why #if XXX is there. Why is it there?
UC is like the /etc/gettytab: uc bool false terminal is known upper
LC is like the /etc/gettytab: lc bool false terminal has lower case
>If you're getting lowercase responses, then only half the problem has been
That's what it does, convert to lowercase, but not letting you in.
Then the second time, behind getname(), it does let you in with the
>Another fix would be to not use ALL uppercase logins; i.e. maybe capitalize
>them if necessary? (This would be The Right Way, actually.)
All uppercase logins are a 'no no' in the unix-world??
Just change them with vipw, and leave it to that??
(creating a discrepance between RW and passwd.master)
Shouldn't i trace again, using f.i. syslog() after getname()??
Shouldn't it be: upper && (UC && !LC) => tolower => inside and
upper && !(UC && !LC) => upper && (!UC || LC) => inside?
I don't know the precidence of those &&/|| things,
but that's diff. from the source:
upper && !LC || UC => tolower
so i have to check my gettytab (i think U/LC are set to default) and
retrace the getty code...