From 0feb0a4607bfe4472c60941b59f2fd7e1c4f4947 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 4 Mar 2009 22:43:45 +0000 Subject: [PATCH] modules/admin-{mini,full}: implement wpa-wpa2 mixed mode modules/admin-core: extend uci schema to cover mixed mode and mesh mode (802.11s) --- .../admin-core/root/lib/uci/schema/default/wireless | 7 +++++++ .../luasrc/model/cbi/admin_network/wifi.lua | 4 ++++ modules/admin-mini/luasrc/model/cbi/mini/wifi.lua | 12 ++++++++---- 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") -- 2.25.1