sshd's -e doesn't work as expected

Jim Knoble jmknoble at pobox.com
Fri Dec 28 10:31:20 EST 2007


Circa 2007-12-27 03:30 dixit Julio M. Merino Vidal:

: On 27/12/2007, at 0:41, Jim Knoble wrote:
: 
: > I think the intent was for '-e' to be used with '-D':
    [...]
: > Perhaps sshd should complain if '-e' appears without '-D'?
: 
: Maybe, but I want it to run it in the background, so I would need to  
: launch it with & instead.
: 
: Thinking about it, this may be good enough though.  At first, I  
: thought that the pidfile was written before the call to daemon(3) so  
: I thought it'd be safe to access that file immediately after the call  
: to sshd (without -D nor -d) returned.  But after checking the code I  
: see this is not the case (how could it be? you don't know the pid  
: until you fork...), so it makes no difference for me to use -D or &  
: because I can hit the race condition in any of the two ways.

If you need the PID of the sshd process, you can get it without a race
using (for example):

	#!/bin/sh
	/usr/local/sbin/sshd -D &
	SSHD_PID="$!"

The shell knows the process ID of the child it spawns to run sshd.

: So, OK.  If -e is always supposed to be used alongside with -D, then  
: the daemon should complain about that situation.

Perhaps you could generate a patch and attach it to your bug report.

-- 
jim knoble  |  jmknoble at pobox.com  |  http://www.pobox.com/~jmknoble/
(GnuPG key ID: 6F39C2CC  >>>>>>  http://www.pobox.com/~jmknoble/keys/ )
(GnuPG fingerprint: 5024:D578:7CF4:5660:7269::F6F3:B919:9307:6F39:C2CC)
+----------------------------------------------------------------------+
|[L]iberty, as we all know, cannot flourish in a country that is perma-|
| nently on a war footing, or even a near-war footing.  --Aldous Huxley|
+----------------------------------------------------------------------+


More information about the openssh-unix-dev mailing list