Просмотр исходного кода

wpa_supplicant: relax parsing of encryption mode, drop support for uppercase modes

SVN-Revision: 18663
Jo-Philipp Wich 16 лет назад
Родитель
Сommit
37758a2672
1 измененных файлов с 15 добавлено и 9 удалено
  1. 15 9
      package/wpa_supplicant/files/wpa_supplicant.sh

+ 15 - 9
package/wpa_supplicant/files/wpa_supplicant.sh

@@ -1,25 +1,31 @@
 wpa_supplicant_setup_vif() {
 	local vif="$1"
 	local driver="$2"
-	
+	local key="$key"
+
 	# wpa_supplicant should use wext for mac80211 cards
 	[ "$driver" = "mac80211" ] && driver='wext'
 
+	# make sure we have the psk
+	[ -n "$key" ] || {
+		config_get key "$vif" key
+	}
+
 	case "$enc" in
-		PSK|psk|psk2|PSK2)
+		*psk*)
 			key_mgmt='WPA-PSK'
 			config_get_bool usepassphrase "$vif" passphrase 1
 			case "$enc" in
-				psk|PSK)
-					proto='WPA'
+				*psk2*)
+					proto='RSN'
 					if [ "$usepassphrase" = "1" ]; then
 						passphrase="psk=\"${key}\""
 					else
 						passphrase="psk=${key}"
 					fi
 				;;
-				psk2|PSK2)
-					proto='RSN'
+				*psk*)
+					proto='WPA'
 					if [ "$usepassphrase" = "1" ]; then
 						passphrase="psk=\"${key}\""
 					else
@@ -28,13 +34,13 @@ wpa_supplicant_setup_vif() {
 				;;
 			esac
 		;;
-		WPA|wpa|WPA2|wpa2|8021x|8021X)
+		*wpa*|*8021x*)
 			proto='WPA2'
 			key_mgmt='WPA-EAP'
 			config_get ca_cert "$vif" ca_cert
 			ca_cert=${ca_cert:+"ca_cert=\"$ca_cert\""}
 			case "$eap_type" in
-				tls|TLS)
+				tls)
 					pairwise='pairwise=CCMP'
 					group='group=CCMP'
 					config_get priv_key "$vif" priv_key
@@ -42,7 +48,7 @@ wpa_supplicant_setup_vif() {
 					priv_key="private_key=\"$priv_key\""
 					priv_key_pwd="private_key_passwd=\"$priv_key_pwd\""
 				;;
-				peap|PEAP|ttls|TTLS)
+				peap|ttls)
 					config_get auth "$vif" auth
 					config_get identity "$vif" identity
 					config_get password "$vif" password