[Guessnet-devel] [svn] r113 - in trunk: debian scripts
Thomas Hood
guessnet-devel@lists.alioth.debian.org
Mon, 02 May 2005 12:12:04 +0000
Author: jdthood-guest
Date: Mon May 2 12:12:03 2005
New Revision: 113
Modified:
trunk/debian/changelog
trunk/scripts/test-wireless-ap
Log:
Fix test-wireless-ap
Modified: trunk/debian/changelog
==============================================================================
--- trunk/debian/changelog (original)
+++ trunk/debian/changelog Mon May 2 12:12:03 2005
@@ -4,6 +4,7 @@
uses the ip command (Closes: #294346)
* Remove resolvconf-related material from /etc/network/interfaces
example stanzas (Closes: #297836)
+ * Make test-wireless-ap handle MAC properly (Closes: #286835)
-- Thomas Hood <jdthood@yahoo.co.uk> Wed, 2 May 2005 12:00:00 +0200
Modified: trunk/scripts/test-wireless-ap
==============================================================================
--- trunk/scripts/test-wireless-ap (original)
+++ trunk/scripts/test-wireless-ap Mon May 2 12:12:03 2005
@@ -14,6 +14,7 @@
# Licensed under the GNU GPL. See /usr/share/common-licenses/GPL.
#
# History
+# May 2005: Bugs fixed by Christoph Biedl and Thomas Hood
# Nov 2003: Modified by Thomas Hood and Klaus Wacker
# July 2003: Modified by Thomas Hood to support Aironet cards
# June 2003: Modified by John Fettig <jfettig@uiuc.edu>
@@ -26,6 +27,9 @@
MYNAME="$(basename $0)"
PATH=/sbin:/bin
+ESSID=""
+MAC_ADDRESS=""
+
report_err() { echo "${MYNAME}: Error: $*" >&2 ; }
do_sleep() { LANG=C sleep "$@" ; }
@@ -38,7 +42,7 @@
extract_ESSID()
{
while [ "$1" ] ; do
- [ "$1" != "essid" ] || { ESSID="$2" ; return ; }
+ [ "$1" = "essid" ] && { ESSID="$2" ; return 0 ; }
shift
done
}
@@ -64,31 +68,32 @@
ifconfig "$IFACE" up
for (( TIMELEFT="$TIMEOUT" ; TIMELEFT > 0 ; TIMELEFT-- )) ; do
- ( # Notice that we are in a subshell here so exiting takes us to the end of it
- if [ "$ESSID" ] ; then
- # Check to see if interface ESSID is what we are looking for
- ESSID_OF_INTERFACE="$(iwgetid $IFACE)"
- ESSID_OF_INTERFACE="${ESSID_OF_INTERFACE#*ESSID:}"
- ESSID_OF_INTERFACE="${ESSID_OF_INTERFACE# }"
- ESSID_OF_INTERFACE="${ESSID_OF_INTERFACE#\"}"
- ESSID_OF_INTERFACE="${ESSID_OF_INTERFACE%\"}"
- [ "$ESSID_OF_INTERFACE" = "$ESSID" ] || exit 1
- fi
- # Check for a valid AP MAC address
- APMAC="$(iwgetid $IFACE --ap --scheme)"
- [ "$APMAC" ] || exit 1
- [ "$APMAC" != "FF:FF:FF:FF:FF:FF" ] || exit 1
- [ "$APMAC" != "ff:ff:ff:ff:ff:ff" ] || exit 1
- [ "$APMAC" != "44:44:44:44:44:44" ] || exit 1
- [ "$APMAC" != "00:00:00:00:00:00" ] || exit 1
- exit 0
- )
- if [ "$?" = 0 ] ; then
+ FAILED=0
+ if [ "$ESSID" ] ; then
+ # Check that interface ESSID is what we are looking for
+ ACTUAL_ESSID="$(iwgetid $IFACE)"
+ ACTUAL_ESSID="${ACTUAL_ESSID#*ESSID:}"
+ ACTUAL_ESSID="${ACTUAL_ESSID# }"
+ ACTUAL_ESSID="${ACTUAL_ESSID#\"}"
+ ACTUAL_ESSID="${ACTUAL_ESSID%\"}"
+ [ "$ACTUAL_ESSID" = "$ESSID" ] || FAILED=1
+ fi
+ if [ "$FAILED" = 0 ] && [ "$MAC_ADDRESS" ] ; then
+ # Check that access point MAC address is what we are looking for
+ ACTUAL_MAC_ADDRESS="$(iwgetid $IFACE --ap --scheme)"
+ case "$ACTUAL_MAC_ADDRESS" in
+ "FF:FF:FF:FF:FF:FF"|"ff:ff:ff:ff:ff:ff"|"44:44:44:44:44:44"|"00:00:00:00:00:00")
+ ACTUAL_MAC_ADDRESS=""
+ ;;
+ esac
+ [ "$ACTUAL_MAC_ADDRESS" = "$MAC_ADDRESS" ] || FAILED=1
+ fi
+ if [ "$FAILED" = 0 ] ; then
ifconfig "$IFACE" down
- [ ! "$MAC_ADDRESS" ] || [ "$APMAC" = "$MAC_ADDRESS" ] || exit 1
exit 0
fi
do_sleep 1
done
+# Out of time
ifconfig "$IFACE" down
exit 1