NetBSD/etc/rc.d/sshd
lukem bd11504cb2 - only perform the checkyesno on the variable named in $rcvar (rather than
implicitly using $name if $rcvar isn't set), and always perform this check,
  even when using start_cmd (et al).
  this check is performed before the pidcmd
  is run, speeding up scripts that weren't going to be run anyway.
  this should speed up booting slow systems.

- take advantage of the above and remove
	start_precmd="checkyesno foo"
  in scripts that use start_cmd.

- explicitly set rcvar=foo in the rc.d/foo scripts which have an equivalent
  rc.conf entry

- fix `rcvar' and `restart' when $rcvar isn't set.
  these above changes fix PR [bin/11027].

- when doing `force*', ignore the return value of *_precmd.
  this fixes PR [bin/10781].

- rename what sysdb provides from `databases' to `sysdb', to reflect
  the name of the script.

- improve the comments in rc.subr
2000-09-19 13:04:38 +00:00

49 lines
927 B
Bash
Executable File

#!/bin/sh
#
# $NetBSD: sshd,v 1.8 2000/09/19 13:04:39 lukem Exp $
#
# PROVIDE: sshd
# REQUIRE: LOGIN
. /etc/rc.subr
name="sshd"
rcvar=$name
command="/usr/sbin/${name}"
pidfile="/var/run/${name}.pid"
required_files="/etc/${name}.conf"
extra_commands="keygen reload"
sshd_keygen()
{
if [ -f /etc/ssh_host_key ]; then
echo "You already have an RSA host key in /etc/ssh_host_key"
echo "Skipping RSA Key Generation"
else
umask 022
/usr/bin/ssh-keygen -b 1024 -f /etc/ssh_host_key -N ''
fi
if [ -f /etc/ssh_host_dsa_key ]; then
echo "You already have a DSA host key in /etc/ssh_host_dsa_key"
echo "Skipping DSA Key Generation"
else
umask 022
/usr/bin/ssh-keygen -d -f /etc/ssh_host_dsa_key -N ''
fi
}
sshd_precmd()
{
if [ ! -f /etc/ssh_host_key -o ! -f /etc/ssh_host_dsa_key ]; then
/etc/rc.d/sshd keygen
fi
}
keygen_cmd=sshd_keygen
start_precmd=sshd_precmd
load_rc_config $name
run_rc_command "$1"