From 63e5caaa6ffaedac8e6cbe1ea64df7ae70b27e00 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 19 Aug 2012 12:47:20 +0300 Subject: [PATCH] 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 --- wpa_supplicant/interworking.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/wpa_supplicant/interworking.c b/wpa_supplicant/interworking.c index 71564c1fd..4a4269979 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)