Interworking: Do not match credentials without WPA2-Enterprise
authorJouni Malinen <j@w1.fi>
Sun, 19 Aug 2012 09:47:20 +0000 (12:47 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 19 Aug 2012 09:55:12 +0000 (12:55 +0300)
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>

wpa_supplicant/interworking.c

index 71564c1..4a42699 100644 (file)
@@ -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)