tazpanel rev 321
network.cgi: fix scan parsing, use any key type
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Jun 30 14:36:32 2012 +0200 (2012-06-30) |
parents | a66d70e402b9 |
children | 1602cb73097e |
files | network.cgi |
line diff
1.1 --- a/network.cgi Thu Jun 28 20:13:19 2012 +0100 1.2 +++ b/network.cgi Sat Jun 30 14:36:32 2012 +0200 1.3 @@ -30,18 +30,16 @@ 1.4 EOT 1.5 if [ -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then 1.6 ifconfig $WIFI_INTERFACE up 1.7 - for i in $(iwlist $WIFI_INTERFACE scan | sed s/"Cell "/Cell-/ | grep "Cell-" | awk '{print $1}') 1.8 + for i in $(iwlist $WIFI_INTERFACE scan | sed '/Cell /!d;s/.*Cell \([^ ]*\).*/Cell.\1/') 1.9 do 1.10 - SCAN=$(iwlist $WIFI_INTERFACE scan last | \ 1.11 - awk '/(Cell|ESS|Qual|Encry|IE: WPA|WPA2)/ {print}' | \ 1.12 - sed s/"Cell "/Cell-/ | grep -A 5 "$i") 1.13 - ESSID=$(echo $SCAN | cut -d '"' -f 2) 1.14 + SCAN=$(iwlist $WIFI_INTERFACE scan last | sed "/$i/,/Cell/!d" | sed '$d') 1.15 + ESSID=$(echo $SCAN | sed '/ESSID/!d;s/.*ESSID:"\(.*\)"$/\1/') 1.16 if echo "$SCAN" | grep -q Quality; then 1.17 - QUALITY=$(echo $SCAN | sed 's/.*Quality=\([^ ]*\).*/\1/' | sed 's/.*Quality:\([^ ]*\).*/\1/') 1.18 + QUALITY=$(echo $SCAN | sed '/Quality/!d;s/.*Quality:\([^ ]*\).*/\1/') 1.19 else 1.20 QUALITY="-" 1.21 fi 1.22 - ENCRYPTION=$(echo $SCAN | sed 's/.*key:\([^ ]*\).*/\1/') 1.23 + ENCRYPTION=$(echo $SCAN | sed '/key:/!d;s/.*key:\([^ ]*\).*/\1/') 1.24 # Check encryption type 1.25 if echo "$SCAN" | grep -q WPA*; then 1.26 ENCRYPTION="WPA" 1.27 @@ -218,11 +216,12 @@ 1.28 </div> 1.29 $(detect_wifi_networks) 1.30 EOT 1.31 + WIFI_KEY="$(GET key)" 1.32 + case "$(GET keytype)" in 1.33 + ''|off) WIFI_KEY_TYPE=none ;; 1.34 + * WIFI_KEY_TYPE=any ;; 1.35 + esac 1.36 if [ "$(GET essid)" ]; then 1.37 - WIFI_KEY="" 1.38 - WIFI_KEY_TYPE=none 1.39 - [ -n "$(GET key)" ] && WIFI_KEY="$(GET key)" 1.40 - [ -n "$(GET keytype)" ] && WIFI_KEY_TYPE="$(GET keytype)" 1.41 /etc/init.d/network.sh stop | log 1.42 sed -i \ 1.43 -e s"/^WIFI_ESSID=.*/WIFI_ESSID=\"$(GET essid)\""/ \ 1.44 @@ -238,7 +237,6 @@ 1.45 WIFI_KEY="" 1.46 fi 1.47 WIFI_ESSID="$(GET select)" 1.48 - WIFI_KEY_TYPE="$(GET keytype)" 1.49 fi 1.50 cat << EOT 1.51 <section>