Subject: Re: login: first try only accepts 16 letter (or less) usernames
To: Thomas Klausner <wiz@NetBSD.org>
From: John Nemeth <jnemeth@victoria.tc.ca>
List: current-users
Date: 05/21/2005 03:36:01
On Oct 9,  8:22pm, Thomas Klausner wrote:
} 
} I just noted that, on 3.99.3/i386 from 2005.05.13, the login process
} on the virtual terminal only accepts 16 characters -- after the
} 16th, it automatically starts asking for the password, no return
} needed.

     This would be an issue with getty.  getty puts up the initial
prompt and gathers the response.  It then calls login with the
response.  It will also do other things, such as change the line speed
if you send a break signal (not applicable to the console).

} This does not work the second time, then I can enter as many letters
} as I want (ok, I only tried 160, but that's way more than 16).

     After getty gathers the first line, it calls login with the first
line as the argument, so at this point, you are talking to login.

} When I press CTRL-D so that the login process gets restarted, it
} again only accepts 16 characters for the user name for the first
} time.

     After login exits, init respawns getty on the terminal line
starting everything over again at the beginning.

} Is this known behaviour? Should it be this way?

     I don't know if it is known behaviour.  No, it shouldn't be this
way.  The first problem is the POLA violation in asking for the
password before you hit return.  The second problem is that our utmpx
allows a "loginid" of 32 characters.  If your "loginid" had more then
16 characters, it might be valid; but, you wouldn't be able to login on
the console or a serial line without making two attempts to do so.

}-- End of excerpt from Thomas Klausner