Set GTK rekey offload information after initial group key handshake
The GTK rekey offload information was sent to the driver immediately after the 4-way handshake which ended up being before the initial group key exchange in the case of WPA (v1). This could result in even that initial GTK handshake being offloaded and wpa_supplicant being left in WPA_GROUP_HANDSHAKE state. Fix this by postponing the operation to happen only after the full set of initial EAPOL-Key exchanges have been completed (i.e., in the existing location for WPA2 and a after the group key handshake for WPA). Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
789b9f1d52
commit
392e68e81f
1 changed files with 5 additions and 3 deletions
|
@ -1126,7 +1126,8 @@ static void wpa_supplicant_process_3_of_4(struct wpa_sm *sm,
|
|||
goto failed;
|
||||
}
|
||||
|
||||
wpa_sm_set_rekey_offload(sm);
|
||||
if (ie.gtk)
|
||||
wpa_sm_set_rekey_offload(sm);
|
||||
|
||||
return;
|
||||
|
||||
|
@ -1347,13 +1348,14 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,
|
|||
MAC2STR(sm->bssid), wpa_cipher_txt(sm->group_cipher));
|
||||
wpa_sm_cancel_auth_timeout(sm);
|
||||
wpa_sm_set_state(sm, WPA_COMPLETED);
|
||||
|
||||
wpa_sm_set_rekey_offload(sm);
|
||||
} else {
|
||||
wpa_supplicant_key_neg_complete(sm, sm->bssid,
|
||||
key_info &
|
||||
WPA_KEY_INFO_SECURE);
|
||||
}
|
||||
|
||||
wpa_sm_set_rekey_offload(sm);
|
||||
|
||||
return;
|
||||
|
||||
failed:
|
||||
|
|
Loading…
Reference in a new issue