Re: sshd doesn't log hostname into utmp correctly

2002-09-01 Thread Hajimu UMEMOTO
Hi,

 Thu, 01 Aug 2002 16:39:45 +0900 の刻に「ume」、すなわち
 Hajimu UMEMOTO [EMAIL PROTECTED] 氏曰く

ume Current sshd doesn't handle actual size of struct sockaddr correctly,
ume and does copy it as long as just size of struct sockaddr.  So, sshd
ume deesn't log hostname into utmp correctly.
ume Here is a proposed patch to fix this problem.  Please review it.

I discussed about this on [EMAIL PROTECTED] as use
requested.  Then, this problem is occur only under FreeBSD because of
our hack.
However, this is potential problem of OpenSSH-portable, and they
agreed to fix this.  But, there is no fixed version of
OpenSSH-portable available, yet.
This problem is serious and I received the claim from many people
especially from Japan.  This problem is occur only when connecting via
IPv6, and there are many people who are using IPv6 in Japan.
So, I wish to fix this problem in time for 4.7-RELEASE.  I wish to commit
this fix.  Any objection or any idea?

Sincerely,

ume [2 sshd-loghost.diff text/x-patch; US-ASCII (7bit)]
ume Index: crypto/openssh/monitor.c
ume diff -u crypto/openssh/monitor.c.orig crypto/openssh/monitor.c
ume --- crypto/openssh/monitor.c.orig  Thu Jul 11 08:04:07 2002
ume +++ crypto/openssh/monitor.c   Thu Aug  1 15:21:58 2002
ume @@ -1113,8 +1113,8 @@
ume * the address be 0.0.0.0.
ume */
umememset(from, 0, sizeof(from));
ume +  fromlen = sizeof(from);
umeif (packet_connection_is_on_socket()) {
ume -  fromlen = sizeof(from);
umeif (getpeername(packet_get_connection_in(),
ume(struct sockaddr *)  from, fromlen)  0) {
umedebug("getpeername: %.100s", strerror(errno));
ume @@ -1124,7 +1124,7 @@
ume/* Record that there was a login on that tty from the remote host. */
record_login(s-pid, s-tty, pw-pw_name, pw-pw_uid,
umeget_remote_name_or_ip(utmp_len, options.verify_reverse_mapping),
ume -  (struct sockaddr *)from);
ume +  (struct sockaddr *)from, fromlen);
ume  }
 
ume  static void
ume Index: crypto/openssh/session.c
ume diff -u crypto/openssh/session.c.orig crypto/openssh/session.c
ume --- crypto/openssh/session.c.orig  Sun Jul 28 00:43:29 2002
ume +++ crypto/openssh/session.c   Thu Aug  1 15:22:21 2002
ume @@ -721,8 +721,8 @@
ume * the address be 0.0.0.0.
ume */
umememset(from, 0, sizeof(from));
ume +  fromlen = sizeof(from);
umeif (packet_connection_is_on_socket()) {
ume -  fromlen = sizeof(from);
umeif (getpeername(packet_get_connection_in(),
ume(struct sockaddr *)  from, fromlen)  0) {
umedebug("getpeername: %.100s", strerror(errno));
ume @@ -735,7 +735,7 @@
umerecord_login(pid, s-tty, pw-pw_name, pw-pw_uid,
umeget_remote_name_or_ip(utmp_len,
umeoptions.verify_reverse_mapping),
ume -  (struct sockaddr *)from);
ume +  (struct sockaddr *)from, fromlen);
 
ume  #ifdef USE_PAM
ume/*
ume Index: crypto/openssh/sshlogin.c
ume diff -u crypto/openssh/sshlogin.c.orig crypto/openssh/sshlogin.c
ume --- crypto/openssh/sshlogin.c.orig Sat Jul 13 12:53:57 2002
ume +++ crypto/openssh/sshlogin.c  Thu Aug  1 15:24:36 2002
ume @@ -66,12 +66,12 @@
ume   */
ume  void
ume  record_login(pid_t pid, const char *ttyname, const char *user, uid_t uid,
ume -const char *host, struct sockaddr * addr)
ume +const char *host, struct sockaddr * addr, socklen_t addrlen)
ume  {
umestruct logininfo *li;
 
umeli = login_alloc_entry(pid, user, host, ttyname);
ume -  login_set_addr(li, addr, sizeof(struct sockaddr));
ume +  login_set_addr(li, addr, addrlen);
umelogin_login(li);
umelogin_free_entry(li);
ume  }
ume Index: crypto/openssh/sshlogin.h
ume diff -u crypto/openssh/sshlogin.h.orig crypto/openssh/sshlogin.h
ume --- crypto/openssh/sshlogin.h.orig Sat Jul 13 12:53:57 2002
ume +++ crypto/openssh/sshlogin.h  Thu Aug  1 15:26:40 2002
ume @@ -16,7 +16,7 @@
 
ume  void
ume  record_login(pid_t, const char *, const char *, uid_t,
ume -const char *, struct sockaddr *);
ume +const char *, struct sockaddr *, socklen_t);
ume  void   record_logout(pid_t, const char *, const char *);
ume  u_long get_last_login_time(uid_t, const char *, char *, u_int);
 
--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
[EMAIL PROTECTED]  [EMAIL PROTECTED]  ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message


Re: sshd doesn't log hostname into utmp correctly

2002-08-01 Thread Dag-Erling Smorgrav

Hajimu UMEMOTO [EMAIL PROTECTED] writes:
 Current sshd doesn't handle actual size of struct sockaddr correctly,
 and does copy it as long as just size of struct sockaddr.  So, sshd
 deesn't log hostname into utmp correctly.
 Here is a proposed patch to fix this problem.  Please review it.

Could you please submit it to [EMAIL PROTECTED]?

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: sshd doesn't log hostname into utmp correctly

2002-08-01 Thread Dag-Erling Smorgrav

Hajimu UMEMOTO [EMAIL PROTECTED] writes:
 des Could you please submit it to [EMAIL PROTECTED]?
 Yes, I'll sent it.
 Can I commit it to FreeBSD repo.?

No, please wait and see what the OpenSSH developers say.

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: sshd doesn't log hostname into utmp correctly

2002-08-01 Thread Hajimu UMEMOTO

Hi,

 On 01 Aug 2002 11:05:46 +0200
 Dag-Erling Smorgrav [EMAIL PROTECTED] said:

des Hajimu UMEMOTO [EMAIL PROTECTED] writes:
 Current sshd doesn't handle actual size of struct sockaddr correctly,
 and does copy it as long as just size of struct sockaddr.  So, sshd
 deesn't log hostname into utmp correctly.
 Here is a proposed patch to fix this problem.  Please review it.

des Could you please submit it to [EMAIL PROTECTED]?

Yes, I'll sent it.
Can I commit it to FreeBSD repo.?

--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
[EMAIL PROTECTED]  [EMAIL PROTECTED]  ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: sshd doesn't log hostname into utmp correctly

2002-08-01 Thread Hajimu UMEMOTO

Hi,

 On 01 Aug 2002 17:18:23 +0200
 Dag-Erling Smorgrav [EMAIL PROTECTED] said:

des Hajimu UMEMOTO [EMAIL PROTECTED] writes:
 des Could you please submit it to [EMAIL PROTECTED]?
 Yes, I'll sent it.
 Can I commit it to FreeBSD repo.?

des No, please wait and see what the OpenSSH developers say.

Okay, I just sent my previous patch (+ fix for utmpx part) to
[EMAIL PROTECTED]

Sincerely,

--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
[EMAIL PROTECTED]  [EMAIL PROTECTED]  ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message