summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcontrib/netcfg-auto-wireless (renamed from contrib/netcfg-wireless-auto)0
-rwxr-xr-xsrc/net-profiles26
-rwxr-xr-xsrc/netcfg-menu3
-rw-r--r--src/network.subr6
4 files changed, 19 insertions, 16 deletions
diff --git a/contrib/netcfg-wireless-auto b/contrib/netcfg-auto-wireless
index 036cd12..036cd12 100755
--- a/contrib/netcfg-wireless-auto
+++ b/contrib/netcfg-auto-wireless
diff --git a/src/net-profiles b/src/net-profiles
index 9967b6e..f9c2875 100755
--- a/src/net-profiles
+++ b/src/net-profiles
@@ -20,14 +20,16 @@ case "$1" in
done
# $NET env var is passed from the kernel boot line
- if [ "$NET" = "menu" -o "$NETWORKS" = "menu" ]; then
- /usr/bin/netcfg-menu 5
+ [ ! "$NETWORKS_MENU_TIMEOUT" ] && NETWORKS_MENU_TIMEOUT=5
+
+ if [ "$NET" = "menu" -o "$NETWORKS" = "menu" ]; then
+ /usr/bin/netcfg-menu $NETWORKS_MENU_TIMEOUT
elif [ "$NET" ]; then
/usr/bin/netcfg2 $NET
- elif [ "${NETWORKS[0]}" = "auto" ]; then
- if [ "${NETWORKS[1]}" ]; then
- /usr/bin/netcfg-wireless-auto ${NETWORKS[1]}
- fi
+ elif [ "${NETWORKS[0]}" = "auto-wireless" ]; then
+ if [ "${NETWORKS[1]}" ]; then
+ /usr/bin/netcfg-auto-wireless ${NETWORKS[1]}
+ fi
elif [ "$NETWORKS" ]; then
for prof in ${NETWORKS[@]}; do
if [ "$prof" = "${prof#!}" ]; then
@@ -37,25 +39,17 @@ case "$1" in
fi
add_daemon net-profiles
-
;;
stop)
# shutdown any profiles started by netcfg (or from NET_PROFILES in rc.conf)
- status "Stopping Network Profiles" /usr/bin/netcfg2 -a
+ /usr/bin/netcfg2 -a
rm_daemon net-profiles
;;
restart)
- $0 stop
- /bin/sleep 1
- $0 start
- ;;
- hotplug_ifup|ifup|ifdown|iflist|rtup|rtdown|rtlist)
- $1 $2
+ $0 stop; sleep 1; $0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
- echo " $0 {ifup|ifdown|iflist|rtup|rtdown|rtlist}"
esac
# vim: set ts=2 noet:
-# vim: set ts=4 et sw=4:
diff --git a/src/netcfg-menu b/src/netcfg-menu
index 0970a01..4da1291 100755
--- a/src/netcfg-menu
+++ b/src/netcfg-menu
@@ -4,6 +4,7 @@
. /etc/rc.d/functions
. /usr/lib/network/network.subr
+
# Scan all profiles
i=0
for prof in `find -L $PROFILE_DIR -maxdepth 1 -type f -printf "%f\n"`; do
@@ -23,6 +24,8 @@ if [ ${#profiles} -eq 0 ]; then
fi
# if no default yet, use the first entry
+[ "$NETWORKS_MENU_DEFAULT" ] && DEFAULT="$NETWORKS_MENU_DEFAULT"
+
[ "$DEFAULT" = "" ] && DEFAULT=${profiles[0]}
ANSWER=$(mktemp) || exit 1
diff --git a/src/network.subr b/src/network.subr
index d571e3d..1a86886 100644
--- a/src/network.subr
+++ b/src/network.subr
@@ -112,6 +112,8 @@ profile_up()
set_profile up $1
${CONNECTION}_clean_scope
+
+
add_daemon net-profiles
stat_done
}
@@ -204,6 +206,10 @@ set_profile() {
. $PROFILE_DIR/$2
cp $PROFILE_DIR/$2 $STATE_DIR/profiles/
set_iface up $INTERFACE $2
+
+ rm $PROFILE_DIR/last 2> /dev/null
+ ln -s $PROFILE_DIR/$2 $PROFILE_DIR/last
+
elif [[ "$1" == "down" ]]; then
. $STATE_DIR/profiles/$2
rm $STATE_DIR/profiles/$2