about summary refs log tree commit diff
path: root/debian/network-manager-dispatcher.script
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2010-11-29 00:48:02 +0100
committerMichael Biebl <biebl@debian.org>2010-11-29 00:48:02 +0100
commite2123f8ef48519892659c90f64f588a7b24069ee (patch)
treef87005bd6dc2a3edc6db3dd7b0ebdb05fdb17265 /debian/network-manager-dispatcher.script
parent9fae01fa351805b2903e535736e06971bc0b925e (diff)
parenta38c18be91a727db6daf6055a2ed7996f148c8aa (diff)
Merge remote branch 'svn/master'
Diffstat (limited to 'debian/network-manager-dispatcher.script')
-rw-r--r--debian/network-manager-dispatcher.script49
1 files changed, 49 insertions, 0 deletions
diff --git a/debian/network-manager-dispatcher.script b/debian/network-manager-dispatcher.script
new file mode 100644
index 00000000..9cd12d06
--- /dev/null
+++ b/debian/network-manager-dispatcher.script
@@ -0,0 +1,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