Make proactive key caching working again
Function 'wpa_sm_set_config' used the argument 'config' as the network context which is a pointer to a local variable of the function 'wpa_supplicant_rsn_supp_set_config'. This is one reason why no proactive key was generated. This network context never matched with the network context saved in the pmksa cache entries. The structure 'rsn_supp_config' has already a member 'network_ctx' which is now filled in by this patch with 'ssid'. Signed-off-by: Michael Bernhard <michael.bernhard@bfh.ch>
This commit is contained in:
parent
9d6762cfca
commit
886a807fb5
2 changed files with 3 additions and 1 deletions
|
@ -1993,8 +1993,8 @@ void wpa_sm_set_config(struct wpa_sm *sm, struct rsn_supp_config *config)
|
|||
if (!sm)
|
||||
return;
|
||||
|
||||
sm->network_ctx = config;
|
||||
if (config) {
|
||||
sm->network_ctx = config->network_ctx;
|
||||
sm->peerkey_enabled = config->peerkey_enabled;
|
||||
sm->allowed_pairwise_cipher = config->allowed_pairwise_cipher;
|
||||
sm->proactive_key_caching = config->proactive_key_caching;
|
||||
|
@ -2006,6 +2006,7 @@ void wpa_sm_set_config(struct wpa_sm *sm, struct rsn_supp_config *config)
|
|||
} else
|
||||
sm->ssid_len = 0;
|
||||
} else {
|
||||
sm->network_ctx = NULL;
|
||||
sm->peerkey_enabled = 0;
|
||||
sm->allowed_pairwise_cipher = 0;
|
||||
sm->proactive_key_caching = 0;
|
||||
|
|
|
@ -604,6 +604,7 @@ void wpa_supplicant_rsn_supp_set_config(struct wpa_supplicant *wpa_s,
|
|||
struct rsn_supp_config conf;
|
||||
if (ssid) {
|
||||
os_memset(&conf, 0, sizeof(conf));
|
||||
conf.network_ctx = ssid;
|
||||
conf.peerkey_enabled = ssid->peerkey;
|
||||
conf.allowed_pairwise_cipher = ssid->pairwise_cipher;
|
||||
#ifdef IEEE8021X_EAPOL
|
||||
|
|
Loading…
Reference in a new issue