summary refs log tree commit diff
path: root/debian/network-manager-dispatcher.script
blob: 9cd12d068fbb04fc32d34d6eba2d8858147d478b (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
#!/bin/sh -e
# Script to dispatch NetworkManager events
#
# Runs ifupdown scripts when NetworkManager fiddles with interfaces.
# See NetworkManager(8) for further documentation of the dispatcher events.

if [ -z "$1" ]; then
    echo "$0: called with no interface" 1>&2
    exit 1;
fi

# Fake ifupdown environment
export IFACE="$1"
export LOGICAL="$1"
export ADDRFAM="NetworkManager"
export METHOD="NetworkManager"
export VERBOSITY="0"

# Run the right scripts
case "$2" in
    up|vpn-up)
	export MODE="start"
	export PHASE="post-up"
	exec run-parts /etc/network/if-up.d
	;;
    down|vpn-down)
	export MODE="stop"
	export PHASE="post-down"
	exec run-parts /etc/network/if-post-down.d
	;;
# pre-up/pre-down not implemented. See
# https://bugzilla.gnome.org/show_bug.cgi?id=387832
#    pre-up)
#	export MODE="start"
#	export PHASE="pre-up"
#	exec run-parts /etc/network/if-pre-up.d
#	;;
#    pre-down)
#	export MODE="stop"
#	export PHASE="pre-down"
#	exec run-parts /etc/network/if-down.d
#	;;
    hostname)
	;;
    *)
	echo "$0: called with unknown action \`$2'" 1>&2
	exit 1
	;;
esac