opensshd.init.in revision 137015
197403Sobrien#!/sbin/sh
297403Sobrien# Donated code that was put under PD license.
3169691Skan#
4117397Skan# Stripped PRNGd out of it for the time being.
597403Sobrien
697403Sobrienumask 022
797403Sobrien
897403SobrienCAT=@CAT@
997403SobrienKILL=@KILL@
1097403Sobrien
1197403Sobrienprefix=@prefix@
1297403Sobriensysconfdir=@sysconfdir@
1397403Sobrienpiddir=@piddir@
1497403Sobrien
1597403SobrienSSHD=$prefix/sbin/sshd
1697403SobrienPIDFILE=$piddir/sshd.pid
1797403SobrienSSH_KEYGEN=$prefix/bin/ssh-keygen
1897403SobrienHOST_KEY_RSA1=$sysconfdir/ssh_host_key
19169691SkanHOST_KEY_DSA=$sysconfdir/ssh_host_dsa_key
2097403SobrienHOST_KEY_RSA=$sysconfdir/ssh_host_rsa_key
2197403Sobrien
2297403Sobrien
2397403Sobriencheckkeys() {
2497403Sobrien    if [ ! -f $HOST_KEY_RSA1 ]; then
2597403Sobrien	${SSH_KEYGEN} -t rsa1 -f ${HOST_KEY_RSA1} -N ""
2697403Sobrien    fi
2797403Sobrien    if [ ! -f $HOST_KEY_DSA ]; then
2897403Sobrien	${SSH_KEYGEN} -t dsa -f ${HOST_KEY_DSA} -N ""
2997403Sobrien    fi
3097403Sobrien    if [ ! -f $HOST_KEY_RSA ]; then
3197403Sobrien	${SSH_KEYGEN} -t rsa -f ${HOST_KEY_RSA} -N ""
3297403Sobrien    fi
3397403Sobrien}
3497403Sobrien
3597403Sobrienstop_service() {
36132720Skan    if [  -r $PIDFILE  -a  ! -z ${PIDFILE}  ]; then
37132720Skan	PID=`${CAT} ${PIDFILE}`
3897403Sobrien    fi
3997403Sobrien    if [  ${PID:=0} -gt 1 -a  ! "X$PID" = "X "  ]; then
4097403Sobrien	${KILL} ${PID}
4197403Sobrien    else
42117397Skan	echo "Unable to read PID file"
43117397Skan    fi
4497403Sobrien}
4597403Sobrien
46169691Skanstart_service() {
47169691Skan    # XXX We really should check if the service is already going, but
4897403Sobrien    # XXX we will opt out at this time. - Bal
49117397Skan
50117397Skan    # Check to see if we have keys that need to be made
51117397Skan    checkkeys
52117397Skan
53117397Skan    # Start SSHD
54117397Skan    echo "starting $SSHD... \c"         ; $SSHD
5597403Sobrien
5697403Sobrien    sshd_rc=$?
5797403Sobrien    if [ $sshd_rc -ne 0 ]; then
5897403Sobrien	echo "$0: Error ${sshd_rc} starting ${SSHD}... bailing."
59117397Skan	exit $sshd_rc
60117397Skan    fi
61117397Skan    echo done.
62117397Skan}
63117397Skan
64117397Skancase $1 in
65117397Skan
66117397Skan'start')
67117397Skan    start_service
68117397Skan    ;;
69117397Skan
70117397Skan'stop')
7197403Sobrien    stop_service
72117397Skan    ;;
73117397Skan
74117397Skan'restart')
75117397Skan    stop_service
76117397Skan    start_service
77117397Skan    ;;
78117397Skan
79132720Skan*)
80132720Skan    echo "$0:  usage:  $0 {start|stop|restart}"
81132720Skan    ;;
82132720Skanesac
83117397Skan