luci-mod-network: wireless.js: properly handle SAE in join confirmation

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2019-09-24 08:09:02 +02:00
parent e630b32498
commit 4a564736ea

View file

@ -1721,7 +1721,8 @@ return L.view.extend({
zoneval = zoneopt ? zoneopt.formvalue('_new_') : null, zoneval = zoneopt ? zoneopt.formvalue('_new_') : null,
enc = L.isObject(bss.encryption) ? bss.encryption : null, enc = L.isObject(bss.encryption) ? bss.encryption : null,
is_wep = (enc && Array.isArray(enc.wep)), is_wep = (enc && Array.isArray(enc.wep)),
is_psk = (enc && Array.isArray(enc.wpa) && Array.isArray(enc.authentication) && enc.authentication[0] == 'psk'); is_psk = (enc && Array.isArray(enc.wpa) && L.toArray(enc.authentication).filter(function(a) { return a == 'psk' })),
is_sae = (enc && Array.isArray(enc.wpa) && L.toArray(enc.authentication).filter(function(a) { return a == 'sae' }));
if (nameval == null || (passopt && passval == null)) if (nameval == null || (passopt && passval == null))
return; return;
@ -1749,7 +1750,11 @@ return L.view.extend({
else if (bss.bssid != null) else if (bss.bssid != null)
uci.set('wireless', section_id, 'bssid', bss.bssid); uci.set('wireless', section_id, 'bssid', bss.bssid);
if (is_psk) { if (is_sae) {
uci.set('wireless', section_id, 'encryption', 'sae');
uci.set('wireless', section_id, 'key', passval);
}
else if (is_psk) {
for (var i = enc.wpa.length - 1; i >= 0; i--) { for (var i = enc.wpa.length - 1; i >= 0; i--) {
if (enc.wpa[i] == 2) { if (enc.wpa[i] == 2) {
uci.set('wireless', section_id, 'encryption', 'psk2'); uci.set('wireless', section_id, 'encryption', 'psk2');