miss handling of the SIGHUP signal for sshd when sshd is started with a relative path sshd_config file
Damien Miller
djm at mindrot.org
Thu Feb 26 14:46:40 EST 2009
On Wed, 25 Feb 2009, Ben Lindstrom wrote:
>
> On Feb 25, 2009, at 2:04 AM, ?? wrote:
>
> >
> > Hi
> >
> > I am just porting ssh-5.2 to my HPUX system.
> >
> >
> > but while I'm doing it, I accidently found a different handling of
> > the sshd for the SIGHUP signal when it is started with a "./
> > sshd_config" and "/sshd_config".
> >
> > The problem is as following:
> >
> > root at sshpa6# uname -a
> > HP-UX sshpa6 B.11.31 U 9000/800 2404418693 unlimited-user license
> >
> > root at sshpa6# /opt/ssh/sbin/sshd -f ./sshd_config
> > ### ./sshd_config is a relative path
> > root at sshpa6# ps -ef|grep sshd
> > root 12616 1 0 15:51:00 ? 0:00 /opt/ssh/sbin/sshd -
> > f ./sshd_config
> > root 12618 17401 0 15:51:03 pts/tb 0:00 grep sshd
> > root at sshpa6# kill -HUP 12616
> > root at sshpa6# ps -ef|grep sshd
> > root 12620 17401 0 15:51:12 pts/tb 0:00 grep sshd ###
> > sshd is killed but not restarted as it should be.
> >
> > So is it a bug or a normal situation?
> >
>
> If I had the venture a guess it is because ./xxx is a relative, and
> after a chdir("/") it is no longer the same location when OpenSSH is -
> HUP it no longer knows where the configuration file is and thus
> terminates itself.
>
> So yes, I would expect this behavior myself.
>
> So the simply truth is you should always do: /path/to/sshd -f /path/
> to/sshd_config
We use relative config paths for the regress tests IIRC, but perhaps we
could realpath() them first.
-d
More information about the openssh-unix-dev
mailing list