summaryrefslogtreecommitdiffstats
path: root/rc.d/net-profiles
diff options
context:
space:
mode:
Diffstat (limited to 'rc.d/net-profiles')
-rwxr-xr-xrc.d/net-profiles54
1 files changed, 13 insertions, 41 deletions
diff --git a/rc.d/net-profiles b/rc.d/net-profiles
index f8c0992..66f0851 100755
--- a/rc.d/net-profiles
+++ b/rc.d/net-profiles
@@ -1,9 +1,10 @@
#!/bin/bash
+#
+# This script utilizes netcfg-daemon.
. /etc/rc.conf
. /etc/rc.d/functions
. /usr/lib/network/globals
-. /etc/conf.d/netcfg
case "$1" in
start)
@@ -21,64 +22,35 @@ case "$1" in
done
# $NET env var is passed from the kernel boot line
- [[ -z "$NETWORKS_MENU_TIMEOUT" ]] && NETWORKS_MENU_TIMEOUT=5
-
if [[ "$NET" = "menu" ]]; then
- if /usr/bin/netcfg-menu "$NETWORKS_MENU_TIMEOUT"; then
- mv "$STATE_DIR"/{menu,net-profiles} # JP: user may want to disconnect profile by calling net-profiles stop
+ if /usr/bin/netcfg-menu; then
+ mv "$STATE_DIR"/{menu,netcfg-daemon} # JP: user may want to disconnect profile by calling net-profiles stop
add_daemon net-profiles
exit 0
fi
elif [[ -n "$NET" ]]; then
if /usr/bin/netcfg check-iface "$NET"; then
- echo "$NET" > "$STATE_DIR/net-profiles" # JP: user may want to disconnect profile by calling net-profiles stop
- add_daemon net-profiles
- exit 0
- fi
- elif [[ $NETWORKS = "menu" ]]; then
- if /usr/bin/netcfg-menu "$NETWORKS_MENU_TIMEOUT"; then
- mv "$STATE_DIR"/menu "$STATE_DIR"/net-profiles
+ echo "$NET" > "$STATE_DIR/netcfg-daemon" # JP: user may want to disconnect profile by calling net-profiles stop
add_daemon net-profiles
exit 0
fi
+ elif /usr/bin/netcfg-daemon start; then
+ add_daemon net-profiles
else
- # No NET= passed at boot, go to NETWORKS=()
- for network in "${NETWORKS[@]}"; do
- if [[ "$network" = "${network#@}" ]]; then
- if /usr/bin/netcfg check-iface "$network"; then
- echo "$network" >> "$STATE_DIR/net-profiles"
- add_daemon net-profiles
- fi
- else
- # It is up to the user to make sure no backgrounded profile
- # uses an interface that is used by another active profile.
- if /usr/bin/netcfg "${network#@}"; then
- echo "${network#@}" >> "$STATE_DIR/net-profiles"
- add_daemon net-profiles
- fi >/dev/null &
- PROFILE_BKGD=1
- fi
- done
- fi
- if [[ ! -f "$STATE_DIR"/net-profiles && -z "$PROFILE_BKGD" ]]; then
- exit_err "No profile started." # JP: don't add_daemon unless we were successful (above)
+ exit_err "No profile started."
fi
;;
stop)
if ck_daemon net-profiles; then
- exit_stderr "net-profiles not running"
+ exit_stderr "net-profiles is not running"
fi
-
- # shutdown any profiles started by netcfg (or from NET_PROFILES in rc.conf)
- # JP: only attempt to disconnect the profiles _this daemon_ was told to control
- while read profile; do
- /usr/bin/netcfg down "$profile"
- done < "$STATE_DIR/net-profiles"
- rm -f "$STATE_DIR/net-profiles"
+ /usr/bin/netcfg-daemon stop
rm_daemon net-profiles
;;
restart)
- "$0" stop; sleep 1; "$0" start
+ "$0" stop
+ sleep 1
+ "$0" start
;;
*)
exit_stderr "Usage: $0 {start|stop|restart}"