diff options
Diffstat (limited to 'debian/network-manager-dispatcher.script')
| -rw-r--r-- | debian/network-manager-dispatcher.script | 49 |
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 |