summaryrefslogtreecommitdiff
path: root/debian/openssh-server.ssh.init.in
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2013-05-22 01:45:40 +0100
committerColin Watson <cjwatson@debian.org>2013-05-22 01:45:40 +0100
commit6e950945da7a2acbb48fa4138208018f09d66991 (patch)
tree1e99c1fb54755277a8c441cf503b71bb2c5be748 /debian/openssh-server.ssh.init.in
parentafd3292952a9f0bb107046785ddcfad446d69b89 (diff)
Switch to new unified layout for Upstart jobs as documented in
https://wiki.ubuntu.com/UpstartCompatibleInitScripts: the init script checks for a running Upstart, and we now let dh_installinit handle most of the heavy lifting in maintainer scripts. Ubuntu users should be essentially unaffected except that sshd may no longer start automatically in chroots if the running Upstart predates 0.9.0; but the main goal is simply not to break when openssh-server is installed in a chroot.
Diffstat (limited to 'debian/openssh-server.ssh.init.in')
-rw-r--r--debian/openssh-server.ssh.init.in171
1 files changed, 0 insertions, 171 deletions
diff --git a/debian/openssh-server.ssh.init.in b/debian/openssh-server.ssh.init.in
deleted file mode 100644
index e24cb1bed..000000000
--- a/debian/openssh-server.ssh.init.in
+++ /dev/null
@@ -1,171 +0,0 @@
1#! /bin/sh
2
3### BEGIN INIT INFO
4# Provides: sshd
5# Required-Start: $remote_fs $syslog
6# Required-Stop: $remote_fs $syslog
7# Default-Start: 2 3 4 5
8# Default-Stop:
9# Short-Description: OpenBSD Secure Shell server
10### END INIT INFO
11
12set -e
13
14# /etc/init.d/ssh: start and stop the OpenBSD "secure shell(tm)" daemon
15
16test -x /usr/sbin/sshd || exit 0
17( /usr/sbin/sshd -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0
18
19case '@DISTRIBUTOR@' in
20 Ubuntu)
21 # The init.d script is only for chroots.
22 if [ -e /etc/init/ssh.conf ] && ! ischroot; then
23 exec /lib/init/upstart-job ssh "$@"
24 fi
25 ;;
26esac
27
28umask 022
29
30if test -f /etc/default/ssh; then
31 . /etc/default/ssh
32fi
33
34. /lib/lsb/init-functions
35
36if [ -n "$2" ]; then
37 SSHD_OPTS="$SSHD_OPTS $2"
38fi
39
40# Are we running from init?
41run_by_init() {
42 ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]
43}
44
45check_for_no_start() {
46 # forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists
47 if [ -e /etc/ssh/sshd_not_to_be_run ]; then
48 if [ "$1" = log_end_msg ]; then
49 log_end_msg 0 || true
50 fi
51 if ! run_by_init; then
52 log_action_msg "OpenBSD Secure Shell server not in use (/etc/ssh/sshd_not_to_be_run)" || true
53 fi
54 exit 0
55 fi
56}
57
58check_dev_null() {
59 if [ ! -c /dev/null ]; then
60 if [ "$1" = log_end_msg ]; then
61 log_end_msg 1 || true
62 fi
63 if ! run_by_init; then
64 log_action_msg "/dev/null is not a character device!" || true
65 fi
66 exit 1
67 fi
68}
69
70check_privsep_dir() {
71 # Create the PrivSep empty dir if necessary
72 if [ ! -d /var/run/sshd ]; then
73 mkdir /var/run/sshd
74 chmod 0755 /var/run/sshd
75 fi
76}
77
78check_config() {
79 if [ ! -e /etc/ssh/sshd_not_to_be_run ]; then
80 /usr/sbin/sshd $SSHD_OPTS -t || exit 1
81 fi
82}
83
84export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
85
86case "$1" in
87 start)
88 check_privsep_dir
89 check_for_no_start
90 check_dev_null
91 log_daemon_msg "Starting OpenBSD Secure Shell server" "sshd" || true
92 if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then
93 log_end_msg 0 || true
94 else
95 log_end_msg 1 || true
96 fi
97 ;;
98 stop)
99 log_daemon_msg "Stopping OpenBSD Secure Shell server" "sshd" || true
100 if start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid; then
101 log_end_msg 0 || true
102 else
103 log_end_msg 1 || true
104 fi
105 ;;
106
107 reload|force-reload)
108 check_for_no_start
109 check_config
110 log_daemon_msg "Reloading OpenBSD Secure Shell server's configuration" "sshd" || true
111 if start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd; then
112 log_end_msg 0 || true
113 else
114 log_end_msg 1 || true
115 fi
116 ;;
117
118 restart)
119 check_privsep_dir
120 check_config
121 log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true
122 start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/sshd.pid
123 check_for_no_start log_end_msg
124 check_dev_null log_end_msg
125 if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then
126 log_end_msg 0 || true
127 else
128 log_end_msg 1 || true
129 fi
130 ;;
131
132 try-restart)
133 check_privsep_dir
134 check_config
135 log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true
136 RET=0
137 start-stop-daemon --stop --quiet --retry 30 --pidfile /var/run/sshd.pid || RET="$?"
138 case $RET in
139 0)
140 # old daemon stopped
141 check_for_no_start log_end_msg
142 check_dev_null log_end_msg
143 if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then
144 log_end_msg 0 || true
145 else
146 log_end_msg 1 || true
147 fi
148 ;;
149 1)
150 # daemon not running
151 log_progress_msg "(not running)" || true
152 log_end_msg 0 || true
153 ;;
154 *)
155 # failed to stop
156 log_progress_msg "(failed to stop)" || true
157 log_end_msg 1 || true
158 ;;
159 esac
160 ;;
161
162 status)
163 status_of_proc -p /var/run/sshd.pid /usr/sbin/sshd sshd && exit 0 || exit $?
164 ;;
165
166 *)
167 log_action_msg "Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart|try-restart|status}" || true
168 exit 1
169esac
170
171exit 0