FILS: Update cache identifier on association

This is needed when offloading FILS shared key to the drivers.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Vidyullatha Kanchanapally 2017-03-22 16:10:05 +05:30 committed by Jouni Malinen
parent f705f41b7f
commit bbe7969d63
3 changed files with 22 additions and 0 deletions

View file

@ -4073,3 +4073,14 @@ int owe_process_assoc_resp(struct wpa_sm *sm, const u8 *resp_ies,
} }
#endif /* CONFIG_OWE */ #endif /* CONFIG_OWE */
void wpa_sm_set_fils_cache_id(struct wpa_sm *sm, const u8 *fils_cache_id)
{
#ifdef CONFIG_FILS
if (sm && fils_cache_id) {
sm->fils_cache_id_set = 1;
os_memcpy(sm->fils_cache_id, fils_cache_id, FILS_CACHE_ID_LEN);
}
#endif /* CONFIG_FILS */
}

View file

@ -455,5 +455,6 @@ int owe_process_assoc_resp(struct wpa_sm *sm, const u8 *resp_ies,
size_t resp_ies_len); size_t resp_ies_len);
void wpa_sm_set_reset_fils_completed(struct wpa_sm *sm, int set); void wpa_sm_set_reset_fils_completed(struct wpa_sm *sm, int set);
void wpa_sm_set_fils_cache_id(struct wpa_sm *sm, const u8 *fils_cache_id);
#endif /* WPA_H */ #endif /* WPA_H */

View file

@ -2653,6 +2653,16 @@ static void wpa_supplicant_event_assoc(struct wpa_supplicant *wpa_s,
if (wpa_s->reassoc_same_bss) if (wpa_s->reassoc_same_bss)
wmm_ac_restore_tspecs(wpa_s); wmm_ac_restore_tspecs(wpa_s);
} }
#ifdef CONFIG_FILS
if (wpa_key_mgmt_fils(wpa_s->key_mgmt)) {
struct wpa_bss *bss = wpa_bss_get_bssid(wpa_s, bssid);
const u8 *fils_cache_id = wpa_bss_get_fils_cache_id(bss);
if (fils_cache_id)
wpa_sm_set_fils_cache_id(wpa_s->wpa, fils_cache_id);
}
#endif /* CONFIG_FILS */
} }