aboutsummaryrefslogtreecommitdiffstats
path: root/package/network
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-01-19 10:06:29 +0000
committerFelix Fietkau <nbd@openwrt.org>2016-01-19 10:06:29 +0000
commitfaad8b68a463a42b70b2d93582f79d1ac1e5acca (patch)
treefde01462c5537d76ed9821330324a6260c61caf8 /package/network
parent3b15eb0adeefa0e9282daec091985953d8c035a9 (diff)
downloadupstream-faad8b68a463a42b70b2d93582f79d1ac1e5acca.tar.gz
upstream-faad8b68a463a42b70b2d93582f79d1ac1e5acca.tar.bz2
upstream-faad8b68a463a42b70b2d93582f79d1ac1e5acca.zip
wpa_supplicant: add support for EAP-TLS phase2
Introduce config options client_cert2, priv_key2 and priv_key2_pwd used for EAP-TLS phase2 authentication in WPA-EAP client mode. Signed-off-by: Daniel Golle <daniel@makrotopia.org> SVN-Revision: 48345
Diffstat (limited to 'package/network')
-rw-r--r--package/network/services/hostapd/files/netifd.sh14
1 files changed, 12 insertions, 2 deletions
diff --git a/package/network/services/hostapd/files/netifd.sh b/package/network/services/hostapd/files/netifd.sh
index cedf5d5589..ad96b8b460 100644
--- a/package/network/services/hostapd/files/netifd.sh
+++ b/package/network/services/hostapd/files/netifd.sh
@@ -634,8 +634,19 @@ wpa_supplicant_add_network() {
append network_data "private_key_passwd=\"$priv_key_pwd\"" "$N$T"
;;
fast|peap|ttls)
- json_get_vars auth password
+ json_get_vars auth password ca_cert2 client_cert2 priv_key2 priv_key2_pwd
set_default auth MSCHAPV2
+
+ if [ "$auth" = "EAP-TLS" ]; then
+ [ -n "$ca_cert2" ] &&
+ append network_data "ca_cert2=\"$ca_cert2\"" "$N$T"
+ append network_data "client_cert2=\"$client_cert2\"" "$N$T"
+ append network_data "private_key2=\"$priv_key2\"" "$N$T"
+ append network_data "private_key2_passwd=\"$priv_key2_pwd\"" "$N$T"
+ else
+ append network_data "password=\"$password\"" "$N$T"
+ fi
+
phase2proto="auth="
case "$auth" in
"auth"*)
@@ -648,7 +659,6 @@ wpa_supplicant_add_network() {
;;
esac
append network_data "phase2=\"$phase2proto$auth\"" "$N$T"
- append network_data "password=\"$password\"" "$N$T"
;;
esac
append network_data "eap=$(echo $eap_type | tr 'a-z' 'A-Z')" "$N$T"