summaryrefslogtreecommitdiff
path: root/debian/openssh-server.if-up
diff options
context:
space:
mode:
Diffstat (limited to 'debian/openssh-server.if-up')
-rw-r--r--debian/openssh-server.if-up40
1 files changed, 40 insertions, 0 deletions
diff --git a/debian/openssh-server.if-up b/debian/openssh-server.if-up
new file mode 100644
index 000000000..ce5d4dd17
--- /dev/null
+++ b/debian/openssh-server.if-up
@@ -0,0 +1,40 @@
1#! /bin/sh
2# Reload the OpenSSH server when an interface comes up, to allow it to start
3# listening on new addresses.
4
5set -e
6
7# Don't bother to restart sshd when lo is configured.
8if [ "$IFACE" = lo ]; then
9 exit 0
10fi
11
12# Only run from ifup.
13if [ "$MODE" != start ]; then
14 exit 0
15fi
16
17# OpenSSH only cares about inet and inet6. Get ye gone, strange people
18# still using ipx.
19if [ "$ADDRFAM" != inet ] && [ "$ADDRFAM" != inet6 ]; then
20 exit 0
21fi
22
23# Is /usr mounted?
24if [ ! -e /usr/sbin/sshd ]; then
25 exit 0
26fi
27
28if [ ! -f /var/run/sshd.pid ] || \
29 [ "$(ps -p "$(cat /var/run/sshd.pid)" -o comm=)" != sshd ]; then
30 exit 0
31fi
32
33# We'd like to use 'reload' here, but it has some problems; see #502444.
34if [ -x /usr/sbin/invoke-rc.d ]; then
35 invoke-rc.d ssh restart >/dev/null 2>&1 || true
36else
37 /etc/init.d/ssh restart >/dev/null 2>&1 || true
38fi
39
40exit 0