summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2009-03-04 22:43:45 +0000
committerJo-Philipp Wich <jow@openwrt.org>2009-03-04 22:43:45 +0000
commit0feb0a4607bfe4472c60941b59f2fd7e1c4f4947 (patch)
tree9a2d7b7cd1d770ca1cd9357f734eec2ff9937cd3
parentf1b667fc6fd9e9d8eab8a90f5f8f2f4346364597 (diff)
modules/admin-{mini,full}: implement wpa-wpa2 mixed mode
modules/admin-core: extend uci schema to cover mixed mode and mesh mode (802.11s)
-rw-r--r--modules/admin-core/root/lib/uci/schema/default/wireless7
-rw-r--r--modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua4
-rw-r--r--modules/admin-mini/luasrc/model/cbi/mini/wifi.lua12
3 files changed, 19 insertions, 4 deletions
diff --git a/modules/admin-core/root/lib/uci/schema/default/wireless b/modules/admin-core/root/lib/uci/schema/default/wireless
index 85532a1d2..3a1b2c349 100644
--- a/modules/admin-core/root/lib/uci/schema/default/wireless
+++ b/modules/admin-core/root/lib/uci/schema/default/wireless
@@ -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'
diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua b/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua
index 43f0ab681..7d1812177 100644
--- a/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua
+++ b/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua
@@ -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")
diff --git a/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua b/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua
index e1d5b396b..fea123756 100644
--- a/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua
+++ b/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua
@@ -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")