Subject: Re: bin/28115
To: Ed Ravin <eravin@panix.com>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-bugs
Date: 11/14/2004 13:10:05
On Nov 14,  2:38am, eravin@panix.com (Ed Ravin) wrote:
-- Subject: Re: bin/28115

| The "last -n" changes work as expected.  But there's another problem:
| /usr/bin/login does not write anything into ut_ss when it is invoked
| by telnetd.  With our initial tests, an IP address appears in ut_ss when
| using ftpd with your recent changes, but not when using telnetd.
| 
| I see that usr.bin/login/login.c does this:
| 
|         (void)getpeername(STDIN_FILENO, (struct sockaddr *)&ss, &len);
| [...]
|                utmpx.ut_ss = ss;
| 
| But when /usr/bin/login is invoked from telnetd, stdin is a PTY, not a
| regular socket, so I don't think getpeername will return anything useful.
| 
| Maybe putting -u0 back into telnetd isn't such a bad idea after all.

It is not, but I decided to fix it differently. I have committed changes to
login and telnetd to pass -a address. Please let me know if this works ok
for you. I did it this way, because since it already passes -h, awhy not
pass -a too and be done with it.

christos