Final(?) changes committed

Damien Miller djm at mindrot.org
Tue Aug 17 02:08:13 EST 2010


Hi,

In addition to the strptime change that Darren has just committed to
fix Irix, I have committed a change to ssh(1) that affects all platforms:

> - djm at cvs.openbsd.org 2010/08/12 21:49:44
>   [ssh.c]
>   close any extra file descriptors inherited from parent at start and
>   reopen stdin/stdout to /dev/null when forking for ControlPersist.
>   
>   prevents tools that fork and run a captive ssh for communication from
>   failing to exit when the ssh completes while they wait for these fds to
>   close. The inherited fds may persist arbitrarily long if a background
>   mux master has been started by ControlPersist. cvs and scp were effected
>   by this.

The problem that this fixed was tools like cvs(1) and scp(1) hanging
if they were the first connection to a server with ControlPersist active.
They would start a background ssh(1) to act as a mux master, and the
grandparent process (cvs or scp) would hang after the original parent
ssh(1) process had exited, waiting for the mux master process to close
its fds.

This is a low-risk change in my opinion, but I'd appreciate any tests that
you are willing to run. A snapshot with the strptime and ssh(1) change is
available at:

http://www.mindrot.org/openssh_snap/openssh-SNAP-20100817.tar.gz

Thanks,
Damien


More information about the openssh-unix-dev mailing list