aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/interworking.c
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2012-08-19 09:47:20 (GMT)
committerJouni Malinen <j@w1.fi>2012-08-19 09:55:12 (GMT)
commit63e5caaa6ffaedac8e6cbe1ea64df7ae70b27e00 (patch)
tree5b45c1ab679abfdf3d9a32f10e618fb9cb40ca8c /wpa_supplicant/interworking.c
parent8601b50312ea816f950b6418a21e67ca11f5d360 (diff)
downloadhostap-63e5caaa6ffaedac8e6cbe1ea64df7ae70b27e00.zip
hostap-63e5caaa6ffaedac8e6cbe1ea64df7ae70b27e00.tar.gz
hostap-63e5caaa6ffaedac8e6cbe1ea64df7ae70b27e00.tar.bz2
Interworking: Do not match credentials without WPA2-Enterprise
Since we currently support only HS 2.0 networks with Interworking network selection, do not indicate credential match unless the network uses WPA2-Enterprise. Signed-hostap: Jouni Malinen <j@w1.fi>
Diffstat (limited to 'wpa_supplicant/interworking.c')
-rw-r--r--wpa_supplicant/interworking.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/wpa_supplicant/interworking.c b/wpa_supplicant/interworking.c
index 71564c1..4a42699 100644
--- a/wpa_supplicant/interworking.c
+++ b/wpa_supplicant/interworking.c
@@ -1014,6 +1014,16 @@ int interworking_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
return -1;
}
+ if (!wpa_bss_get_ie(bss, WLAN_EID_RSN)) {
+ /*
+ * We currently support only HS 2.0 networks and those are
+ * required to use WPA2-Enterprise.
+ */
+ wpa_printf(MSG_DEBUG, "Interworking: Network does not use "
+ "RSN");
+ return -1;
+ }
+
cred = interworking_credentials_available_roaming_consortium(wpa_s,
bss);
if (cred)
@@ -1367,6 +1377,16 @@ static void interworking_select_network(struct wpa_supplicant *wpa_s)
cred = interworking_credentials_available(wpa_s, bss);
if (!cred)
continue;
+ if (!wpa_bss_get_ie(bss, WLAN_EID_RSN)) {
+ /*
+ * We currently support only HS 2.0 networks and those
+ * are required to use WPA2-Enterprise.
+ */
+ wpa_printf(MSG_DEBUG, "Interworking: Credential match "
+ "with " MACSTR " but network does not use "
+ "RSN", MAC2STR(bss->bssid));
+ continue;
+ }
count++;
res = interworking_home_sp(wpa_s, bss->anqp_domain_name);
if (res > 0)