blob: 871493068615f0b6dd159dae9a09a8a49d2f5d2e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#! /bin/sh
# Reload the OpenSSH server when an interface comes up, to allow it to start
# listening on new addresses.
set -e
# Don't bother to restart sshd when lo is configured.
if [ "$IFACE" = lo ]; then
exit 0
fi
# Only run from ifup.
if [ "$MODE" != start ]; then
exit 0
fi
# OpenSSH only cares about inet and inet6. Get ye gone, strange people
# still using ipx.
if [ "$ADDRFAM" != inet ] && [ "$ADDRFAM" != inet6 ]; then
exit 0
fi
# Is /usr mounted?
if [ ! -e /usr/sbin/sshd ]; then
exit 0
fi
if [ ! -f /var/run/sshd.pid ] || \
[ "$(ps -p "$(cat /var/run/sshd.pid)" -o comm=)" != sshd ]; then
exit 0
fi
case '@DISTRIBUTOR@' in
Ubuntu)
# Both init script and Upstart job are present; we want to operate
# on the Upstart job.
stop ssh || true
start ssh || true
;;
*)
# We'd like to use 'reload' here, but it has some problems; see
# #502444.
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d ssh restart >/dev/null 2>&1 || true
else
/etc/init.d/ssh restart >/dev/null 2>&1 || true
fi
;;
esac
exit 0
|