Fix WPA/WPA2 AP rejection on parameter mismatch
authorJouni Malinen <jouni.malinen@atheros.com>
Fri, 8 Apr 2011 16:13:58 +0000 (19:13 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 8 Apr 2011 16:13:58 +0000 (19:13 +0300)
If WPA/WPA2 was enabled in the configuration, the non-WPA exception
could allow an incorrect AP to be selected from scan results. Do
not use the exception if WPA/WPA2 is enabled in configuration.

wpa_supplicant/events.c

index 41c5534..f94fc64 100644 (file)
@@ -435,8 +435,15 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
                return 0;
        }
 
-       /* Allow in non-WPA configuration */
-       return 1;
+       if (!wpa_key_mgmt_wpa(ssid->key_mgmt)) {
+               wpa_dbg(wpa_s, MSG_DEBUG, "   allow in non-WPA/WPA2");
+               return 1;
+       }
+
+       wpa_dbg(wpa_s, MSG_DEBUG, "   reject due to mismatch with "
+               "WPA/WPA2");
+
+       return 0;
 }