diff options
Diffstat (limited to 'modules/luci-mod-network/htdocs')
-rw-r--r-- | modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js | 6 | ||||
-rw-r--r-- | modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js | 23 |
2 files changed, 20 insertions, 9 deletions
diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js index 624718dd84..b49d36d464 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js @@ -740,6 +740,12 @@ return L.view.extend({ }, this)); }; + s.handleRemove = function(section_id, ev) { + return network.deleteNetwork(section_id).then(L.bind(function(section_id, ev) { + return form.GridSection.prototype.handleRemove.apply(this, [section_id, ev]); + }, this, section_id, ev)); + }; + o = s.option(form.DummyValue, '_ifacebox'); o.modalonly = false; o.textvalue = function(section_id) { 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 9e75fe9013..e6494f6b21 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 @@ -1721,7 +1721,8 @@ return L.view.extend({ zoneval = zoneopt ? zoneopt.formvalue('_new_') : null, enc = L.isObject(bss.encryption) ? bss.encryption : null, 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)) return; @@ -1749,7 +1750,11 @@ return L.view.extend({ else if (bss.bssid != null) 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--) { if (enc.wpa[i] == 2) { uci.set('wireless', section_id, 'encryption', 'psk2'); @@ -1769,14 +1774,14 @@ return L.view.extend({ uci.set('wireless', section_id, 'key1', passval); } - var zonePromise = zoneval - ? firewall.getZone(zoneval).then(function(zone) { return zone || firewall.addZone(zoneval) }) - : Promise.resolve(); + return network.addNetwork(nameval, { proto: 'dhcp' }).then(function(net) { + firewall.deleteNetwork(net.getName()); - return zonePromise.then(function(zone) { - return network.addNetwork(nameval, { proto: 'dhcp' }).then(function(net) { - firewall.deleteNetwork(net.getName()); + var zonePromise = zoneval + ? firewall.getZone(zoneval).then(function(zone) { return zone || firewall.addZone(zoneval) }) + : Promise.resolve(); + return zonePromise.then(function(zone) { if (zone) zone.addNetwork(net.getName()); }); @@ -1793,7 +1798,7 @@ return L.view.extend({ s2 = m2.section(form.NamedSection, '_new_'), enc = L.isObject(bss.encryption) ? bss.encryption : null, 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' || a == 'sae' })), replace, passphrase, name, zone; s2.render = function() { |