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