X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=opensshd.init;h=02dbb085d6b5de40290b69f31cf668aa6204137a;hb=ace6f67b4ad85fc7cdf08ea0988aad6e47032e48;hp=df9599d3be3303082909993258202775e816c65b;hpb=3cd7ffe2458b1d17a2b4db2ed07c6c43ed5aea35;p=packages%2Fopenssh.git diff --git a/opensshd.init b/opensshd.init index df9599d..02dbb08 100644 --- a/opensshd.init +++ b/opensshd.init @@ -11,6 +11,8 @@ # Source function library . /etc/rc.d/init.d/functions +upstart_controlled --except init configtest + # Get network config . /etc/sysconfig/network @@ -38,6 +40,7 @@ adjust_oom() { } checkconfig() { + ssh_gen_keys /usr/sbin/sshd -t || exit 1 } @@ -72,7 +75,6 @@ start() { return fi - ssh_gen_keys checkconfig if [ ! -s /etc/ssh/ssh_host_key ]; then @@ -122,7 +124,17 @@ reload() { RETVAL=$? } -upstart_controlled --except init configtest +condrestart() { + if [ ! -f /var/lock/subsys/sshd ]; then + msg_not_running "OpenSSH" + RETVAL=$1 + return + fi + + checkconfig + stop + start +} RETVAL=0 # See how we were called. @@ -138,6 +150,9 @@ case "$1" in stop start ;; + try-restart) + condrestart 0 + ;; reload|force-reload) reload ;; @@ -155,7 +170,7 @@ case "$1" in exit $? ;; *) - msg_usage "$0 {start|stop|restart|reload|force-reload|configtest|init|status}" + msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|configtest|init|status}" exit 3 esac