1157016Sdes#!@STARTUP_SCRIPT_SHELL@ 2137015Sdes# Donated code that was put under PD license. 3137015Sdes# 4137015Sdes# Stripped PRNGd out of it for the time being. 5137015Sdes 6137015Sdesumask 022 7137015Sdes 8137015SdesCAT=@CAT@ 9137015SdesKILL=@KILL@ 10137015Sdes 11137015Sdesprefix=@prefix@ 12137015Sdessysconfdir=@sysconfdir@ 13137015Sdespiddir=@piddir@ 14137015Sdes 15137015SdesSSHD=$prefix/sbin/sshd 16137015SdesPIDFILE=$piddir/sshd.pid 17204861SdesPidFile=`grep "^PidFile" ${sysconfdir}/sshd_config | tr "=" " " | awk '{print $2}'` 18204861Sdes[ X$PidFile = X ] || PIDFILE=$PidFile 19137015SdesSSH_KEYGEN=$prefix/bin/ssh-keygen 20137015SdesHOST_KEY_RSA1=$sysconfdir/ssh_host_key 21137015SdesHOST_KEY_DSA=$sysconfdir/ssh_host_dsa_key 22137015SdesHOST_KEY_RSA=$sysconfdir/ssh_host_rsa_key 23218767Sdes@COMMENT_OUT_ECC@HOST_KEY_ECDSA=$sysconfdir/ssh_host_ecdsa_key 24137015Sdes 25137015Sdes 26137015Sdescheckkeys() { 27137015Sdes if [ ! -f $HOST_KEY_RSA1 ]; then 28137015Sdes ${SSH_KEYGEN} -t rsa1 -f ${HOST_KEY_RSA1} -N "" 29137015Sdes fi 30137015Sdes if [ ! -f $HOST_KEY_DSA ]; then 31137015Sdes ${SSH_KEYGEN} -t dsa -f ${HOST_KEY_DSA} -N "" 32137015Sdes fi 33137015Sdes if [ ! -f $HOST_KEY_RSA ]; then 34137015Sdes ${SSH_KEYGEN} -t rsa -f ${HOST_KEY_RSA} -N "" 35137015Sdes fi 36218767Sdes@COMMENT_OUT_ECC@ if [ ! -f $HOST_KEY_ECDSA ]; then 37218767Sdes@COMMENT_OUT_ECC@ ${SSH_KEYGEN} -t ecdsa -f ${HOST_KEY_ECDSA} -N "" 38218767Sdes@COMMENT_OUT_ECC@ fi 39137015Sdes} 40137015Sdes 41137015Sdesstop_service() { 42137015Sdes if [ -r $PIDFILE -a ! -z ${PIDFILE} ]; then 43137015Sdes PID=`${CAT} ${PIDFILE}` 44137015Sdes fi 45137015Sdes if [ ${PID:=0} -gt 1 -a ! "X$PID" = "X " ]; then 46137015Sdes ${KILL} ${PID} 47137015Sdes else 48137015Sdes echo "Unable to read PID file" 49137015Sdes fi 50137015Sdes} 51137015Sdes 52137015Sdesstart_service() { 53137015Sdes # XXX We really should check if the service is already going, but 54137015Sdes # XXX we will opt out at this time. - Bal 55137015Sdes 56137015Sdes # Check to see if we have keys that need to be made 57137015Sdes checkkeys 58137015Sdes 59137015Sdes # Start SSHD 60137015Sdes echo "starting $SSHD... \c" ; $SSHD 61137015Sdes 62137015Sdes sshd_rc=$? 63137015Sdes if [ $sshd_rc -ne 0 ]; then 64137015Sdes echo "$0: Error ${sshd_rc} starting ${SSHD}... bailing." 65137015Sdes exit $sshd_rc 66137015Sdes fi 67137015Sdes echo done. 68137015Sdes} 69137015Sdes 70137015Sdescase $1 in 71137015Sdes 72137015Sdes'start') 73137015Sdes start_service 74137015Sdes ;; 75137015Sdes 76137015Sdes'stop') 77137015Sdes stop_service 78137015Sdes ;; 79137015Sdes 80137015Sdes'restart') 81137015Sdes stop_service 82137015Sdes start_service 83137015Sdes ;; 84137015Sdes 85137015Sdes*) 86137015Sdes echo "$0: usage: $0 {start|stop|restart}" 87137015Sdes ;; 88137015Sdesesac 89