OpenSSH_4.3p1 configure patch
Corinna Vinschen
vinschen at redhat.com
Mon Feb 6 22:47:00 EST 2006
On Feb 6 12:11, Corinna Vinschen wrote:
> On Feb 6 12:02, Corinna Vinschen wrote:
> > On Feb 4 18:20, Tim Rice wrote:
> > > Please do test the next snapshot. I've just commited a couple of changes
> > > to congigure.ac.
> >
> > Your patches to configure.ac seem to work fine on Cygwin.
> >
> > However, I seem to have found a generic bug in sshd.
> >
> > Since I was closer inspecting what happens with utmp and wtmp entries, I
> > found to my surprise, that login records were added to utmp/wtmp, but
> > logout records were not.
> >
> > I debugged an sshd child and found this:
> >
> > - On logging out from an interactive session, EOF is encountered and
> > down from do_authenticated, session_close_by_pid is called.
> >
> > - session_by_pid returns the correct Session pointer.
> >
> > - s->chanid is != -1, ==> session_exit_message is called.
> >
> > - session_exit_message sets s->pid = 0 and returns to session_close_by_pid.
> >
> > - s->ttyfd != -1, ==> session_pty_cleanup is called.
> >
> > - session_pty_cleanup calls session_pty_cleanup2.
> >
> > - In session_pty_cleanup2, record_logout is only called if s->pid != 0.
>
> Oh and, just for the sake of completeness, since session_pty_cleanup2
> will set s->ttyfd to -1 in the first call, any later call to
> session_pty_cleanup2, for instance from do_cleanup, will not do anything
> at all.
...and this worked in 4.2p1 because it didn't set s->pid to 0 in
session_exit_message, but only s->chanid to -1. I'm not certain
how to fix this correctly, however.
Corinna
--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat
More information about the openssh-unix-dev
mailing list