modules/admin-full: fix wifi join when "wwan" (or other iface) already exists but only contains the network we intend to replace anyway, also save firewall settings after wifi join
This commit is contained in:
parent
d60d892385
commit
017d24c724
2 changed files with 38 additions and 36 deletions
|
@ -25,6 +25,7 @@ m = Map("wireless", "",
|
||||||
"like encryption or operation mode are grouped in the <em>Interface Configuration</em>."))
|
"like encryption or operation mode are grouped in the <em>Interface Configuration</em>."))
|
||||||
|
|
||||||
m:chain("network")
|
m:chain("network")
|
||||||
|
m:chain("firewall")
|
||||||
|
|
||||||
local ifsection
|
local ifsection
|
||||||
|
|
||||||
|
|
|
@ -104,9 +104,6 @@ end
|
||||||
function newnet.parse(self, section)
|
function newnet.parse(self, section)
|
||||||
local net, zone
|
local net, zone
|
||||||
|
|
||||||
local value = self:formvalue(section)
|
|
||||||
net = nw:add_network(value, { proto = "dhcp" })
|
|
||||||
|
|
||||||
if has_firewall then
|
if has_firewall then
|
||||||
local zval = fwzone:formvalue(section)
|
local zval = fwzone:formvalue(section)
|
||||||
zone = fw:get_zone(zval)
|
zone = fw:get_zone(zval)
|
||||||
|
@ -119,9 +116,6 @@ function newnet.parse(self, section)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if not net then
|
|
||||||
self.error = { [section] = "missing" }
|
|
||||||
else
|
|
||||||
local wdev = nw:get_wifidev(m.hidden.device)
|
local wdev = nw:get_wifidev(m.hidden.device)
|
||||||
|
|
||||||
wdev:set("disabled", false)
|
wdev:set("disabled", false)
|
||||||
|
@ -137,8 +131,7 @@ function newnet.parse(self, section)
|
||||||
local wconf = {
|
local wconf = {
|
||||||
device = m.hidden.device,
|
device = m.hidden.device,
|
||||||
ssid = m.hidden.join,
|
ssid = m.hidden.join,
|
||||||
mode = (m.hidden.mode == "Ad-Hoc" and "adhoc" or "sta"),
|
mode = (m.hidden.mode == "Ad-Hoc" and "adhoc" or "sta")
|
||||||
network = net:name()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if m.hidden.wep == "1" then
|
if m.hidden.wep == "1" then
|
||||||
|
@ -156,6 +149,14 @@ function newnet.parse(self, section)
|
||||||
wconf.bssid = m.hidden.bssid
|
wconf.bssid = m.hidden.bssid
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local value = self:formvalue(section)
|
||||||
|
net = nw:add_network(value, { proto = "dhcp" })
|
||||||
|
|
||||||
|
if not net then
|
||||||
|
self.error = { [section] = "missing" }
|
||||||
|
else
|
||||||
|
wconf.network = net:name()
|
||||||
|
|
||||||
local wnet = wdev:add_wifinet(wconf)
|
local wnet = wdev:add_wifinet(wconf)
|
||||||
if wnet then
|
if wnet then
|
||||||
if zone then
|
if zone then
|
||||||
|
|
Loading…
Reference in a new issue