bin/134694: gives false-positive when unable to obtain socket [WAS: sshd(8) - alert user when fails to execute from rc.d]

Glen Barber glen.j.barber at gmail.com
Wed May 20 15:10:04 UTC 2009


The following reply was made to PR bin/134694; it has been noted by GNATS.

From: Glen Barber <glen.j.barber at gmail.com>
To: Dimitry Andric <dimitry at andric.com>
Cc: hackers at freebsd.org, bug-followup at freebsd.org
Subject: Re: bin/134694: gives false-positive when unable to obtain socket 
	[WAS: sshd(8) - alert user when fails to execute from rc.d]
Date: Wed, 20 May 2009 10:40:59 -0400

 Hi, Dimitry
 
 On Wed, May 20, 2009 at 7:27 AM, Dimitry Andric <dimitry at andric.com> wrote:
 > On 2009-05-20 13:18, Tobias Fendin wrote:
 >> Does the child really die? I did a little test:
 >>
 >> # /etc/rc.d/sshd status
 >> sshd is not running.
 >> # nc -l 22 >/tmp/ssh_test &
 >> [1] 1733
 >> # /etc/rc.d/sshd start
 >> Starting sshd.
 >> # /etc/rc.d/sshd status
 >> sshd is running as pid 1740.
 >
 > This is because sshd binds to both IPv4 and IPv6 ports. =A0The IPv4 bind
 > fails, as you will see in syslog, while the IPv6 bind succeeds. =A0Thus
 > sshd keeps on running.
 >
 > If you start two nc's (I don't know any way to do this with one
 > instance), e.g.:
 >
 > nc -4 -l 22 > /tmp/ssh_test4 &
 > nc -6 -l 22 > /tmp/ssh_test6 &
 >
 > and then try starting sshd, you should see it quit.
 >
 
 It's not an IPv4 versus IPv6 problem.  How I tested this, as I had
 this problem in the past (which was a non-standard setup, but still a
 problem):
 
 sshd was listening on :25, both IPv4 and IPv6
 sendmail was listening on :25 (because I had forgotten to disable it)
 
 The system boots, and sendmail starts before sshd.  When sshd starts
 (or tries to) there is no console output that it had failed.  The only
 way you realize it is not running, is when you cannot remotely log in.
 
 --=20
 Glen Barber


More information about the freebsd-bugs mailing list