diff options
Diffstat (limited to 'package/netplug/netplug-script')
-rwxr-xr-x | package/netplug/netplug-script | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/package/netplug/netplug-script b/package/netplug/netplug-script new file mode 100755 index 000000000..1af714d69 --- /dev/null +++ b/package/netplug/netplug-script @@ -0,0 +1,57 @@ +#!/bin/sh +# +# netplug - policy agent for netplugd +# +# Copyright 2003 Key Research, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License, version 2, as +# published by the Free Software Foundation. You are forbidden from +# redistributing or modifying it under the terms of any other license, +# including other versions of the GNU General Public License. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + + +PATH=/usr/bin:/bin:/usr/sbin:/sbin +export PATH + +dev="$1" +action="$2" + +case "$action" in +in) + if [ -x /sbin/ifup ]; then + exec /sbin/ifup $dev + else + echo "Please teach me how to plug in an interface!" 1>&2 + exit 1 + fi + ;; +out) + if [ -x /sbin/ifdown ]; then + # At least on Fedora Core 1, the call to ip addr flush infloops + # /sbin/ifdown $dev && exec /sbin/ip addr flush $dev + exec /sbin/ifdown $dev + else + echo "Please teach me how to unplug an interface!" 1>&2 + exit 1 + fi + ;; +probe) + # exec /sbin/ip link set $dev up >/dev/null 2>&1 + if [ -x /sbin/ifconfig ]; then + exec /sbin/ifconfig $dev up >/dev/null 2>&1 + else + echo "Failed to probe an interface!" 1>&2 + exit 1 + fi + ;; +*) + echo "I have been called with a funny action of '%s'!" 1>&2 + exit 1 + ;; +esac |