]>
Commit | Line | Data |
---|---|---|
6e464960 | 1 | #!/sbin/sh |
2 | # Donated code that was put under PD license. | |
3 | # | |
4 | # Stripped PRNGd out of it for the time being. | |
5 | ||
17d429bb | 6 | umask 022 |
7 | ||
6e464960 | 8 | CAT=/usr/bin/cat |
6e464960 | 9 | KILL=/usr/bin/kill |
6e464960 | 10 | |
78c84f13 | 11 | prefix=%%openSSHDir%% |
12 | etcdir=%%configDir%% | |
09a3bd6d | 13 | piddir=%%pidDir%% |
6e464960 | 14 | |
78c84f13 | 15 | SSHD=$prefix/sbin/sshd |
09a3bd6d | 16 | PIDFILE=$piddir/sshd.pid |
78c84f13 | 17 | SSH_KEYGEN=$prefix/bin/ssh-keygen |
18 | HOST_KEY_RSA1=$etcdir/ssh_host_key | |
19 | HOST_KEY_DSA=$etcdir/ssh_host_dsa_key | |
20 | HOST_KEY_RSA=$etcdir/ssh_host_rsa_key | |
6e464960 | 21 | |
6e464960 | 22 | |
23 | checkkeys() { | |
24 | if [ ! -f $HOST_KEY_RSA1 ]; then | |
aff51935 | 25 | ${SSH_KEYGEN} -t rsa1 -f ${HOST_KEY_RSA1} -N "" |
6e464960 | 26 | fi |
27 | if [ ! -f $HOST_KEY_DSA ]; then | |
aff51935 | 28 | ${SSH_KEYGEN} -t dsa -f ${HOST_KEY_DSA} -N "" |
6e464960 | 29 | fi |
30 | if [ ! -f $HOST_KEY_RSA ]; then | |
aff51935 | 31 | ${SSH_KEYGEN} -t rsa -f ${HOST_KEY_RSA} -N "" |
6e464960 | 32 | fi |
33 | } | |
34 | ||
35 | stop_service() { | |
36 | if [ -r $PIDFILE -a ! -z ${PIDFILE} ]; then | |
aff51935 | 37 | PID=`${CAT} ${PIDFILE}` |
6e464960 | 38 | fi |
39 | if [ ${PID:=0} -gt 1 -a ! "X$PID" = "X " ]; then | |
aff51935 | 40 | ${KILL} ${PID} |
6e464960 | 41 | else |
aff51935 | 42 | echo "Unable to read PID file" |
6e464960 | 43 | fi |
44 | } | |
45 | ||
46 | start_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 | |
aff51935 | 58 | echo "$0: Error ${sshd_rc} starting ${SSHD}... bailing." |
59 | exit $sshd_rc | |
6e464960 | 60 | fi |
61 | echo done. | |
62 | } | |
63 | ||
64 | case $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 | ;; | |
82 | esac |