Merge pull request #3210 from dibdot/travelmate
luci-app-travelmate: sync with update 1.5.0
This commit is contained in:
commit
29e4b397da
4 changed files with 117 additions and 98 deletions
|
@ -7,7 +7,7 @@ local http = require("luci.http")
|
||||||
local util = require("luci.util")
|
local util = require("luci.util")
|
||||||
local scripts = util.split(util.trim(util.exec("ls /etc/travelmate/*.login 2>/dev/null")), "\n", nil, true) or {}
|
local scripts = util.split(util.trim(util.exec("ls /etc/travelmate/*.login 2>/dev/null")), "\n", nil, true) or {}
|
||||||
local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan"
|
local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan"
|
||||||
local encr_psk = {"psk", "psk2", "psk-mixed"}
|
local encr_psk = {"psk", "psk2", "psk-mixed", "sae", "owe", "sae-mixed"}
|
||||||
local encr_wpa = {"wpa", "wpa2", "wpa-mixed"}
|
local encr_wpa = {"wpa", "wpa2", "wpa-mixed"}
|
||||||
|
|
||||||
m = SimpleForm("add", translate("Add Wireless Uplink Configuration"))
|
m = SimpleForm("add", translate("Add Wireless Uplink Configuration"))
|
||||||
|
@ -23,11 +23,18 @@ m.hidden = {
|
||||||
device = http.formvalue("device"),
|
device = http.formvalue("device"),
|
||||||
ssid = http.formvalue("ssid"),
|
ssid = http.formvalue("ssid"),
|
||||||
bssid = http.formvalue("bssid"),
|
bssid = http.formvalue("bssid"),
|
||||||
wep = http.formvalue("wep"),
|
description = http.formvalue("description"),
|
||||||
|
wep = tonumber(http.formvalue("wep")) or 0,
|
||||||
wpa_suites = http.formvalue("wpa_suites"),
|
wpa_suites = http.formvalue("wpa_suites"),
|
||||||
wpa_version = http.formvalue("wpa_version")
|
wpa_version = tonumber(http.formvalue("wpa_version")) or 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if m.hidden.wpa_version == 4 then
|
||||||
|
if string.find(m.hidden.description, "OWE") then
|
||||||
|
m.hidden.wpa_version = 5
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if m.hidden.ssid == "" then
|
if m.hidden.ssid == "" then
|
||||||
wssid = m:field(Value, "ssid", translate("SSID (hidden)"))
|
wssid = m:field(Value, "ssid", translate("SSID (hidden)"))
|
||||||
else
|
else
|
||||||
|
@ -49,7 +56,7 @@ bssid:depends("no_bssid", 0)
|
||||||
bssid.datatype = "macaddr"
|
bssid.datatype = "macaddr"
|
||||||
bssid.default = m.hidden.bssid or ""
|
bssid.default = m.hidden.bssid or ""
|
||||||
|
|
||||||
if (tonumber(m.hidden.wep) or 0) == 1 then
|
if m.hidden.wep == 1 then
|
||||||
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
||||||
encr:value("wep", "WEP")
|
encr:value("wep", "WEP")
|
||||||
encr:value("wep+open", "WEP Open System")
|
encr:value("wep+open", "WEP Open System")
|
||||||
|
@ -60,30 +67,13 @@ if (tonumber(m.hidden.wep) or 0) == 1 then
|
||||||
wkey = m:field(Value, "key", translate("WEP-Passphrase"))
|
wkey = m:field(Value, "key", translate("WEP-Passphrase"))
|
||||||
wkey.password = true
|
wkey.password = true
|
||||||
wkey.datatype = "wepkey"
|
wkey.datatype = "wepkey"
|
||||||
elseif (tonumber(m.hidden.wpa_version) or 0) > 0 then
|
elseif m.hidden.wpa_version > 0 then
|
||||||
if m.hidden.wpa_suites == "PSK" or m.hidden.wpa_suites == "PSK2" then
|
if m.hidden.wpa_suites == "802.1X" then
|
||||||
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
|
||||||
encr:value("psk", "WPA PSK")
|
|
||||||
encr:value("psk-mixed", "WPA/WPA2 mixed")
|
|
||||||
encr:value("psk2", "WPA2 PSK")
|
|
||||||
encr.default = encr_psk[tonumber(m.hidden.wpa_version)] or "psk2"
|
|
||||||
|
|
||||||
ciph = m:field(ListValue, "cipher", translate("Cipher"))
|
|
||||||
ciph:value("auto", translate("Automatic"))
|
|
||||||
ciph:value("ccmp", translate("Force CCMP (AES)"))
|
|
||||||
ciph:value("tkip", translate("Force TKIP"))
|
|
||||||
ciph:value("tkip+ccmp", translate("Force TKIP and CCMP (AES)"))
|
|
||||||
ciph.default = "auto"
|
|
||||||
|
|
||||||
wkey = m:field(Value, "key", translate("WPA-Passphrase"))
|
|
||||||
wkey.password = true
|
|
||||||
wkey.datatype = "wpakey"
|
|
||||||
elseif m.hidden.wpa_suites == "802.1X" then
|
|
||||||
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
||||||
encr:value("wpa", "WPA Enterprise")
|
encr:value("wpa", "WPA Enterprise")
|
||||||
encr:value("wpa-mixed", "WPA/WPA2 Enterprise mixed")
|
encr:value("wpa-mixed", "WPA/WPA2 Enterprise mixed")
|
||||||
encr:value("wpa2", "WPA2 Enterprise")
|
encr:value("wpa2", "WPA2 Enterprise")
|
||||||
encr.default = encr_wpa[tonumber(m.hidden.wpa_version)] or "wpa2"
|
encr.default = encr_wpa[m.hidden.wpa_version] or "wpa2"
|
||||||
|
|
||||||
ciph = m:field(ListValue, "cipher", translate("Cipher"))
|
ciph = m:field(ListValue, "cipher", translate("Cipher"))
|
||||||
ciph:value("auto", translate("Automatic"))
|
ciph:value("auto", translate("Automatic"))
|
||||||
|
@ -134,6 +124,34 @@ elseif (tonumber(m.hidden.wpa_version) or 0) > 0 then
|
||||||
privkeypwd.datatype = "wpakey"
|
privkeypwd.datatype = "wpakey"
|
||||||
privkeypwd.password = true
|
privkeypwd.password = true
|
||||||
privkeypwd.rmempty = true
|
privkeypwd.rmempty = true
|
||||||
|
else
|
||||||
|
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
||||||
|
encr:value("psk", "WPA-PSK")
|
||||||
|
encr:value("psk2", "WPA2-PSK")
|
||||||
|
encr:value("psk-mixed", "WPA/WPA2 mixed")
|
||||||
|
encr:value("sae", "WPA3-SAE")
|
||||||
|
encr:value("owe", "OWE (open network)")
|
||||||
|
encr:value("sae-mixed", "WPA2/WPA3 mixed")
|
||||||
|
encr.default = encr_psk[m.hidden.wpa_version] or "psk2"
|
||||||
|
|
||||||
|
ciph = m:field(ListValue, "cipher", translate("Cipher"))
|
||||||
|
ciph:value("auto", translate("Automatic"))
|
||||||
|
ciph:value("ccmp", translate("Force CCMP (AES)"))
|
||||||
|
ciph:value("tkip", translate("Force TKIP"))
|
||||||
|
ciph:value("tkip+ccmp", translate("Force TKIP and CCMP (AES)"))
|
||||||
|
ciph:depends("encryption", "psk")
|
||||||
|
ciph:depends("encryption", "psk2")
|
||||||
|
ciph:depends("encryption", "psk-mixed")
|
||||||
|
ciph.default = "auto"
|
||||||
|
|
||||||
|
wkey = m:field(Value, "key", translate("WPA-Passphrase"))
|
||||||
|
wkey.password = true
|
||||||
|
wkey.datatype = "wpakey"
|
||||||
|
wkey:depends("encryption", "psk")
|
||||||
|
wkey:depends("encryption", "psk2")
|
||||||
|
wkey:depends("encryption", "psk-mixed")
|
||||||
|
wkey:depends("encryption", "sae")
|
||||||
|
wkey:depends("encryption", "sae-mixed")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -144,7 +162,7 @@ local cmd_args_default = uci:get("travelmate", login_section, "command_args")
|
||||||
cmd_list = m:field(ListValue, "cmdlist", translate("Auto Login Script"),
|
cmd_list = m:field(ListValue, "cmdlist", translate("Auto Login Script"),
|
||||||
translate("External script reference which will be called for automated captive portal logins."))
|
translate("External script reference which will be called for automated captive portal logins."))
|
||||||
cmd_args = m:field(Value, "cmdargs", translate("Optional Arguments"),
|
cmd_args = m:field(Value, "cmdargs", translate("Optional Arguments"),
|
||||||
translate("Space separated list of additional optional arguments passed to the Auto Login Script, i.e. username and password"))
|
translate("Space separated list of additional arguments passed to the Auto Login Script, i.e. username and password"))
|
||||||
for _, z in ipairs(scripts) do
|
for _, z in ipairs(scripts) do
|
||||||
cmd_list:value(z)
|
cmd_list:value(z)
|
||||||
cmd_args:depends("cmdlist", z)
|
cmd_args:depends("cmdlist", z)
|
||||||
|
@ -154,7 +172,7 @@ cmd_list.default = cmd or "none"
|
||||||
cmd_args.default = cmd_args_default
|
cmd_args.default = cmd_args_default
|
||||||
|
|
||||||
function wssid.write(self, section, value)
|
function wssid.write(self, section, value)
|
||||||
newsection = uci:section("wireless", "wifi-iface", nil, {
|
newsection = uci:section("wireless", "wifi-iface", "trm_" .. login_section, {
|
||||||
mode = "sta",
|
mode = "sta",
|
||||||
network = trmiface,
|
network = trmiface,
|
||||||
device = m.hidden.device,
|
device = m.hidden.device,
|
||||||
|
@ -163,23 +181,11 @@ function wssid.write(self, section, value)
|
||||||
disabled = "1"
|
disabled = "1"
|
||||||
})
|
})
|
||||||
|
|
||||||
if (tonumber(m.hidden.wep) or 0) == 1 then
|
if encr:formvalue(section) then
|
||||||
uci:set("wireless", newsection, "encryption", encr:formvalue(section))
|
if string.find(encr:formvalue(section), '^wep') then
|
||||||
uci:set("wireless", newsection, "key", wkey:formvalue(section) or "")
|
uci:set("wireless", newsection, "encryption", encr:formvalue(section))
|
||||||
elseif (tonumber(m.hidden.wpa_version) or 0) > 0 then
|
|
||||||
if m.hidden.wpa_suites == "PSK" or m.hidden.wpa_suites == "PSK2" then
|
|
||||||
if ciph:formvalue(section) ~= "auto" then
|
|
||||||
uci:set("wireless", newsection, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
|
|
||||||
else
|
|
||||||
uci:set("wireless", newsection, "encryption", encr:formvalue(section))
|
|
||||||
end
|
|
||||||
uci:set("wireless", newsection, "key", wkey:formvalue(section) or "")
|
uci:set("wireless", newsection, "key", wkey:formvalue(section) or "")
|
||||||
elseif m.hidden.wpa_suites == "802.1X" then
|
elseif string.find(encr:formvalue(section), '^wpa') then
|
||||||
if ciph:formvalue(section) ~= "auto" then
|
|
||||||
uci:set("wireless", newsection, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
|
|
||||||
else
|
|
||||||
uci:set("wireless", newsection, "encryption", encr:formvalue(section))
|
|
||||||
end
|
|
||||||
uci:set("wireless", newsection, "eap_type", eaptype:formvalue(section))
|
uci:set("wireless", newsection, "eap_type", eaptype:formvalue(section))
|
||||||
uci:set("wireless", newsection, "auth", authentication:formvalue(section))
|
uci:set("wireless", newsection, "auth", authentication:formvalue(section))
|
||||||
uci:set("wireless", newsection, "identity", ident:formvalue(section) or "")
|
uci:set("wireless", newsection, "identity", ident:formvalue(section) or "")
|
||||||
|
@ -188,10 +194,18 @@ function wssid.write(self, section, value)
|
||||||
uci:set("wireless", newsection, "client_cert", clientcert:formvalue(section) or "")
|
uci:set("wireless", newsection, "client_cert", clientcert:formvalue(section) or "")
|
||||||
uci:set("wireless", newsection, "priv_key", privkey:formvalue(section) or "")
|
uci:set("wireless", newsection, "priv_key", privkey:formvalue(section) or "")
|
||||||
uci:set("wireless", newsection, "priv_key_pwd", privkeypwd:formvalue(section) or "")
|
uci:set("wireless", newsection, "priv_key_pwd", privkeypwd:formvalue(section) or "")
|
||||||
|
elseif encr:formvalue(section) ~= "owe" then
|
||||||
|
uci:set("wireless", newsection, "key", wkey:formvalue(section) or "")
|
||||||
|
end
|
||||||
|
if ciph:formvalue(section) and ciph:formvalue(section) ~= "auto" then
|
||||||
|
uci:set("wireless", newsection, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
|
||||||
|
else
|
||||||
|
uci:set("wireless", newsection, "encryption", encr:formvalue(section))
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
uci:set("wireless", newsection, "encryption", "none")
|
uci:set("wireless", newsection, "encryption", "none")
|
||||||
end
|
end
|
||||||
|
|
||||||
local login_section = (wssid:formvalue(section) or "") .. (bssid:formvalue(section) or "")
|
local login_section = (wssid:formvalue(section) or "") .. (bssid:formvalue(section) or "")
|
||||||
login_section = login_section:gsub("[^%w_]", "_")
|
login_section = login_section:gsub("[^%w_]", "_")
|
||||||
if not uci:get("travelmate", login_section) and cmd_list:formvalue(section) ~= "none" then
|
if not uci:get("travelmate", login_section) and cmd_list:formvalue(section) ~= "none" then
|
||||||
|
|
|
@ -31,7 +31,6 @@ if s ~= nil then
|
||||||
bssid.datatype = "macaddr"
|
bssid.datatype = "macaddr"
|
||||||
bssid.default = s.bssid or ""
|
bssid.default = s.bssid or ""
|
||||||
|
|
||||||
s.cipher = "auto"
|
|
||||||
if string.match(s.encryption, '%+') and not string.match(s.encryption, '^wep') then
|
if string.match(s.encryption, '%+') and not string.match(s.encryption, '^wep') then
|
||||||
s.pos = string.find(s.encryption, '%+')
|
s.pos = string.find(s.encryption, '%+')
|
||||||
s.cipher = string.sub(s.encryption, s.pos + 1)
|
s.cipher = string.sub(s.encryption, s.pos + 1)
|
||||||
|
@ -49,22 +48,6 @@ if s ~= nil then
|
||||||
|
|
||||||
wkey = m:field(Value, "key", translate("Passphrase"))
|
wkey = m:field(Value, "key", translate("Passphrase"))
|
||||||
wkey.datatype = "wepkey"
|
wkey.datatype = "wepkey"
|
||||||
elseif string.match(s.encryption, '^psk') then
|
|
||||||
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
|
||||||
encr:value("psk", "WPA PSK")
|
|
||||||
encr:value("psk-mixed", "WPA/WPA2 mixed")
|
|
||||||
encr:value("psk2", "WPA2 PSK")
|
|
||||||
encr.default = s.encryption
|
|
||||||
|
|
||||||
ciph = m:field(ListValue, "cipher", translate("Cipher"))
|
|
||||||
ciph:value("auto", translate("Automatic"))
|
|
||||||
ciph:value("ccmp", translate("Force CCMP (AES)"))
|
|
||||||
ciph:value("tkip", translate("Force TKIP"))
|
|
||||||
ciph:value("tkip+ccmp", translate("Force TKIP and CCMP (AES)"))
|
|
||||||
ciph.default = s.cipher
|
|
||||||
|
|
||||||
wkey = m:field(Value, "key", translate("Passphrase"))
|
|
||||||
wkey.datatype = "wpakey"
|
|
||||||
elseif string.match(s.encryption, '^wpa') then
|
elseif string.match(s.encryption, '^wpa') then
|
||||||
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
||||||
encr:value("wpa", "WPA Enterprise")
|
encr:value("wpa", "WPA Enterprise")
|
||||||
|
@ -104,6 +87,8 @@ if s ~= nil then
|
||||||
|
|
||||||
wkey = m:field(Value, "password", translate("Passphrase"))
|
wkey = m:field(Value, "password", translate("Passphrase"))
|
||||||
wkey.datatype = "wpakey"
|
wkey.datatype = "wpakey"
|
||||||
|
wkey.password = true
|
||||||
|
wkey.default = s.password
|
||||||
|
|
||||||
cacert = m:field(Value, "ca_cert", translate("Path to CA-Certificate"))
|
cacert = m:field(Value, "ca_cert", translate("Path to CA-Certificate"))
|
||||||
cacert.rmempty = true
|
cacert.rmempty = true
|
||||||
|
@ -125,9 +110,36 @@ if s ~= nil then
|
||||||
privkeypwd.password = true
|
privkeypwd.password = true
|
||||||
privkeypwd.rmempty = true
|
privkeypwd.rmempty = true
|
||||||
privkeypwd.default = s.priv_key_pwd or ""
|
privkeypwd.default = s.priv_key_pwd or ""
|
||||||
|
else
|
||||||
|
encr = m:field(ListValue, "encryption", translate("Encryption"))
|
||||||
|
encr:value("psk", "WPA-PSK")
|
||||||
|
encr:value("psk2", "WPA2-PSK")
|
||||||
|
encr:value("psk-mixed", "WPA/WPA2 mixed")
|
||||||
|
encr:value("sae", "WPA3-SAE")
|
||||||
|
encr:value("owe", "OWE (open network)")
|
||||||
|
encr:value("sae-mixed", "WPA2/WPA3 mixed")
|
||||||
|
encr.default = s.encryption
|
||||||
|
|
||||||
|
ciph = m:field(ListValue, "cipher", translate("Cipher"))
|
||||||
|
ciph:value("auto", translate("Automatic"))
|
||||||
|
ciph:value("ccmp", translate("Force CCMP (AES)"))
|
||||||
|
ciph:value("tkip", translate("Force TKIP"))
|
||||||
|
ciph:value("tkip+ccmp", translate("Force TKIP and CCMP (AES)"))
|
||||||
|
ciph:depends("encryption", "psk")
|
||||||
|
ciph:depends("encryption", "psk2")
|
||||||
|
ciph:depends("encryption", "psk-mixed")
|
||||||
|
ciph.default = s.cipher or "auto"
|
||||||
|
|
||||||
|
wkey = m:field(Value, "key", translate("Passphrase"))
|
||||||
|
wkey.datatype = "wpakey"
|
||||||
|
wkey.password = true
|
||||||
|
wkey:depends("encryption", "psk")
|
||||||
|
wkey:depends("encryption", "psk2")
|
||||||
|
wkey:depends("encryption", "psk-mixed")
|
||||||
|
wkey:depends("encryption", "sae")
|
||||||
|
wkey:depends("encryption", "sae-mixed")
|
||||||
|
wkey.default = s.key
|
||||||
end
|
end
|
||||||
wkey.password = true
|
|
||||||
wkey.default = s.key or s.password
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local login_section = (s.ssid or "") .. (s.bssid or "")
|
local login_section = (s.ssid or "") .. (s.bssid or "")
|
||||||
|
@ -137,7 +149,7 @@ if s ~= nil then
|
||||||
cmd_list = m:field(ListValue, "cmdlist", translate("Auto Login Script"),
|
cmd_list = m:field(ListValue, "cmdlist", translate("Auto Login Script"),
|
||||||
translate("External script reference which will be called for automated captive portal logins."))
|
translate("External script reference which will be called for automated captive portal logins."))
|
||||||
cmd_args = m:field(Value, "cmdargs", translate("Optional Arguments"),
|
cmd_args = m:field(Value, "cmdargs", translate("Optional Arguments"),
|
||||||
translate("Space separated list of additional optional arguments passed to the Auto Login Script, i.e. username and password"))
|
translate("Space separated list of additional arguments passed to the Auto Login Script, i.e. username and password"))
|
||||||
for _, z in ipairs(scripts) do
|
for _, z in ipairs(scripts) do
|
||||||
cmd_list:value(z)
|
cmd_list:value(z)
|
||||||
cmd_args:depends("cmdlist", z)
|
cmd_args:depends("cmdlist", z)
|
||||||
|
@ -152,23 +164,11 @@ end
|
||||||
function wssid.write(self, section, value)
|
function wssid.write(self, section, value)
|
||||||
uci:set("wireless", m.hidden.cfg, "ssid", wssid:formvalue(section))
|
uci:set("wireless", m.hidden.cfg, "ssid", wssid:formvalue(section))
|
||||||
uci:set("wireless", m.hidden.cfg, "bssid", bssid:formvalue(section))
|
uci:set("wireless", m.hidden.cfg, "bssid", bssid:formvalue(section))
|
||||||
if s.encryption and s.encryption ~= "none" then
|
if encr:formvalue(section) then
|
||||||
if string.match(s.encryption, '^wep') then
|
if string.find(encr:formvalue(section), '^wep') then
|
||||||
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section))
|
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section))
|
||||||
uci:set("wireless", m.hidden.cfg, "key", wkey:formvalue(section) or "")
|
uci:set("wireless", m.hidden.cfg, "key", wkey:formvalue(section) or "")
|
||||||
elseif string.match(s.encryption, '^psk') then
|
elseif string.find(encr:formvalue(section), '^wpa') then
|
||||||
if ciph:formvalue(section) ~= "auto" then
|
|
||||||
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
|
|
||||||
else
|
|
||||||
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section))
|
|
||||||
end
|
|
||||||
uci:set("wireless", m.hidden.cfg, "key", wkey:formvalue(section) or "")
|
|
||||||
elseif string.match(s.encryption, '^wpa') then
|
|
||||||
if ciph:formvalue(section) ~= "auto" then
|
|
||||||
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
|
|
||||||
else
|
|
||||||
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section))
|
|
||||||
end
|
|
||||||
uci:set("wireless", m.hidden.cfg, "eap_type", eaptype:formvalue(section))
|
uci:set("wireless", m.hidden.cfg, "eap_type", eaptype:formvalue(section))
|
||||||
uci:set("wireless", m.hidden.cfg, "auth", authentication:formvalue(section))
|
uci:set("wireless", m.hidden.cfg, "auth", authentication:formvalue(section))
|
||||||
uci:set("wireless", m.hidden.cfg, "identity", ident:formvalue(section) or "")
|
uci:set("wireless", m.hidden.cfg, "identity", ident:formvalue(section) or "")
|
||||||
|
@ -178,6 +178,14 @@ function wssid.write(self, section, value)
|
||||||
uci:set("wireless", m.hidden.cfg, "priv_key", privkey:formvalue(section) or "")
|
uci:set("wireless", m.hidden.cfg, "priv_key", privkey:formvalue(section) or "")
|
||||||
uci:set("wireless", m.hidden.cfg, "priv_key_pwd", privkeypwd:formvalue(section) or "")
|
uci:set("wireless", m.hidden.cfg, "priv_key_pwd", privkeypwd:formvalue(section) or "")
|
||||||
end
|
end
|
||||||
|
if encr:formvalue(section) ~= "owe" then
|
||||||
|
uci:set("wireless", m.hidden.cfg, "key", wkey:formvalue(section) or "")
|
||||||
|
end
|
||||||
|
if ciph:formvalue(section) and ciph:formvalue(section) ~= "auto" then
|
||||||
|
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
|
||||||
|
else
|
||||||
|
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
local login_section = (wssid:formvalue(section) or "") .. (bssid:formvalue(section) or "")
|
local login_section = (wssid:formvalue(section) or "") .. (bssid:formvalue(section) or "")
|
||||||
login_section = login_section:gsub("[^%w_]", "_")
|
login_section = login_section:gsub("[^%w_]", "_")
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<%#
|
<%#
|
||||||
Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
|
Copyright 2017-2019 Dirk Brenken (dev@brenken.org)
|
||||||
This is free software, licensed under the Apache License, Version 2.0
|
This is free software, licensed under the Apache License, Version 2.0
|
||||||
-%>
|
-%>
|
||||||
|
|
||||||
|
@ -28,6 +28,9 @@ This is free software, licensed under the Apache License, Version 2.0
|
||||||
input = json.data.faulty_stations;
|
input = json.data.faulty_stations;
|
||||||
view.innerHTML = input || "-";
|
view.innerHTML = input || "-";
|
||||||
view = document.getElementById("value_6");
|
view = document.getElementById("value_6");
|
||||||
|
input = json.data.wpa_capabilities;
|
||||||
|
view.innerHTML = input || "-";
|
||||||
|
view = document.getElementById("value_7");
|
||||||
input = json.data.last_rundate;
|
input = json.data.last_rundate;
|
||||||
view.innerHTML = input || "-";
|
view.innerHTML = input || "-";
|
||||||
}
|
}
|
||||||
|
@ -128,11 +131,17 @@ This is free software, licensed under the Apache License, Version 2.0
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cbi-value" id="status_6">
|
<div class="cbi-value" id="status_6">
|
||||||
<label class="cbi-value-title" for="status_6"><%:Last Run%></label>
|
<label class="cbi-value-title" for="status_6"><%:WPA Capabilities%></label>
|
||||||
<div class="cbi-value-field">
|
<div class="cbi-value-field">
|
||||||
<span class="runtime" id="value_6">-</span>
|
<span class="runtime" id="value_6">-</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="cbi-value" id="status_7">
|
||||||
|
<label class="cbi-value-title" for="status_7"><%:Last Run%></label>
|
||||||
|
<div class="cbi-value-field">
|
||||||
|
<span class="runtime" id="value_7">-</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<hr />
|
<hr />
|
||||||
<div class="cbi-value" id="button_1">
|
<div class="cbi-value" id="button_1">
|
||||||
<label class="cbi-value-title" for="button_1"><%:Restart Travelmate%></label>
|
<label class="cbi-value-title" for="button_1"><%:Restart Travelmate%></label>
|
||||||
|
|
|
@ -1,31 +1,18 @@
|
||||||
<%#
|
<%#
|
||||||
Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
|
Copyright 2017-2019 Dirk Brenken (dev@brenken.org)
|
||||||
This is free software, licensed under the Apache License, Version 2.0
|
This is free software, licensed under the Apache License, Version 2.0
|
||||||
-%>
|
-%>
|
||||||
|
|
||||||
<%-
|
<%-
|
||||||
local sys = require("luci.sys")
|
local sys = require("luci.sys")
|
||||||
local utl = require("luci.util")
|
local utl = require("luci.util")
|
||||||
local dev = luci.http.formvalue("device")
|
local dev = luci.http.formvalue("device")
|
||||||
local iw = luci.sys.wifi.getiwinfo(dev)
|
local iw = luci.sys.wifi.getiwinfo(dev)
|
||||||
local label = {translate("WPA"), translate("WPA2"), translate("WPA/WPA2")}
|
|
||||||
|
|
||||||
if not iw then
|
if not iw then
|
||||||
luci.http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
|
luci.http.redirect(luci.dispatcher.build_url("admin/services/travelmate/stations"))
|
||||||
end
|
end
|
||||||
|
|
||||||
function format_wifi_encryption(info)
|
|
||||||
if info.wep == true then
|
|
||||||
return translate("WEP")
|
|
||||||
elseif info.wpa > 0 then
|
|
||||||
return "%s (%s/%s)" %{label[info.wpa] or translate("Unknown"), table.concat(info.auth_suites), table.concat(info.group_ciphers)}
|
|
||||||
elseif info.enabled then
|
|
||||||
return translate("Unknown")
|
|
||||||
else
|
|
||||||
return translate("Open")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function percent_wifi_signal(info)
|
function percent_wifi_signal(info)
|
||||||
local qc = info.quality or 0
|
local qc = info.quality or 0
|
||||||
local qm = info.quality_max or 0
|
local qm = info.quality_max or 0
|
||||||
|
@ -59,7 +46,7 @@ This is free software, licensed under the Apache License, Version 2.0
|
||||||
<%=net.bssid and utl.pcdata(net.bssid)%>
|
<%=net.bssid and utl.pcdata(net.bssid)%>
|
||||||
</div>
|
</div>
|
||||||
<div class="td left" style="text-align: left !important">
|
<div class="td left" style="text-align: left !important">
|
||||||
<%=format_wifi_encryption(net.encryption)%>
|
<%=net.encryption.description%>
|
||||||
</div>
|
</div>
|
||||||
<div class="td left" style="text-align: left !important">
|
<div class="td left" style="text-align: left !important">
|
||||||
<%=percent_wifi_signal(net)%> %
|
<%=percent_wifi_signal(net)%> %
|
||||||
|
@ -70,6 +57,7 @@ This is free software, licensed under the Apache License, Version 2.0
|
||||||
<input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/>
|
<input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/>
|
||||||
<input type="hidden" name="ssid" value="<%=utl.pcdata(net.ssid)%>"/>
|
<input type="hidden" name="ssid" value="<%=utl.pcdata(net.ssid)%>"/>
|
||||||
<input type="hidden" name="bssid" value="<%=utl.pcdata(net.bssid)%>"/>
|
<input type="hidden" name="bssid" value="<%=utl.pcdata(net.bssid)%>"/>
|
||||||
|
<input type="hidden" name="description" value="<%=net.encryption.description%>"/>
|
||||||
<input type="hidden" name="wep" value="<%=net.encryption.wep and 1 or 0%>"/>
|
<input type="hidden" name="wep" value="<%=net.encryption.wep and 1 or 0%>"/>
|
||||||
<%- if net.encryption.wpa then -%>
|
<%- if net.encryption.wpa then -%>
|
||||||
<input type="hidden" name="wpa_version" value="<%=net.encryption.wpa%>"/>
|
<input type="hidden" name="wpa_version" value="<%=net.encryption.wpa%>"/>
|
||||||
|
|
Loading…
Reference in a new issue