Move remotehost into svr_ses structure since we can't look it up

once we've forked (the connection socket has been closed).
Fixes inetd mode.

--HG--
extra : convert_revision : 7d5d152ec84fb11a188966c1400d213c908cc511
This commit is contained in:
Matt Johnston 2009-09-05 11:40:00 +00:00
parent c35e38c5e9
commit 4dfb834f7c
3 changed files with 7 additions and 4 deletions

View File

@ -211,6 +211,9 @@ struct serversession {
/* The numeric address they connected from, used for logging */
char * addrstring;
/* The resolved remote address, used for lastlog etc */
char *remotehost;
#ifdef __uClinux__
pid_t server_pid;
#endif

View File

@ -253,12 +253,9 @@ static int newchansess(struct Channel *channel) {
static struct logininfo*
chansess_login_alloc(struct ChanSess *chansess) {
char *remotehost;
struct logininfo * li;
get_socket_address(ses.sock_in, NULL, NULL, &remotehost, NULL, 1);
li = login_alloc_entry(chansess->pid, ses.authstate.username,
remotehost, chansess->tty);
m_free(remotehost);
svr_ses.remotehost, chansess->tty);
return li;
}

View File

@ -101,6 +101,9 @@ void svr_session(int sock, int childpipe) {
m_free(host);
m_free(port);
get_socket_address(ses.sock_in, NULL, NULL,
&svr_ses.remotehost, NULL, 1);
/* set up messages etc */
ses.remoteclosed = svr_remoteclosed;