]> andersk Git - gssapi-openssh.git/blobdiff - openssh/contrib/redhat/sshd.init
Release new patch.
[gssapi-openssh.git] / openssh / contrib / redhat / sshd.init
index 4ee8630c3954eb1711d5f4c03a7ece5f2678f116..86b040cda0e1588dd14c117abf0aa4b15145d1fc 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-#
+
 # Init file for OpenSSH server daemon
 #
 # chkconfig: 2345 55 25
 # source function library
 . /etc/rc.d/init.d/functions
 
-# pull in sysconfig settings
 [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
 
 RETVAL=0
-prog="sshd"
 
 # Some functions to make the below more readable
 KEYGEN=/usr/bin/ssh-keygen
-SSHD=/usr/sbin/sshd
 RSA1_KEY=/etc/ssh/ssh_host_key
 RSA_KEY=/etc/ssh/ssh_host_rsa_key
 DSA_KEY=/etc/ssh/ssh_host_dsa_key
 PID_FILE=/var/run/sshd.pid
-
+my_success() {
+  local msg
+  if [ $# -gt 1 ]; then
+    msg="$2"
+  else
+    msg="done"
+  fi
+  case "`type -type success`" in
+    function)
+      success "$1"
+    ;;
+    *)
+      echo -n "${msg}"
+    ;;
+  esac
+}
+my_failure() {
+  local msg
+  if [ $# -gt 1 ]; then
+    msg="$2"
+  else
+    msg="FAILED"
+  fi
+  case "`type -type failure`" in
+    function)
+      failure "$1"
+    ;;
+    *)
+      echo -n "${msg}"
+    ;;
+  esac
+}
 do_rsa1_keygen() {
-       if [ ! -s $RSA1_KEY ]; then
-               echo -n $"Generating SSH1 RSA host key: "
+       if ! test -f $RSA1_KEY ; then
+               echo -n "Generating SSH1 RSA host key: "
                if $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then
-                       chmod 600 $RSA1_KEY
-                       chmod 644 $RSA1_KEY.pub
-                       success $"RSA1 key generation"
+                       my_success "RSA1 key generation"
                        echo
                else
-                       failure $"RSA1 key generation"
+                       my_failure "RSA1 key generation"
                        echo
                        exit 1
                fi
        fi
 }
-
 do_rsa_keygen() {
-       if [ ! -s $RSA_KEY ]; then
-               echo -n $"Generating SSH2 RSA host key: "
+       if ! test -f $RSA_KEY ; then
+               echo -n "Generating SSH2 RSA host key: "
                if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
-                       chmod 600 $RSA_KEY
-                       chmod 644 $RSA_KEY.pub
-                       success $"RSA key generation"
+                       my_success "RSA key generation"
                        echo
                else
-                       failure $"RSA key generation"
+                       my_failure "RSA key generation"
                        echo
                        exit 1
                fi
        fi
 }
-
 do_dsa_keygen() {
-       if [ ! -s $DSA_KEY ]; then
-               echo -n $"Generating SSH2 DSA host key: "
+       if ! test -f $DSA_KEY ; then
+               echo -n "Generating SSH2 DSA host key: "
                if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
-                       chmod 600 $DSA_KEY
-                       chmod 644 $DSA_KEY.pub
-                       success $"DSA key generation"
+                       my_success "DSA key generation"
                        echo
                else
-                       failure $"DSA key generation"
+                       my_failure "DSA key generation"
                        echo
                        exit 1
                fi
        fi
 }
-
-do_restart_sanity_check()
-{
-       $SSHD -t
+do_restart_sanity_check() {
+       sshd -t
        RETVAL=$?
        if [ ! "$RETVAL" = 0 ]; then
-               failure $"Configuration file or keys are invalid"
+               my_failure "Configuration file or keys"
                echo
+               exit $RETVAL
        fi
 }
 
-start()
-{
-       # Create keys if necessary
-       do_rsa1_keygen
-       do_rsa_keygen
-       do_dsa_keygen
-
-       echo -n $"Starting $prog:"
-       initlog -c "$SSHD $OPTIONS" && success || failure
-       RETVAL=$?
-       [ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd
-       echo
-}
-
-stop()
-{
-       echo -n $"Stopping $prog:"
-       killproc $SSHD -TERM
-       RETVAL=$?
-       [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/sshd
-       echo
-}
-
-reload()
-{
-       echo -n $"Reloading $prog:"
-       killproc $SSHD -HUP
-       RETVAL=$?
-       echo
-}
 
 case "$1" in
        start)
-               start
+               # Create keys if necessary
+               do_rsa1_keygen;
+               do_rsa_keygen;
+               do_dsa_keygen;
+               
+               echo -n "Starting sshd: "
+               if [ ! -f $PID_FILE ] ; then
+                       sshd $OPTIONS
+                       RETVAL=$?
+                       if [ "$RETVAL" = "0" ] ; then
+                               my_success "sshd startup" "sshd"
+                               touch /var/lock/subsys/sshd
+                       else
+                               my_failure "sshd startup" ""
+                       fi
+               fi
+               echo
                ;;
        stop)
-               stop
+               echo -n "Shutting down sshd: "
+               if [ -f $PID_FILE ] ; then
+                       killproc sshd
+                       RETVAL=$?
+                       [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sshd
+               fi
+               echo
                ;;
        restart)
-               stop
-               start
-               ;;
-       reload)
-               reload
+               do_restart_sanity_check
+               $0 stop
+               $0 start
+               RETVAL=$?
                ;;
        condrestart)
                if [ -f /var/lock/subsys/sshd ] ; then
                        do_restart_sanity_check
-                       if [ "$RETVAL" = 0 ] ; then
-                               stop
-                               # avoid race
-                               sleep 3
-                               start
-                       fi
+                       $0 stop
+                       $0 start
+                       RETVAL=$?
                fi
                ;;
        status)
-               status $SSHD
+               status sshd
                RETVAL=$?
                ;;
        *)
-               echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
-               RETVAL=1
+               echo "Usage: sshd {start|stop|restart|status|condrestart}"
+               exit 1
+               ;;
 esac
+
 exit $RETVAL
This page took 0.318359 seconds and 4 git commands to generate.