|
|
|
@ -12,12 +12,33 @@ wpa_supplicant_setup_vif() { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
case "$enc" in |
|
|
|
|
*wep*) |
|
|
|
|
key_mgmt='NONE' |
|
|
|
|
config_get key "$vif" key |
|
|
|
|
key="${key:-1}" |
|
|
|
|
case "$key" in |
|
|
|
|
[1234]) |
|
|
|
|
for idx in 1 2 3 4; do |
|
|
|
|
local zidx |
|
|
|
|
zidx=$(($idx - 1)) |
|
|
|
|
config_get ckey "$vif" "key${idx}" |
|
|
|
|
if [ -n "$ckey" ] && \ |
|
|
|
|
append "wep_key${zidx}" "wep_key${zidx}=$(prepare_key_wep "$ckey")" |
|
|
|
|
done |
|
|
|
|
wep_tx_keyidx="wep_tx_keyidx=$((key - 1))" |
|
|
|
|
;; |
|
|
|
|
*) |
|
|
|
|
wep_key0="wep_key0=$(prepare_key_wep "$key")" |
|
|
|
|
wep_tx_keyidx="wep_tx_keyidx=0" |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
;; |
|
|
|
|
*psk*) |
|
|
|
|
key_mgmt='WPA-PSK' |
|
|
|
|
config_get_bool usepassphrase "$vif" passphrase 1 |
|
|
|
|
case "$enc" in |
|
|
|
|
*psk2*) |
|
|
|
|
proto='RSN' |
|
|
|
|
proto='proto=RSN' |
|
|
|
|
if [ "$usepassphrase" = "1" ]; then |
|
|
|
|
passphrase="psk=\"${key}\"" |
|
|
|
|
else |
|
|
|
@ -25,7 +46,7 @@ wpa_supplicant_setup_vif() { |
|
|
|
|
fi |
|
|
|
|
;; |
|
|
|
|
*psk*) |
|
|
|
|
proto='WPA' |
|
|
|
|
proto='proto=WPA' |
|
|
|
|
if [ "$usepassphrase" = "1" ]; then |
|
|
|
|
passphrase="psk=\"${key}\"" |
|
|
|
|
else |
|
|
|
@ -35,7 +56,7 @@ wpa_supplicant_setup_vif() { |
|
|
|
|
esac |
|
|
|
|
;; |
|
|
|
|
*wpa*|*8021x*) |
|
|
|
|
proto='WPA2' |
|
|
|
|
proto='proto=WPA2' |
|
|
|
|
key_mgmt='WPA-EAP' |
|
|
|
|
config_get ca_cert "$vif" ca_cert |
|
|
|
|
ca_cert=${ca_cert:+"ca_cert=\"$ca_cert\""} |
|
|
|
@ -72,7 +93,7 @@ network={ |
|
|
|
|
ssid="$ssid" |
|
|
|
|
$bssid |
|
|
|
|
key_mgmt=$key_mgmt |
|
|
|
|
proto=$proto |
|
|
|
|
$proto |
|
|
|
|
$passphrase |
|
|
|
|
$pairwise |
|
|
|
|
$group |
|
|
|
@ -83,7 +104,13 @@ network={ |
|
|
|
|
$phase2 |
|
|
|
|
$identity |
|
|
|
|
$password |
|
|
|
|
$wep_key0 |
|
|
|
|
$wep_key1 |
|
|
|
|
$wep_key2 |
|
|
|
|
$wep_key3 |
|
|
|
|
$wep_tx_keyidx |
|
|
|
|
} |
|
|
|
|
EOF |
|
|
|
|
[ -z "$proto" ] || wpa_supplicant ${bridge:+ -b $bridge} -B -P "/var/run/wifi-${ifname}.pid" -D ${driver:-wext} -i "$ifname" -c /var/run/wpa_supplicant-$ifname.conf |
|
|
|
|
[ -z "$proto" -a "$key_mgmt" != "NONE" ] || |
|
|
|
|
wpa_supplicant ${bridge:+ -b $bridge} -B -P "/var/run/wifi-${ifname}.pid" -D ${driver:-wext} -i "$ifname" -c /var/run/wpa_supplicant-$ifname.conf |
|
|
|
|
} |
|
|
|
|