summaryrefslogtreecommitdiffhomepage
path: root/modules
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2009-03-23 13:41:04 +0000
committerSteven Barth <steven@midlink.org>2009-03-23 13:41:04 +0000
commit6e11559793bb4e1211f8bc9e24cfa1cf706f6ee8 (patch)
tree44be1dda0a3c89652d32c61b9467faf15f669c92 /modules
parent67dc7bb52b3d6e7e8cfdc7e613725f6bc601a21a (diff)
Fix WPA2-EAP support
Diffstat (limited to 'modules')
-rw-r--r--modules/admin-core/root/lib/uci/schema/default/wireless40
-rw-r--r--modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua40
-rw-r--r--modules/admin-mini/luasrc/model/cbi/mini/wifi.lua71
3 files changed, 113 insertions, 38 deletions
diff --git a/modules/admin-core/root/lib/uci/schema/default/wireless b/modules/admin-core/root/lib/uci/schema/default/wireless
index 845706afb..d6a7c0419 100644
--- a/modules/admin-core/root/lib/uci/schema/default/wireless
+++ b/modules/admin-core/root/lib/uci/schema/default/wireless
@@ -430,7 +430,7 @@ config enum
config enum
option variable 'wireless.wifi-iface.encryption'
- option value 'wpa2i'
+ option value 'wpa2'
option title 'WPA2-EAP'
config variable
@@ -438,7 +438,7 @@ config variable
option section 'wireless.wifi-iface'
option title 'RadiusServer'
list depends 'encryption=wpa,mode=ap'
- list depends 'encryption=wpa2i,mode=ap'
+ list depends 'encryption=wpa2,mode=ap'
option datatype host
config variable
@@ -446,7 +446,7 @@ config variable
option section 'wireless.wifi-iface'
option title 'Radius-Port'
list depends 'encryption=wpa,mode=ap'
- list depends 'encryption=wpa2i,mode=ap'
+ list depends 'encryption=wpa2,mode=ap'
option datatype port
config variable
@@ -459,7 +459,7 @@ config variable
list depends 'encryption=psk'
list depends 'encryption=wpa,mode=ap'
list depends 'encryption=psk2'
- list depends 'encryption=wpa2i,mode=ap'
+ list depends 'encryption=wpa2,mode=ap'
list depends 'encryption=psk+psk2'
list depends 'encryption=mixed'
@@ -468,7 +468,7 @@ config variable
option section 'wireless.wifi-iface'
option title 'NAS ID'
list depends 'encryption=wpa,mode=ap'
- list depends 'encryption=wpa2i,mode=ap'
+ list depends 'encryption=wpa2,mode=ap'
config variable
option name 'eap_type'
@@ -476,7 +476,7 @@ config variable
option title 'EAP-Method'
option type enum
list depends 'encryption=wpa,mode=sta'
- list depends 'encryption=wpa2i,mode=sta'
+ list depends 'encryption=wpa2,mode=sta'
config enum
option variable 'wireless.wifi-iface.eap_type'
@@ -485,20 +485,24 @@ config enum
config enum
option variable 'wireless.wifi-iface.eap_type'
option value 'PEAP'
+
+config enum
+ option variable 'wireless.wifi-iface.eap_type'
+ option value 'TTLS'
config variable
option name 'ca_cert'
option section 'wireless.wifi-iface'
option title 'Path to CA-Certificate'
list depends 'encryption=wpa,mode=sta'
- list depends 'encryption=wpa2i,mode=sta'
+ list depends 'encryption=wpa2,mode=sta'
option datatype file
config variable
option name 'priv_key'
option section 'wireless.wifi-iface'
option title 'Path to Private Key'
- list depends 'mode=sta,encryption=wpa2i,eap_type=TLS'
+ list depends 'mode=sta,encryption=wpa2,eap_type=TLS'
list depends 'mode=sta,encryption=wpa,eap_type=TLS'
option datatype file
@@ -507,26 +511,32 @@ config variable
option name 'priv_key_pwd'
option section 'wireless.wifi-iface'
option title 'Password of Private Key'
- list depends 'mode=sta,encryption=wpa2i,eap_type=TLS'
+ list depends 'mode=sta,encryption=wpa2,eap_type=TLS'
list depends 'mode=sta,encryption=wpa,eap_type=TLS'
config variable
option name 'auth'
option section 'wireless.wifi-iface'
- option title 'PEAP-Authentication'
- list depends 'mode=sta,encryption=wpa2i,eap_type=PEAP'
+ option title 'Authentication'
+ list depends 'mode=sta,encryption=wpa2,eap_type=PEAP'
list depends 'mode=sta,encryption=wpa,eap_type=PEAP'
+ list depends 'mode=sta,encryption=wpa2,eap_type=TTLS'
+ list depends 'mode=sta,encryption=wpa,eap_type=TTLS'
config variable
option name 'identity'
option section 'wireless.wifi-iface'
- option title 'PEAP-Identity'
- list depends 'mode=sta,encryption=wpa2i,eap_type=PEAP'
+ option title 'Identity'
+ list depends 'mode=sta,encryption=wpa2,eap_type=PEAP'
list depends 'mode=sta,encryption=wpa,eap_type=PEAP'
+ list depends 'mode=sta,encryption=wpa2,eap_type=TTLS'
+ list depends 'mode=sta,encryption=wpa,eap_type=TTLS'
config variable
option name 'password'
option section 'wireless.wifi-iface'
- option title 'PEAP-Password'
- list depends 'mode=sta,encryption=wpa2i,eap_type=PEAP'
+ option title 'Password'
+ list depends 'mode=sta,encryption=wpa2,eap_type=PEAP'
list depends 'mode=sta,encryption=wpa,eap_type=PEAP'
+ list depends 'mode=sta,encryption=wpa2,eap_type=TTLS'
+ list depends 'mode=sta,encryption=wpa,eap_type=TTLS'
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 7d1812177..94a1c7743 100644
--- a/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua
+++ b/modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua
@@ -293,20 +293,20 @@ if hwtype == "atheros" or hwtype == "mac80211" then
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"})
+ encr:value("wpa2", "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:value("wpa2", "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:value("wpa2", "WPA2-EAP", {mode="sta"})
encr.description = translate("wifi_wpareq")
else
encr.description = translate("wifi_wpareq")
@@ -323,12 +323,12 @@ encr:depends("mode", "wds")
server = s:option(Value, "server", translate("a_w_radiussrv"))
server:depends({mode="ap", encryption="wpa"})
-server:depends({mode="ap", encryption="wpa2i"})
+server:depends({mode="ap", encryption="wpa2"})
server.rmempty = true
port = s:option(Value, "port", translate("a_w_radiusport"))
port:depends({mode="ap", encryption="wpa"})
-port:depends({mode="ap", encryption="wpa2i"})
+port:depends({mode="ap", encryption="wpa2"})
port.rmempty = true
key = s:option(Value, "key", translate("key"))
@@ -336,45 +336,57 @@ key:depends("encryption", "wep")
key:depends("encryption", "psk")
key:depends({mode="ap", encryption="wpa"})
key:depends("encryption", "psk2")
-key:depends({mode="ap", encryption="wpa2i"})
+key:depends({mode="ap", encryption="wpa2"})
key.rmempty = true
if hwtype == "atheros" or hwtype == "mac80211" then
nasid = s:option(Value, "nasid", translate("a_w_nasid"))
nasid:depends({mode="ap", encryption="wpa"})
- nasid:depends({mode="ap", encryption="wpa2i"})
+ nasid:depends({mode="ap", encryption="wpa2"})
nasid.rmempty = true
eaptype = s:option(ListValue, "eap_type", translate("a_w_eaptype"))
eaptype:value("TLS")
+ eaptype:value("TTLS")
eaptype:value("PEAP")
eaptype:depends({mode="sta", encryption="wpa"})
- eaptype:depends({mode="sta", encryption="wpa2i"})
+ eaptype:depends({mode="sta", encryption="wpa2"})
cacert = s:option(FileUpload, "ca_cert", translate("a_w_cacert"))
cacert:depends({mode="sta", encryption="wpa"})
- cacert:depends({mode="sta", encryption="wpa2i"})
+ cacert:depends({mode="sta", encryption="wpa2"})
privkey = s:option(FileUpload, "priv_key", translate("a_w_tlsprivkey"))
- privkey:depends({mode="sta", eap_type="TLS", encryption="wpa2i"})
+ privkey:depends({mode="sta", eap_type="TLS", encryption="wpa2"})
privkey:depends({mode="sta", eap_type="TLS", encryption="wpa"})
privkeypwd = s:option(Value, "priv_key_pwd", translate("a_w_tlsprivkeypwd"))
- privkeypwd:depends({mode="sta", eap_type="TLS", encryption="wpa2i"})
+ privkeypwd:depends({mode="sta", eap_type="TLS", encryption="wpa2"})
privkeypwd:depends({mode="sta", eap_type="TLS", encryption="wpa"})
auth = s:option(Value, "auth", translate("a_w_peapauth"))
- auth:depends({mode="sta", eap_type="PEAP", encryption="wpa2i"})
+ auth:value("PAP")
+ auth:value("CHAP")
+ auth:value("MSCHAP")
+ auth:value("MSCHAPV2")
+ auth:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
auth:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
+ auth:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
+ auth:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
+
identity = s:option(Value, "identity", translate("a_w_peapidentity"))
- identity:depends({mode="sta", eap_type="PEAP", encryption="wpa2i"})
+ identity:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
identity:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
+ identity:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
+ identity:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
password = s:option(Value, "password", translate("a_w_peappassword"))
- password:depends({mode="sta", eap_type="PEAP", encryption="wpa2i"})
+ password:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
password:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
+ password:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
+ password:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
end
diff --git a/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua b/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua
index fea123756..2a76a49f2 100644
--- a/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua
+++ b/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua
@@ -225,19 +225,21 @@ if hwtype == "atheros" or hwtype == "mac80211" 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"})
+ encr:value("wpa", "WPA-Radius", {mode="ap"}, {mode="sta"})
+ encr:value("wpa2", "WPA2-Radius", {mode="ap"}, {mode="sta"})
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:value("wpa2", "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:value("wpa", "WPA-EAP", {mode="sta"})
+ encr:value("wpa2", "WPA2-EAP", {mode="sta"})
encr.description = translate("wifi_wpareq")
else
encr.description = translate("wifi_wpareq")
@@ -251,22 +253,73 @@ end
key = s:option(Value, "key", translate("key"))
key:depends("encryption", "wep")
key:depends("encryption", "psk")
-key:depends("encryption", "wpa")
+key:depends({mode="ap", encryption="wpa"})
key:depends("encryption", "psk2")
-key:depends("encryption", "wpa2i")
+key:depends({mode="ap", encryption="wpa2"})
key.rmempty = true
server = s:option(Value, "server", translate("a_w_radiussrv"))
-server:depends("encryption", "wpa")
-server:depends("encryption", "wpa2i")
+server:depends({mode="ap", encryption="wpa"})
+server:depends({mode="ap", encryption="wpa2"})
server.rmempty = true
port = s:option(Value, "port", translate("a_w_radiusport"))
-port:depends("encryption", "wpa")
-port:depends("encryption", "wpa2i")
+port:depends({mode="ap", encryption="wpa"})
+port:depends({mode="ap", encryption="wpa2"})
port.rmempty = true
+if hwtype == "atheros" or hwtype == "mac80211" then
+ nasid = s:option(Value, "nasid", translate("a_w_nasid"))
+ nasid:depends({mode="ap", encryption="wpa"})
+ nasid:depends({mode="ap", encryption="wpa2"})
+ nasid.rmempty = true
+
+ eaptype = s:option(ListValue, "eap_type", translate("a_w_eaptype"))
+ eaptype:value("TLS")
+ eaptype:value("TTLS")
+ eaptype:value("PEAP")
+ eaptype:depends({mode="sta", encryption="wpa"})
+ eaptype:depends({mode="sta", encryption="wpa2"})
+
+ cacert = s:option(FileUpload, "ca_cert", translate("a_w_cacert"))
+ cacert:depends({mode="sta", encryption="wpa"})
+ cacert:depends({mode="sta", encryption="wpa2"})
+
+ privkey = s:option(FileUpload, "priv_key", translate("a_w_tlsprivkey"))
+ privkey:depends({mode="sta", eap_type="TLS", encryption="wpa2"})
+ privkey:depends({mode="sta", eap_type="TLS", encryption="wpa"})
+
+ privkeypwd = s:option(Value, "priv_key_pwd", translate("a_w_tlsprivkeypwd"))
+ privkeypwd:depends({mode="sta", eap_type="TLS", encryption="wpa2"})
+ privkeypwd:depends({mode="sta", eap_type="TLS", encryption="wpa"})
+
+
+ auth = s:option(Value, "auth", translate("a_w_peapauth"))
+ auth:value("PAP")
+ auth:value("CHAP")
+ auth:value("MSCHAP")
+ auth:value("MSCHAPV2")
+ auth:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
+ auth:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
+ auth:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
+ auth:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
+
+
+ identity = s:option(Value, "identity", translate("a_w_peapidentity"))
+ identity:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
+ identity:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
+ identity:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
+ identity:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
+
+ password = s:option(Value, "password", translate("a_w_peappassword"))
+ password:depends({mode="sta", eap_type="PEAP", encryption="wpa2"})
+ password:depends({mode="sta", eap_type="PEAP", encryption="wpa"})
+ password:depends({mode="sta", eap_type="TTLS", encryption="wpa2"})
+ password:depends({mode="sta", eap_type="TTLS", encryption="wpa"})
+end
+
+
if hwtype == "atheros" or hwtype == "broadcom" then
iso = s:option(Flag, "isolate", translate("a_w_apisolation"), translate("a_w_apisolation1"))
iso.rmempty = true