Initial handling of GTK-not-used cipher suite
This prepares wpa_supplicant for accepting cases where the AP does not use group addressed frames. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
51e3eafb68
commit
dff1e2856d
4 changed files with 20 additions and 6 deletions
|
@ -688,10 +688,11 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
|
|||
os_memcpy(gd.gtk, gtk, gtk_len);
|
||||
gd.gtk_len = gtk_len;
|
||||
|
||||
if (wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
|
||||
gtk_len, gtk_len,
|
||||
&gd.key_rsc_len, &gd.alg) ||
|
||||
wpa_supplicant_install_gtk(sm, &gd, key->key_rsc)) {
|
||||
if (sm->group_cipher != WPA_CIPHER_GTK_NOT_USED &&
|
||||
(wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
|
||||
gtk_len, gtk_len,
|
||||
&gd.key_rsc_len, &gd.alg) ||
|
||||
wpa_supplicant_install_gtk(sm, &gd, key->key_rsc))) {
|
||||
wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
|
||||
"RSN: Failed to install GTK");
|
||||
return -1;
|
||||
|
@ -1112,7 +1113,10 @@ static void wpa_supplicant_process_3_of_4(struct wpa_sm *sm,
|
|||
}
|
||||
wpa_sm_set_state(sm, WPA_GROUP_HANDSHAKE);
|
||||
|
||||
if (ie.gtk &&
|
||||
if (sm->group_cipher == WPA_CIPHER_GTK_NOT_USED) {
|
||||
wpa_supplicant_key_neg_complete(sm, sm->bssid,
|
||||
key_info & WPA_KEY_INFO_SECURE);
|
||||
} else if (ie.gtk &&
|
||||
wpa_supplicant_pairwise_gtk(sm, key,
|
||||
ie.gtk, ie.gtk_len, key_info) < 0) {
|
||||
wpa_msg(sm->ctx->msg_ctx, MSG_INFO,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue