aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2018-10-09 22:50:50 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2018-10-14 13:57:15 +0200
commit4c3fae4adcd41f43cf734e4d07a457b111a3d864 (patch)
treefd869ac36b6df6bae6631e0b87da06668ee0f756
parent18c6c93a3b83831a1e7d7d80c22c477412c56cb4 (diff)
downloadupstream-4c3fae4adcd41f43cf734e4d07a457b111a3d864.tar.gz
upstream-4c3fae4adcd41f43cf734e4d07a457b111a3d864.tar.bz2
upstream-4c3fae4adcd41f43cf734e4d07a457b111a3d864.zip
hostapd: Add WPA-EAP-SUITE-B-192 (WPA3-Enterprise)
This adds support for the WPA3-Enterprise mode authentication. The settings for the WPA3-Enterpriese mode are defined in WPA3_Specification_v1.0.pdf. This mode also requires ieee80211w and guarantees at least 192 bit of security. This does not increase the ipkg size by a significant size. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--package/network/services/hostapd/Makefile4
-rw-r--r--package/network/services/hostapd/files/hostapd.sh15
-rw-r--r--package/network/services/hostapd/src/src/utils/build_features.h4
3 files changed, 18 insertions, 5 deletions
diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile
index 06cf0469ef..41f5f54b82 100644
--- a/package/network/services/hostapd/Makefile
+++ b/package/network/services/hostapd/Makefile
@@ -97,11 +97,11 @@ endif
ifeq ($(LOCAL_VARIANT),full)
ifeq ($(SSL_VARIANT),openssl)
- DRIVER_MAKEOPTS += CONFIG_TLS=openssl CONFIG_SAE=y CONFIG_OWE=y
+ DRIVER_MAKEOPTS += CONFIG_TLS=openssl CONFIG_SAE=y CONFIG_OWE=y CONFIG_SUITEB192=y
TARGET_LDFLAGS += -lcrypto -lssl
endif
ifeq ($(SSL_VARIANT),wolfssl)
- DRIVER_MAKEOPTS += CONFIG_TLS=wolfssl CONFIG_WPS_NFC=1 CONFIG_SAE=y CONFIG_OWE=y
+ DRIVER_MAKEOPTS += CONFIG_TLS=wolfssl CONFIG_WPS_NFC=1 CONFIG_SAE=y CONFIG_OWE=y CONFIG_SUITEB192=y
TARGET_LDFLAGS += -lwolfssl
endif
endif
diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh
index 6a2eb7b023..540d1182cc 100644
--- a/package/network/services/hostapd/files/hostapd.sh
+++ b/package/network/services/hostapd/files/hostapd.sh
@@ -45,6 +45,15 @@ hostapd_append_wpa_key_mgmt() {
[ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-${auth_type_l}"
[ "${ieee80211w:-0}" -gt 0 ] && append wpa_key_mgmt "WPA-${auth_type_l}-SHA256"
;;
+ eap192)
+ append wpa_key_mgmt "WPA-EAP-SUITE-B-192"
+ ;;
+ eap-eap192)
+ append wpa_key_mgmt "WPA-EAP-SUITE-B-192"
+ append wpa_key_mgmt "WPA-EAP"
+ [ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-EAP"
+ [ "${ieee80211w:-0}" -gt 0 ] && append wpa_key_mgmt "WPA-EAP-SHA256"
+ ;;
sae)
append wpa_key_mgmt "SAE"
[ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-SAE"
@@ -307,7 +316,7 @@ hostapd_set_bss_options() {
}
case "$auth_type" in
- sae|owe)
+ sae|owe|eap192|eap-eap192)
set_default ieee80211w 2
set_default sae_require_mfp 1
;;
@@ -350,7 +359,7 @@ hostapd_set_bss_options() {
wps_possible=1
;;
- eap)
+ eap|eap192|eap-eap192)
json_get_vars \
auth_server auth_secret auth_port \
dae_client dae_secret dae_port \
@@ -771,7 +780,7 @@ wpa_supplicant_add_network() {
fi
append network_data "$passphrase" "$N$T"
;;
- eap)
+ eap|eap192|eap-eap192)
hostapd_append_wpa_key_mgmt
key_mgmt="$wpa_key_mgmt"
diff --git a/package/network/services/hostapd/src/src/utils/build_features.h b/package/network/services/hostapd/src/src/utils/build_features.h
index 4013ae7b30..abebecb570 100644
--- a/package/network/services/hostapd/src/src/utils/build_features.h
+++ b/package/network/services/hostapd/src/src/utils/build_features.h
@@ -35,6 +35,10 @@ static inline int has_feature(const char *feat)
if (!strcmp(feat, "owe"))
return 1;
#endif
+#ifdef CONFIG_SUITEB192
+ if (!strcmp(feat, "suiteb192"))
+ return 1;
+#endif
return 0;
}