Backported wpa_supplicant/hostapd checks for WiFi Encryption configuration
This commit is contained in:
parent
4d1d384f52
commit
b5cd786bc1
7 changed files with 67 additions and 9 deletions
|
@ -32,3 +32,4 @@ wifi_ff = 'Fast Frames'
|
|||
wifi_wmm = 'WMM Mode'
|
||||
wifi_xr = 'XR Support'
|
||||
wifi_ar = 'AR Support'
|
||||
wifi_wpareq = 'WPA-Encryption requires wpa_supplicant (for client mode) or hostapd (for AP and ad-hoc mode) to be installed.'
|
||||
|
|
|
@ -37,4 +37,6 @@
|
|||
<i18n:msg xml:id="wifi_xr">XR Support</i18n:msg>
|
||||
<i18n:msg xml:id="wifi_ar">AR Support</i18n:msg>
|
||||
|
||||
<i18n:msg xml:id="wifi_wpareq">WPA-Encryption requires wpa_supplicant (for client mode) or hostapd (for AP and ad-hoc mode) to be installed.</i18n:msg>
|
||||
|
||||
</i18n:msgs>
|
|
@ -32,3 +32,4 @@ wifi_ff = 'Schnelle Frames'
|
|||
wifi_wmm = 'WMM Modus'
|
||||
wifi_xr = 'XR-Unterstützung'
|
||||
wifi_ar = 'AR-Unterstützung'
|
||||
wifi_wpareq = 'Für WPA-Verschlüsselung muss wpa_supplicant (für Clientmodus) oder hostapd (für AP und Ad-hoc-Modus) installiert sein.'
|
||||
|
|
|
@ -37,4 +37,6 @@
|
|||
<i18n:msg xml:id="wifi_xr">XR-Unterstützung</i18n:msg>
|
||||
<i18n:msg xml:id="wifi_ar">AR-Unterstützung</i18n:msg>
|
||||
|
||||
<i18n:msg xml:id="wifi_wpareq">Für WPA-Verschlüsselung muss wpa_supplicant (für Clientmodus) oder hostapd (für AP und Ad-hoc-Modus) installiert sein.</i18n:msg>
|
||||
|
||||
</i18n:msgs>
|
|
@ -163,6 +163,7 @@ if hwtype == "atheros" then
|
|||
wds = s:option(Flag, "wds", translate("a_w_wds"))
|
||||
wds:depends({mode="ap"})
|
||||
wds:depends({mode="sta"})
|
||||
wds.rmempty = true
|
||||
wdssep = s:option(Flag, "wdssep", translate("wifi_wdssep"))
|
||||
wdssep:depends({mode="ap", wds="1"})
|
||||
wdssep.optional = true
|
||||
|
@ -232,14 +233,42 @@ end
|
|||
------------------- WiFI-Encryption -------------------
|
||||
|
||||
encr = s:option(ListValue, "encryption", translate("encryption"))
|
||||
encr:depends({mode="ap"})
|
||||
encr:depends({mode="sta"})
|
||||
encr:depends({mode="adhoc"})
|
||||
encr:depends({mode="ahdemo"})
|
||||
encr:depends({mode="wds"})
|
||||
|
||||
encr:value("none", "No Encryption")
|
||||
encr:value("wep", "WEP")
|
||||
encr:value("psk", "WPA-PSK")
|
||||
encr:value("psk2", "WPA2-PSK")
|
||||
|
||||
if hwtype == "atheros" or hwtype == "mac80211" then
|
||||
encr:value("wpa", "WPA-EAP", {mode="ap"}, {mode="sta"})
|
||||
encr:value("wpa2i", "WPA2-EAP", {mode="ap"}, {mode="sta"})
|
||||
local supplicant = luci.fs.mtime("/usr/sbin/wpa_supplicant")
|
||||
local hostapd = luci.fs.mtime("/usr/sbin/hostapd")
|
||||
|
||||
if hostapd and supplicant then
|
||||
encr:value("psk", "WPA-PSK")
|
||||
encr:value("psk2", "WPA2-PSK")
|
||||
encr:value("wpa", "WPA-EAP", {mode="ap"}, {mode="sta"})
|
||||
encr:value("wpa2i", "WPA2-EAP", {mode="ap"}, {mode="sta"})
|
||||
elseif hostapd and not supplicant then
|
||||
encr:value("psk", "WPA-PSK", {mode="ap"}, {mode="adhoc"}, {mode="ahdemo"})
|
||||
encr:value("psk2", "WPA2-PSK", {mode="ap"}, {mode="adhoc"}, {mode="ahdemo"})
|
||||
encr:value("wpa", "WPA-EAP", {mode="ap"})
|
||||
encr:value("wpa2i", "WPA2-EAP", {mode="ap"})
|
||||
encr.description = translate("wifi_wpareq")
|
||||
elseif not hostapd and supplicant then
|
||||
encr:value("psk", "WPA-PSK", {mode="sta"})
|
||||
encr:value("psk2", "WPA2-PSK", {mode="sta"})
|
||||
encr:value("wpa", "WPA-EAP", {mode="sta"})
|
||||
encr:value("wpa2i", "WPA2-EAP", {mode="sta"})
|
||||
encr.description = translate("wifi_wpareq")
|
||||
else
|
||||
encr.description = translate("wifi_wpareq")
|
||||
end
|
||||
elseif hwtype == "broadcom" then
|
||||
encr:value("psk", "WPA-PSK")
|
||||
encr:value("psk2", "WPA2-PSK")
|
||||
end
|
||||
|
||||
encr:depends("mode", "ap")
|
||||
|
|
|
@ -21,6 +21,6 @@ function index()
|
|||
|
||||
entry({"mini", "network"}, alias("mini", "network", "index"), i18n("network"), 20)
|
||||
entry({"mini", "network", "index"}, cbi("mini/network"), i18n("general"), 1)
|
||||
entry({"mini", "network", "wifi"}, cbi("mini/wifi"), i18n("wifi"), 10)
|
||||
entry({"mini", "network", "wifi"}, cbi("mini/wifi"), i18n("wifi"), 10).i18n="wifi"
|
||||
entry({"mini", "network", "dhcp"}, cbi("mini/dhcp"), "DHCP", 20)
|
||||
end
|
|
@ -208,10 +208,33 @@ end
|
|||
encr = s:option(ListValue, "encryption", translate("encryption"))
|
||||
encr:value("none", "No Encryption")
|
||||
encr:value("wep", "WEP")
|
||||
encr:value("psk", "WPA-PSK")
|
||||
encr:value("wpa", "WPA-Radius", {mode="ap"})
|
||||
encr:value("psk2", "WPA2-PSK")
|
||||
encr:value("wpa2i", "WPA2-Radius", {mode="ap"})
|
||||
|
||||
if hwtype == "atheros" or hwtype == "mac80211" then
|
||||
local supplicant = luci.fs.mtime("/usr/sbin/wpa_supplicant")
|
||||
local hostapd = luci.fs.mtime("/usr/sbin/hostapd")
|
||||
|
||||
if hostapd and supplicant then
|
||||
encr:value("psk", "WPA-PSK")
|
||||
encr:value("psk2", "WPA2-PSK")
|
||||
encr:value("wpa", "WPA-Radius", {mode="ap"})
|
||||
encr:value("wpa2i", "WPA2-Radius", {mode="ap"})
|
||||
elseif hostapd and not supplicant then
|
||||
encr:value("psk", "WPA-PSK", {mode="ap"}, {mode="adhoc"})
|
||||
encr:value("psk2", "WPA2-PSK", {mode="ap"}, {mode="adhoc"})
|
||||
encr:value("wpa", "WPA-Radius", {mode="ap"})
|
||||
encr:value("wpa2i", "WPA2-Radius", {mode="ap"})
|
||||
encr.description = translate("wifi_wpareq")
|
||||
elseif not hostapd and supplicant then
|
||||
encr:value("psk", "WPA-PSK", {mode="sta"})
|
||||
encr:value("psk2", "WPA2-PSK", {mode="sta"})
|
||||
encr.description = translate("wifi_wpareq")
|
||||
else
|
||||
encr.description = translate("wifi_wpareq")
|
||||
end
|
||||
elseif hwtype == "broadcom" then
|
||||
encr:value("psk", "WPA-PSK")
|
||||
encr:value("psk2", "WPA2-PSK")
|
||||
end
|
||||
|
||||
key = s:option(Value, "key", translate("key"))
|
||||
key:depends("encryption", "wep")
|
||||
|
|
Loading…
Reference in a new issue