[Bug 182] New: ssh should still force SIGCHLD to be SIG_DFL when calling ssh-rand-helper

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Sat Mar 23 10:13:30 EST 2002


http://bugzilla.mindrot.org/show_bug.cgi?id=182

           Summary: ssh should still force SIGCHLD to be SIG_DFL when
                    calling ssh-rand-helper
           Product: Portable OpenSSH
           Version: 3.1p1
          Platform: ix86
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P3
         Component: ssh
        AssignedTo: openssh-unix-dev at mindrot.org
        ReportedBy: solgato at us.ibm.com


Programs that set a SIGCHLD handler before calling ssh wreak havoc on the
waitpid() calls within entropy.c and ssh-rand-helper. Entropy.c should set the
SIGCHLD handler to SIG_DFL before calling ssh-rand-helper to avoid SIGCHLD
conflicts.

This was noticed when our ssh version was upgraded to 3.1.  Our local rsync
processes were failing with the following output from SSH:

Couldn't wait for child 'ls -alni /usr/adm' completion: No child processes
Couldn't wait for child 'ls -alni /usr/mail' completion: No child processes
Couldn't wait for child 'netstat -an' completion: No child processes
Couldn't wait for child 'netstat -in' completion: No child processes
Couldn't wait for child 'netstat -rn' completion: No child processes
Couldn't wait for child 'netstat -ia' completion: No child processes
Couldn't wait for child 'netstat -s' completion: No child processes
Couldn't wait for child 'netstat -is' completion: No child processes
Couldn't wait for child 'arp -a -n' completion: No child processes
Couldn't wait for child 'ifconfig -a' completion: No child processes
Couldn't wait for child 'ps -al' completion: No child processes
Couldn't wait for child 'ps -efl' completion: No child processes
Couldn't wait for child 'last' completion: No child processes
Couldn't wait for child 'sar -d' completion: No child processes
Couldn't wait for child 'uptime' completion: No child processes
Couldn't wait for child 'ipcs -a' completion: No child processes
Not enough entropy in RNG
ssh-rand-helper child produced insufficient data
unexpected EOF in read_timeout

It was discovered that rsync had set SIGCHLD to SIG_IGN prior to calling ssh.
Setting SIGCHLD to SIG_DFL prior to forking ssh-rand-helper (seed_rng() in
entropy.c) solved this problem.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the openssh-unix-dev mailing list