Fixed opportunistic key caching (OKC)
authorJouni Malinen <j@w1.fi>
Sun, 3 Aug 2008 17:16:59 +0000 (20:16 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 3 Aug 2008 17:16:59 +0000 (20:16 +0300)
wpa_sm_set_config() can be called even if the network block does not
change. However, the previous version ended up calling
pmksa_cache_notify_reconfig() every time and this cleared the network
context from PMKSA cache entries. This prevented OKC from ever being used.

Do not call pmksa_cache_notify_reconfig() if the network context remains
unchanged to allow OKC to be used.

src/rsn_supp/wpa.c
wpa_supplicant/ChangeLog

index 29d900e..89ca473 100644 (file)
@@ -2014,7 +2014,8 @@ void wpa_sm_set_config(struct wpa_sm *sm, struct rsn_supp_config *config)
                sm->eap_conf_ctx = NULL;
                sm->ssid_len = 0;
        }
-       pmksa_cache_notify_reconfig(sm->pmksa);
+       if (config == NULL || config->network_ctx != sm->network_ctx)
+               pmksa_cache_notify_reconfig(sm->pmksa);
 }
 
 
index 56fe042..cd08ab8 100644 (file)
@@ -16,6 +16,7 @@ ChangeLog for wpa_supplicant
          calculations (CONFIG_INTERNAL_LIBTOMMATH_FAST=y)
        * fixed race condition between disassociation event and group key
          handshake to avoid getting stuck in incorrect state [Bug 261]
+       * fixed opportunistic key caching (proactive_key_caching)
 
 2008-02-22 - v0.6.3
        * removed 'nai' and 'eappsk' network configuration variables that were