]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Fixed canceling of PMKSA caching with driver generated RSN IE
authorJouni Malinen <jouni.malinen@atheros.com>
Fri, 21 Nov 2008 13:31:25 +0000 (15:31 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 21 Nov 2008 13:31:25 +0000 (15:31 +0200)
It looks like some Windows NDIS drivers (e.g., Intel) do not clear the
PMKID list even when wpa_supplicant explicitly sets the list to be
empty. In such a case, the driver ends up trying to use PMKSA caching
with the AP and wpa_supplicant may not have the PMK that would be needed
to complete 4-way handshake.

RSN processing already had some code for aborting PMKSA caching by
sending EAPOL-Start. However, this was not triggered in this particular
case where the driver generates the RSN IE. With this change, this case
is included, too, and the failed PMKSA caching attempt is cleanly
canceled and wpa_supplicant can fall back to full EAP authentication.

src/rsn_supp/wpa.c
wpa_supplicant/ChangeLog

index 1da54f296ec0c7e90341049c8ef98e0a1752c19d..b22147645a12de3db32572317260cbf70646a002 100644 (file)
@@ -266,7 +266,7 @@ static int wpa_supplicant_get_pmk(struct wpa_sm *sm,
                                           "caching attempt");
                                sm->cur_pmksa = NULL;
                                abort_cached = 1;
-                       } else {
+                       } else if (!abort_cached) {
                                return -1;
                        }
                }
index 263291e6b2bb7fc9447ca5ab29437694cd1c7ea6..4f626c6587abb141fc618ff21bf3fc5a6f932f57 100644 (file)
@@ -23,6 +23,9 @@ ChangeLog for wpa_supplicant
          with driver_nl80211.c (the old code from driver_wext.c was removed)
        * added support (Linux only) for RoboSwitch chipsets (often found in
          consumer grade routers); driver interface 'roboswitch'
+       * fixed canceling of PMKSA caching when using drivers that generate
+         RSN IE and refuse to drop PMKIDs that wpa_supplicant does not know
+         about
 
 2008-11-01 - v0.6.5
        * added support for SHA-256 as X.509 certificate digest when using the