[pkg-wpa-devel] r1435 - in /wpasupplicant/trunk/debian: changelog ifupdown/functions.sh ifupdown/wpa_action
kelmo-guest at users.alioth.debian.org
kelmo-guest at users.alioth.debian.org
Sun Nov 8 07:03:20 UTC 2009
Author: kelmo-guest
Date: Sun Nov 8 07:02:51 2009
New Revision: 1435
URL: http://svn.debian.org/wsvn/pkg-wpa/?sc=1&rev=1435
Log:
wpa_action shell functions no longer require an ifupdown state file
to function as future providers of ifup/ifdown may not need or
provide it.
Modified:
wpasupplicant/trunk/debian/changelog
wpasupplicant/trunk/debian/ifupdown/functions.sh
wpasupplicant/trunk/debian/ifupdown/wpa_action
Modified: wpasupplicant/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/changelog?rev=1435&op=diff
==============================================================================
--- wpasupplicant/trunk/debian/changelog (original)
+++ wpasupplicant/trunk/debian/changelog Sun Nov 8 07:02:51 2009
@@ -35,8 +35,11 @@
* Add ${misc:Depends} to debian/control for debhelpers to use as required.
* Remove debian/get-git-snapshot and debian/rules target.
* Bump Standards-Version to 3.8.3, no extra changes required.
-
- -- Kel Modderman <kel at otaku42.de> Sun, 01 Nov 2009 21:45:46 +1000
+ * wpa_action shell functions no longer require an ifupdown state file
+ to function as future providers of ifup/ifdown may not need or
+ provide it.
+
+ -- Kel Modderman <kel at otaku42.de> Sun, 08 Nov 2009 16:56:09 +1000
wpasupplicant (0.6.9-3) unstable; urgency=low
Modified: wpasupplicant/trunk/debian/ifupdown/functions.sh
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/ifupdown/functions.sh?rev=1435&op=diff
==============================================================================
--- wpasupplicant/trunk/debian/ifupdown/functions.sh (original)
+++ wpasupplicant/trunk/debian/ifupdown/functions.sh Sun Nov 8 07:02:51 2009
@@ -902,17 +902,40 @@
}
#####################################################################
-## identify ifupdown files
-# Identify ifupdown core files, so that state of the interface can be
-# checked. This is the weakest part of the wpa_action roaming scheme,
-# it would be _much_ better if stateless ifupdown capabilities were
-# a reality.
-#
-ifupdown_check () {
+## ifupdown locking functions
+# A collection of rudimentary locking functions to lock ifup/ifdown
+# actions.
+#
+
+ifupdown_lock () {
+ ln -s lock "$WPA_CLI_IFUPDOWN"
+}
+
+ifupdown_locked () {
+ [ -L "$WPA_CLI_IFUPDOWN" ] && return 0
+
+ return 1
+}
+
+ifupdown_unlock () {
+ rm -f "$WPA_CLI_IFUPDOWN"
+}
+
+#####################################################################
+## apply mapping logic and ifup logical interface
+# Apply mapping logic via id_str or external mapping script, check
+# state of IFACE with respect to ifupdown and ifup logical interaface
+#
+ifup () {
+ local INTERFACES_FILE
+ local IFSTATE_FILE
+ local IFUP_RETVAL
+ local WPA_LOGICAL_IFACE
+
if [ -e /etc/network/interfaces ]; then
INTERFACES_FILE="/etc/network/interfaces"
else
- wpa_msg log "cannot locate ifupdown's \"interfaces\" file, $WPA_IFACE will not be configured"
+ wpa_msg log "/etc/network/interfaces does not exist, $WPA_IFACE will not be configured"
return 1
fi
@@ -923,43 +946,8 @@
# ubuntu's
IFSTATE_FILE="/var/run/network/ifstate"
else
- wpa_msg log "cannot locate ifupdown's \"ifstate\" file, $WPA_IFACE will not be configured"
- return 1
- fi
-
- return 0
-}
-
-ifupdown_status () {
- if grep -s -q "^${WPA_IFACE}=${WPA_LOGICAL_IFACE}" "$IFSTATE_FILE"; then
- return 0
- fi
-
- wpa_msg log "ifdown failed to configure interface $WPA_IFACE"
- return 1
-}
-
-ifupdown_lock () {
- ln -s lock "$WPA_CLI_IFUPDOWN"
-}
-
-ifupdown_locked () {
- [ -L "$WPA_CLI_IFUPDOWN" ] && return 0
-
- return 1
-}
-
-ifupdown_unlock () {
- rm -f "$WPA_CLI_IFUPDOWN"
-}
-
-#####################################################################
-## apply mapping logic and ifup logical interface
-# Apply mapping logic via id_str or external mapping script, check
-# state of IFACE with respect to ifupdown and ifup logical interaface
-#
-ifup () {
- local WPA_LOGICAL_IFACE
+ unset IFSTATE_FILE
+ fi
if [ -z "$IF_WPA_MAPPING_SCRIPT_PRIORITY" ] && [ -n "$WPA_ID_STR" ]; then
WPA_LOGICAL_IFACE="$WPA_ID_STR"
@@ -1003,15 +991,18 @@
ifupdown_lock
- if grep -q "^$WPA_IFACE=$WPA_IFACE" "$IFSTATE_FILE"; then
+ if [ -n "$IFSTATE_FILE" ] && grep -q "^$WPA_IFACE=$WPA_IFACE" "$IFSTATE_FILE"; then
# Force settings over the unconfigured "master" IFACE
/sbin/ifup -v --force "$WPA_IFACE=$WPA_LOGICAL_IFACE"
else
/sbin/ifup -v "$WPA_IFACE=$WPA_LOGICAL_IFACE"
fi
+ IFUP_RETVAL="$?"
ifupdown_unlock
fi
+
+ return "$IFUP_RETVAL"
}
#####################################################################
Modified: wpasupplicant/trunk/debian/ifupdown/wpa_action
URL: http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/trunk/debian/ifupdown/wpa_action?rev=1435&op=diff
==============================================================================
--- wpasupplicant/trunk/debian/ifupdown/wpa_action (original)
+++ wpasupplicant/trunk/debian/ifupdown/wpa_action Sun Nov 8 07:02:51 2009
@@ -40,11 +40,13 @@
"CONNECTED")
wpa_log_env
wpa_hysteresis_check || exit 1
- ifupdown_check || exit 1
wpa_hysteresis_event
- ifup
- wpa_cli status | wpa_msg log
- ifupdown_status || wpa_cli reassociate
+ if ifup; then
+ wpa_cli status | wpa_msg log
+ else
+ wpa_cli status | wpa_msg log
+ wpa_cli reassociate
+ fi
;;
"DISCONNECTED")
More information about the Pkg-wpa-devel
mailing list