diff options
author | ume <ume@FreeBSD.org> | 2002-09-09 16:49:11 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2002-09-09 16:49:11 +0000 |
commit | 03b3b7821749b83a01f99c9197e5913e82deef5b (patch) | |
tree | bc8f37e43084c3da731c1102b41eddf16bd03714 /crypto/openssh/sshlogin.h | |
parent | f005a7d8a019151f00fed1e56fd983935498ec67 (diff) | |
download | FreeBSD-src-03b3b7821749b83a01f99c9197e5913e82deef5b.zip FreeBSD-src-03b3b7821749b83a01f99c9197e5913e82deef5b.tar.gz |
sshd didn't handle actual size of struct sockaddr correctly,
and did copy it as long as just size of struct sockaddr. So,
If connection is via IPv6, sshd didn't log hostname into utmp
correctly.
This problem occured only under FreeBSD because of our hack.
However, this is potential problem of OpenSSH-portable, and
they agreed to fix this.
Though, there is no fixed version of OpenSSH-portable available
yet, since this problem is serious for IPv6 users, I commit the
fix.
Reported by: many people
Reviewed by: current@ and stable@ (no objection)
MFC after: 3 days
Diffstat (limited to 'crypto/openssh/sshlogin.h')
-rw-r--r-- | crypto/openssh/sshlogin.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/openssh/sshlogin.h b/crypto/openssh/sshlogin.h index bd30278..9f0d5f0 100644 --- a/crypto/openssh/sshlogin.h +++ b/crypto/openssh/sshlogin.h @@ -1,4 +1,5 @@ /* $OpenBSD: sshlogin.h,v 1.3 2001/06/26 17:27:25 markus Exp $ */ +/* $FreeBSD$ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> @@ -16,13 +17,13 @@ void record_login(pid_t, const char *, const char *, uid_t, - const char *, struct sockaddr *); + const char *, struct sockaddr *, socklen_t); void record_logout(pid_t, const char *, const char *); u_long get_last_login_time(uid_t, const char *, char *, u_int); #ifdef LOGIN_NEEDS_UTMPX void record_utmp_only(pid_t, const char *, const char *, const char *, - struct sockaddr *); + struct sockaddr *, socklen_t); #endif #endif |