summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Steves <stevesk@pobox.com>2003-01-01 23:43:55 +0000
committerKevin Steves <stevesk@pobox.com>2003-01-01 23:43:55 +0000
commit678ee51ff3493f0185dcb23bfb9fb2ba299d89b1 (patch)
tree75cf1d0971f4c774f60b7d0eeb3583c6a567f35f
parent1b96cfb97585459bbb71198123425f7e831e2845 (diff)
- (stevesk) [session.c sshlogin.c sshlogin.h] complete portable
parts of pass addrlen with sockaddr * fix. from Hajimu UMEMOTO <ume@FreeBSD.org>
-rw-r--r--ChangeLog7
-rw-r--r--session.c4
-rw-r--r--sshlogin.c6
-rw-r--r--sshlogin.h2
4 files changed, 12 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index bac6b2f2b..84adce11a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
120030101
2 - (stevesk) [session.c sshlogin.c sshlogin.h] complete portable
3 parts of pass addrlen with sockaddr * fix.
4 from Hajimu UMEMOTO <ume@FreeBSD.org>
5
120021222 620021222
2 - (bal) OpenBSD CVS Sync 7 - (bal) OpenBSD CVS Sync
3 - fgsch@cvs.openbsd.org 2002/11/15 10:03:09 8 - fgsch@cvs.openbsd.org 2002/11/15 10:03:09
@@ -912,4 +917,4 @@
912 save auth method before monitor_reset_key_state(); bugzilla bug #284; 917 save auth method before monitor_reset_key_state(); bugzilla bug #284;
913 ok provos@ 918 ok provos@
914 919
915$Id: ChangeLog,v 1.2536 2002/12/23 02:58:17 mouring Exp $ 920$Id: ChangeLog,v 1.2537 2003/01/01 23:43:55 stevesk Exp $
diff --git a/session.c b/session.c
index dfff9c6bf..90d59513c 100644
--- a/session.c
+++ b/session.c
@@ -689,7 +689,7 @@ do_pre_login(Session *s)
689 689
690 record_utmp_only(pid, s->tty, s->pw->pw_name, 690 record_utmp_only(pid, s->tty, s->pw->pw_name,
691 get_remote_name_or_ip(utmp_len, options.verify_reverse_mapping), 691 get_remote_name_or_ip(utmp_len, options.verify_reverse_mapping),
692 (struct sockaddr *)&from); 692 (struct sockaddr *)&from, fromlen);
693} 693}
694#endif 694#endif
695 695
@@ -730,8 +730,8 @@ do_login(Session *s, const char *command)
730 * the address be 0.0.0.0. 730 * the address be 0.0.0.0.
731 */ 731 */
732 memset(&from, 0, sizeof(from)); 732 memset(&from, 0, sizeof(from));
733 fromlen = sizeof(from);
733 if (packet_connection_is_on_socket()) { 734 if (packet_connection_is_on_socket()) {
734 fromlen = sizeof(from);
735 if (getpeername(packet_get_connection_in(), 735 if (getpeername(packet_get_connection_in(),
736 (struct sockaddr *) & from, &fromlen) < 0) { 736 (struct sockaddr *) & from, &fromlen) < 0) {
737 debug("getpeername: %.100s", strerror(errno)); 737 debug("getpeername: %.100s", strerror(errno));
diff --git a/sshlogin.c b/sshlogin.c
index 4cd1c0059..12555d635 100644
--- a/sshlogin.c
+++ b/sshlogin.c
@@ -70,7 +70,7 @@ record_login(pid_t pid, const char *ttyname, const char *user, uid_t uid,
70 struct logininfo *li; 70 struct logininfo *li;
71 71
72 li = login_alloc_entry(pid, user, host, ttyname); 72 li = login_alloc_entry(pid, user, host, ttyname);
73 login_set_addr(li, addr, sizeof(struct sockaddr)); 73 login_set_addr(li, addr, addrlen);
74 login_login(li); 74 login_login(li);
75 login_free_entry(li); 75 login_free_entry(li);
76} 76}
@@ -78,12 +78,12 @@ record_login(pid_t pid, const char *ttyname, const char *user, uid_t uid,
78#ifdef LOGIN_NEEDS_UTMPX 78#ifdef LOGIN_NEEDS_UTMPX
79void 79void
80record_utmp_only(pid_t pid, const char *ttyname, const char *user, 80record_utmp_only(pid_t pid, const char *ttyname, const char *user,
81 const char *host, struct sockaddr * addr) 81 const char *host, struct sockaddr * addr, socklen_t addrlen)
82{ 82{
83 struct logininfo *li; 83 struct logininfo *li;
84 84
85 li = login_alloc_entry(pid, user, host, ttyname); 85 li = login_alloc_entry(pid, user, host, ttyname);
86 login_set_addr(li, addr, sizeof(struct sockaddr)); 86 login_set_addr(li, addr, addrlen);
87 login_utmp_only(li); 87 login_utmp_only(li);
88 login_free_entry(li); 88 login_free_entry(li);
89} 89}
diff --git a/sshlogin.h b/sshlogin.h
index 287c0d9f6..1c8bfad32 100644
--- a/sshlogin.h
+++ b/sshlogin.h
@@ -22,7 +22,7 @@ u_long get_last_login_time(uid_t, const char *, char *, u_int);
22 22
23#ifdef LOGIN_NEEDS_UTMPX 23#ifdef LOGIN_NEEDS_UTMPX
24void record_utmp_only(pid_t, const char *, const char *, const char *, 24void record_utmp_only(pid_t, const char *, const char *, const char *,
25 struct sockaddr *); 25 struct sockaddr *, socklen_t);
26#endif 26#endif
27 27
28#endif 28#endif