[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