From ba98a2fd0500a4f94680240255ae8c8034fea850 Mon Sep 17 00:00:00 2001 From: Ansuel Smith Date: Sun, 1 Nov 2020 01:51:02 +0100 Subject: luci-mod-network: fix logic bug in parse enc for network join In handleJoinConfirm while is_wep is a boolean, is_psk and is_sae are an array. In the following if check, all 3 are used as boolean but Js treat empty array as positive values and this cause the ui to wrongly set the encryption to sae. fix this by checking if the array actually contains data. Fixes: #4524 Signed-off-by: Ansuel Smith --- .../htdocs/luci-static/resources/view/network/wireless.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js index 26ddbaa19..d53f97358 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js @@ -1841,11 +1841,11 @@ return view.extend({ uci.set('wireless', section_id, 'bssid', bss.bssid); } - if (is_sae) { + if (is_sae.length > 0) { uci.set('wireless', section_id, 'encryption', 'sae'); uci.set('wireless', section_id, 'key', passval); } - else if (is_psk) { + else if (is_psk.length > 0) { for (var i = enc.wpa.length - 1; i >= 0; i--) { if (enc.wpa[i] == 2) { uci.set('wireless', section_id, 'encryption', 'psk2'); -- cgit v1.2.3