modules/admin-{mini,full}: implement wpa-wpa2 mixed mode

modules/admin-core: extend uci schema to cover mixed mode and mesh mode (802.11s)
This commit is contained in:
Jo-Philipp Wich 2009-03-04 22:43:45 +00:00
parent f1b667fc6f
commit 0feb0a4607
3 changed files with 19 additions and 4 deletions

View file

@ -220,6 +220,11 @@ config enum
option value 'wds'
option title 'WDS'
config enum
option variable 'wireless.wifi-iface.mode'
option value 'mesh'
option title 'Mesh (802.11s)'
config variable
option name 'bssid'
option section 'wireless.wifi-iface'
@ -453,6 +458,8 @@ config variable
list depends 'encryption=wpa,mode=ap'
list depends 'encryption=psk2'
list depends 'encryption=wpa2i,mode=ap'
list depends 'encryption=psk+psk2'
list depends 'encryption=mixed'
config variable
option name 'nasid'

View file

@ -291,17 +291,20 @@ if hwtype == "atheros" or hwtype == "mac80211" then
if hostapd and supplicant then
encr:value("psk", "WPA-PSK")
encr:value("psk2", "WPA2-PSK")
encr:value("mixed", "WPA-PSK/WPA2-PSK Mixed Mode")
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("mixed", "WPA-PSK/WPA2-PSK Mixed Mode", {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("mixed", "WPA-PSK/WPA2-PSK Mixed Mode", {mode="sta"})
encr:value("wpa", "WPA-EAP", {mode="sta"})
encr:value("wpa2i", "WPA2-EAP", {mode="sta"})
encr.description = translate("wifi_wpareq")
@ -311,6 +314,7 @@ if hwtype == "atheros" or hwtype == "mac80211" then
elseif hwtype == "broadcom" then
encr:value("psk", "WPA-PSK")
encr:value("psk2", "WPA2-PSK")
encr:value("psk+psk2", "WPA-PSK/WPA2-PSK Mixed Mode")
end
encr:depends("mode", "ap")

View file

@ -60,7 +60,7 @@ essid = s:option(DummyValue, "ssid", "ESSID")
bssid = s:option(DummyValue, "_bsiid", "BSSID")
function bssid.cfgvalue(self, section)
local ifname = self.map:get(section, "ifname")
return (wifidata[ifname] and (wifidata[ifname].Cell
return (wifidata[ifname] and (wifidata[ifname].Cell
or wifidata[ifname]["Access Point"])) or "-"
end
@ -118,7 +118,7 @@ function chan.cfgvalue(self, section)
return self.map:get(section, "Channel")
or self.map:get(section, "Frequency")
or "-"
end
end
t2:option(DummyValue, "Encryption key", translate("iwscan_encr"))
@ -180,7 +180,7 @@ luci.model.uci.cursor():foreach("wireless", "wifi-device",
function (section)
table.insert(devs, section[".name"])
end)
if #devs > 1 then
device = s:option(DummyValue, "device", translate("device"))
else
@ -224,17 +224,20 @@ if hwtype == "atheros" or hwtype == "mac80211" then
if hostapd and supplicant then
encr:value("psk", "WPA-PSK")
encr:value("psk2", "WPA2-PSK")
encr:value("mixed", "WPA-PSK/WPA2-PSK Mixed Mode")
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("mixed", "WPA-PSK/WPA2-PSK Mixed Mode", {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:value("mixed", "WPA-PSK/WPA2-PSK Mixed Mode", {mode="sta"})
encr.description = translate("wifi_wpareq")
else
encr.description = translate("wifi_wpareq")
@ -242,6 +245,7 @@ if hwtype == "atheros" or hwtype == "mac80211" then
elseif hwtype == "broadcom" then
encr:value("psk", "WPA-PSK")
encr:value("psk2", "WPA2-PSK")
encr:value("psk+psk2", "WPA-PSK/WPA2-PSK Mixed Mode")
end
key = s:option(Value, "key", translate("key"))
@ -267,7 +271,7 @@ if hwtype == "atheros" or hwtype == "broadcom" then
iso = s:option(Flag, "isolate", translate("a_w_apisolation"), translate("a_w_apisolation1"))
iso.rmempty = true
iso:depends("mode", "ap")
hide = s:option(Flag, "hidden", translate("a_w_hideessid"))
hide.rmempty = true
hide:depends("mode", "ap")