meta-stx: re-name and re-org to align with upstream
[pti/rtp.git] / meta-starlingx / meta-stx-integ / recipes-connectivity / openssh / files / stx / sshd.init
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd.init b/meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd.init
new file mode 100755 (executable)
index 0000000..5430632
--- /dev/null
@@ -0,0 +1,192 @@
+#!/bin/bash
+#
+# sshd         Start up the OpenSSH server daemon
+#
+# chkconfig: 2345 55 25
+# description: SSH is a protocol for secure remote shell access. \
+#              This service starts up the OpenSSH server daemon.
+#
+# processname: sshd
+# config: /etc/ssh/ssh_host_key
+# config: /etc/ssh/ssh_host_key.pub
+# config: /etc/ssh/ssh_random_seed
+# config: /etc/ssh/sshd_config
+# pidfile: /var/run/sshd.pid
+
+### BEGIN INIT INFO
+# Provides: sshd
+# Required-Start: $local_fs $network $syslog
+# Required-Stop: $local_fs $syslog
+# Should-Start: $syslog
+# Should-Stop: $network $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start up the OpenSSH server daemon
+# Description:       SSH is a protocol for secure remote shell access.
+#                   This service starts up the OpenSSH server daemon.
+### END INIT INFO
+
+# source function library
+. /etc/init.d/functions
+
+# pull in sysconfig settings
+[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
+
+RETVAL=0
+prog="sshd"
+lockfile=/var/lock/subsys/$prog
+
+# Some functions to make the below more readable
+SSHD=/usr/sbin/sshd
+XPID_FILE=/var/run/sshd.pid
+PID_FILE=/var/run/sshd-s.pid
+
+runlevel=$(set -- $(runlevel); eval "echo \$$#" )
+
+do_restart_sanity_check()
+{
+       $SSHD -t
+       RETVAL=$?
+       if [ $RETVAL -ne  0 ]; then
+               failure $"Configuration file or keys are invalid"
+               echo
+       fi
+}
+
+start()
+{
+       [ -x $SSHD ] || exit 5
+       [ -f /etc/ssh/sshd_config ] || exit 6
+       # Create keys if necessary
+       /usr/sbin/sshd-keygen
+
+        # In rare instances, sshd may be started but a pid
+        # file is not generated. This is seen usually during
+        # system reboot scenarios. A subsequent attempt to start
+        # sshd here will trigger a port bind error. As a sanity
+        # check attempt a kill call (mostly redundant) to any
+        # previously running sshd instance
+        /bin/kill `/bin/pidof "$SSHD"` >/dev/null 2>&1
+
+       echo -n $"Starting $prog: "
+       $SSHD $OPTIONS && success || failure
+       RETVAL=$?
+       [ $RETVAL -eq 0 ] && touch $lockfile
+       [ $RETVAL -eq 0 ] && cp -f $XPID_FILE $PID_FILE
+       echo
+       return $RETVAL
+}
+
+stop()
+{
+
+       echo -n $"Stopping $prog: "
+       if [ ! -f "$PID_FILE" ]; then
+               # not running; per LSB standards this is "ok"
+               action $"Stopping $prog: " /bin/true
+               return 0
+       fi
+       PID=`cat "$PID_FILE"`
+       if [ -n "$PID" ]; then
+               /bin/kill "$PID" >/dev/null 2>&1
+               RETVAL=$?
+               if [ $RETVAL -eq 0 ]; then
+                       RETVAL=1
+                       action $"Stopping $prog: " /bin/false
+               else
+                       action $"Stopping $prog: " /bin/true
+               fi
+       else
+                # failed to read pidfile
+               action $"Stopping $prog: " /bin/false
+               RETVAL=4
+       fi
+       # if we are in halt or reboot runlevel kill all running sessions
+       # so the TCP connections are closed cleanly
+       if [ "x$runlevel" = x0 -o "x$runlevel" = x6 ] ; then
+           trap '' TERM
+           killall $prog 2>/dev/null
+           trap TERM
+       fi
+       [ $RETVAL -eq 0 ] && rm -f $lockfile
+       rm -f "$PID_FILE"
+        return $RETVAL
+}
+
+reload()
+{
+       echo -n $"Reloading $prog: "
+       if [ -n "`pidfileofproc $SSHD`" ] ; then
+           killproc $SSHD -HUP
+       else
+           failure $"Reloading $prog"
+       fi
+       RETVAL=$?
+       echo
+}
+
+restart() {
+       stop
+       start
+}
+
+force_reload() {
+       restart
+}
+
+rh_status() {
+       status -p $PID_FILE openssh-daemon
+}
+
+rh_status_q() {
+       rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+       start)
+               rh_status_q && exit 0
+               start
+               ;;
+       stop)
+               if ! rh_status_q; then
+                       rm -f $lockfile
+                       exit 0
+               fi
+               stop
+               ;;
+       restart)
+               restart
+               ;;
+       reload)
+               rh_status_q || exit 7
+               reload
+               ;;
+       force-reload)
+               force_reload
+               ;;
+       condrestart|try-restart)
+               rh_status_q || exit 0
+               if [ -f $lockfile ] ; then
+                       do_restart_sanity_check
+                       if [ $RETVAL -eq 0 ] ; then
+                               stop
+                               # avoid race
+                               sleep 3
+                               start
+                       else
+                               RETVAL=6
+                       fi
+               fi
+               ;;
+       status)
+               rh_status
+               RETVAL=$?
+               if [ $RETVAL -eq 3 -a -f $lockfile ] ; then
+                       RETVAL=2
+               fi
+               ;;
+       *)
+               echo $"Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}"
+               RETVAL=2
+esac
+exit $RETVAL