diff --git a/ChangeLog b/ChangeLog index 4c5a1c209..349f9273b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,9 @@ - markus@cvs.openbsd.org 2001/04/05 15:45:43 [ssh.1] ssh defaults to protocol v2; from quisar@quisar.ambre.net + - stevesk@cvs.openbsd.org 2001/04/05 15:48:18 + [canohost.c canohost.h session.c] + move get_remote_name_or_ip() to canohost.[ch]; for portable. ok markus@ 20010405 - OpenBSD CVS Sync @@ -4895,4 +4898,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.1069 2001/04/05 23:29:59 mouring Exp $ +$Id: ChangeLog,v 1.1070 2001/04/05 23:32:17 mouring Exp $ diff --git a/canohost.c b/canohost.c index 52921f5b0..927508f58 100644 --- a/canohost.c +++ b/canohost.c @@ -12,7 +12,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: canohost.c,v 1.23 2001/02/10 01:33:32 markus Exp $"); +RCSID("$OpenBSD: canohost.c,v 1.24 2001/04/05 15:48:19 stevesk Exp $"); #include "packet.h" #include "xmalloc.h" @@ -251,6 +251,17 @@ get_remote_ipaddr() return canonical_host_ip; } +const char * +get_remote_name_or_ip(u_int utmp_len, int reverse_mapping_check) +{ + static const char *remote = ""; + if (utmp_len > 0) + remote = get_canonical_hostname(reverse_mapping_check); + if (utmp_len == 0 || strlen(remote) > utmp_len) + remote = get_remote_ipaddr(); + return remote; +} + /* Returns the local/remote port for the socket. */ int diff --git a/canohost.h b/canohost.h index da60b3af9..89bd5c3b4 100644 --- a/canohost.h +++ b/canohost.h @@ -1,4 +1,4 @@ -/* $OpenBSD: canohost.h,v 1.4 2001/02/03 10:08:37 markus Exp $ */ +/* $OpenBSD: canohost.h,v 1.5 2001/04/05 15:48:19 stevesk Exp $ */ /* * Author: Tatu Ylonen @@ -25,6 +25,8 @@ const char *get_canonical_hostname(int reverse_mapping_check); */ const char *get_remote_ipaddr(void); +const char *get_remote_name_or_ip(u_int utmp_len, int reverse_mapping_check); + /* Returns the ipaddr/port number of the peer of the socket. */ char * get_peer_ipaddr(int socket); int get_peer_port(int sock); diff --git a/session.c b/session.c index ac026e4fd..5264ac182 100644 --- a/session.c +++ b/session.c @@ -33,7 +33,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: session.c,v 1.69 2001/03/25 13:16:11 stevesk Exp $"); +RCSID("$OpenBSD: session.c,v 1.70 2001/04/05 15:48:18 stevesk Exp $"); #include "ssh.h" #include "ssh1.h" @@ -677,17 +677,6 @@ do_exec_pty(Session *s, const char *command) } } -const char * -get_remote_name_or_ip(void) -{ - static const char *remote = ""; - if (utmp_len > 0) - remote = get_canonical_hostname(options.reverse_mapping_check); - if (utmp_len == 0 || strlen(remote) > utmp_len) - remote = get_remote_ipaddr(); - return remote; -} - /* administrative, login(1)-like work */ void do_login(Session *s, const char *command) @@ -726,7 +715,8 @@ do_login(Session *s, const char *command) /* Record that there was a login on that tty from the remote host. */ record_login(pid, s->tty, pw->pw_name, pw->pw_uid, - get_remote_name_or_ip(), (struct sockaddr *)&from); + get_remote_name_or_ip(utmp_len, options.reverse_mapping_check), + (struct sockaddr *)&from); #ifdef USE_PAM /* @@ -1308,7 +1298,8 @@ do_child(Session *s, const char *command) } /* we have to stash the hostname before we close our socket. */ if (options.use_login) - hostname = get_remote_name_or_ip(); + hostname = get_remote_name_or_ip(utmp_len, + options.reverse_mapping_check); /* * Close the connection descriptors; note that this is the child, and * the server will still have the socket open, and it is important