diff -Naur netcfg-2.1.2/Makefile netcfg-2.1.3/Makefile --- netcfg-2.1.2/Makefile 2008-10-04 09:48:09.000000000 +1000 +++ netcfg-2.1.3/Makefile 2009-03-01 20:13:48.000000000 +1100 @@ -1,5 +1,5 @@ DESTDIR= -VERSION=2.1.2 +VERSION=2.1.3 install: install -d $(DESTDIR)/usr/lib/network/ $(DESTDIR)/etc/network.d/examples \ diff -Naur netcfg-2.1.2/src/netcfg netcfg-2.1.3/src/netcfg --- netcfg-2.1.2/src/netcfg 2008-10-04 09:48:09.000000000 +1000 +++ netcfg-2.1.3/src/netcfg 2009-03-01 20:13:48.000000000 +1100 @@ -12,7 +12,7 @@ printhl "$*" } -NETCFG_VER=2.1.2 +NETCFG_VER=2.1.3 PROFILE_DIR="/etc/network.d/" SUBR_DIR="/usr/lib/network/" STATE_DIR="/var/run/network/" diff -Naur netcfg-2.1.2/src/wireless.subr netcfg-2.1.3/src/wireless.subr --- netcfg-2.1.2/src/wireless.subr 2008-10-04 09:48:09.000000000 +1000 +++ netcfg-2.1.3/src/wireless.subr 2009-03-01 20:13:48.000000000 +1100 @@ -88,7 +88,7 @@ [[ "$WPA_OPTS" == "" ]] && WPA_OPTS="-Dwext" - wpa_supplicant -wB -P/var/run/wpa_supplicant_${INTERFACE}.pid -i${INTERFACE} -c $WPA_CONF $WPA_OPTS + wpa_supplicant -B -P/var/run/wpa_supplicant_${INTERFACE}.pid -i${INTERFACE} -c $WPA_CONF $WPA_OPTS sleep 1 if [[ ! -f /var/run/wpa_supplicant_${INTERFACE}.pid ]]; then @@ -113,7 +113,7 @@ quirk "prescan" && iwlist $INTERFACE scan &> /dev/null quirk "test" && echo "TESTWORKS!" # Required by ipw3945 to properly re-associate - quirk "preessid" && eval "iwconfig $INTERFACE mode managed essid \"$ESSID\"" + quirk "preessid" && eval "iwconfig $INTERFACE essid \"$ESSID\"" # Kill any lingering wpa_supplicants. if [[ -f /var/run/wpa_supplicant_$INTERFACE.pid ]]; then @@ -139,9 +139,9 @@ # 'none' security uses iwconfig, like wep, so use same code, minus keysetting. # Use sane default if no alternative is specified if [[ "$SECURITY" = "wep" && "$WEP_OPTS" = "" ]]; then - WEP_OPTS="mode managed essid \"$ESSID\" key open $KEY" + WEP_OPTS="essid \"$ESSID\" key open $KEY" elif [[ "$SECURITY" = "none" && "$WEP_OPTS" = "" ]]; then - WEP_OPTS="mode managed essid \"$ESSID\"" + WEP_OPTS="essid \"$ESSID\"" fi # Add wierd quirk for some Atheros in response to FS#10585 @@ -159,10 +159,10 @@ wep_check $INTERFACE $TIMEOUT|| return 1 ;; wpa) - local WPA_CONF=`mktemp /tmp/wpa.XXXXXXXX` - + local WPA_CONF="/tmp/wpa.${INTERFACE}" + # Quirk for broken drivers... http://bbs.archlinux.org/viewtopic.php?id=36384 - quirk "wpaessid" && eval iwconfig $INTERFACE mode managed essid "\"$ESSID\"" + quirk "wpaessid" && eval iwconfig $INTERFACE essid "\"$ESSID\"" # Create a random file to store configuration, make it root only. chmod 600 $WPA_CONF @@ -171,7 +171,7 @@ # Generate configuration if [[ "${#KEY}" == "64" ]]; then - echo -e 'network={ \nssid="$ESSID" \npsk=$KEY \n}'> $WPA_CONF + echo -e "network={ \nssid=\"$ESSID\" \npsk=$KEY \n}">> $WPA_CONF elif ! wpa_passphrase "$ESSID" "$KEY" >> $WPA_CONF; then err_append "Configuration generation failed: `cat $WPA_CONF`" return 1 @@ -202,7 +202,9 @@ . $SUBR_DIR/ethernet.subr ethernet_down $1 fi + wpa_cli terminate &> /dev/null + [[ "$SECURITY" == "wpa" ]] && rm -f "/tmp/wpa.${INTERFACE}" iwconfig $INTERFACE essid off key off &> /dev/null #ifconfig $INTERFACE down }