source: trunk/third/openssh/opensshd.init.in @ 22570

Revision 22570, 1.5 KB checked in by ghudson, 18 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r22569, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1#!/sbin/sh
2# Donated code that was put under PD license.
3#
4# Stripped PRNGd out of it for the time being.
5
6umask 022
7
8CAT=@CAT@
9KILL=@KILL@
10
11prefix=@prefix@
12sysconfdir=@sysconfdir@
13piddir=@piddir@
14
15SSHD=$prefix/sbin/sshd
16PIDFILE=$piddir/sshd.pid
17SSH_KEYGEN=$prefix/bin/ssh-keygen
18HOST_KEY_RSA1=$sysconfdir/ssh_host_key
19HOST_KEY_DSA=$sysconfdir/ssh_host_dsa_key
20HOST_KEY_RSA=$sysconfdir/ssh_host_rsa_key
21
22
23checkkeys() {
24    if [ ! -f $HOST_KEY_RSA1 ]; then
25        ${SSH_KEYGEN} -t rsa1 -f ${HOST_KEY_RSA1} -N ""
26    fi
27    if [ ! -f $HOST_KEY_DSA ]; then
28        ${SSH_KEYGEN} -t dsa -f ${HOST_KEY_DSA} -N ""
29    fi
30    if [ ! -f $HOST_KEY_RSA ]; then
31        ${SSH_KEYGEN} -t rsa -f ${HOST_KEY_RSA} -N ""
32    fi
33}
34
35stop_service() {
36    if [  -r $PIDFILE  -a  ! -z ${PIDFILE}  ]; then
37        PID=`${CAT} ${PIDFILE}`
38    fi
39    if [  ${PID:=0} -gt 1 -a  ! "X$PID" = "X "  ]; then
40        ${KILL} ${PID}
41    else
42        echo "Unable to read PID file"
43    fi
44}
45
46start_service() {
47    # XXX We really should check if the service is already going, but
48    # XXX we will opt out at this time. - Bal
49
50    # Check to see if we have keys that need to be made
51    checkkeys
52
53    # Start SSHD
54    echo "starting $SSHD... \c"         ; $SSHD
55
56    sshd_rc=$?
57    if [ $sshd_rc -ne 0 ]; then
58        echo "$0: Error ${sshd_rc} starting ${SSHD}... bailing."
59        exit $sshd_rc
60    fi
61    echo done.
62}
63
64case $1 in
65
66'start')
67    start_service
68    ;;
69
70'stop')
71    stop_service
72    ;;
73
74'restart')
75    stop_service
76    start_service
77    ;;
78
79*)
80    echo "$0:  usage:  $0 {start|stop|restart}"
81    ;;
82esac
Note: See TracBrowser for help on using the repository browser.