Lines Matching refs:gd

1330 				      const struct wpa_gtk_data *gd,  in wpa_supplicant_install_gtk()  argument
1333 const u8 *_gtk = gd->gtk; in wpa_supplicant_install_gtk()
1337 if ((sm->gtk.gtk_len == (size_t) gd->gtk_len && in wpa_supplicant_install_gtk()
1338 os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) || in wpa_supplicant_install_gtk()
1339 (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len && in wpa_supplicant_install_gtk()
1340 os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk, in wpa_supplicant_install_gtk()
1344 gd->keyidx, gd->tx, gd->gtk_len); in wpa_supplicant_install_gtk()
1348 wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len); in wpa_supplicant_install_gtk()
1351 gd->keyidx, gd->tx, gd->gtk_len); in wpa_supplicant_install_gtk()
1352 wpa_hexdump(MSG_DEBUG, "WPA: RSC", key_rsc, gd->key_rsc_len); in wpa_supplicant_install_gtk()
1355 os_memcpy(gtk_buf, gd->gtk, 16); in wpa_supplicant_install_gtk()
1356 os_memcpy(gtk_buf + 16, gd->gtk + 24, 8); in wpa_supplicant_install_gtk()
1357 os_memcpy(gtk_buf + 24, gd->gtk + 16, 8); in wpa_supplicant_install_gtk()
1361 if (wpa_sm_set_key(sm, -1, gd->alg, NULL, in wpa_supplicant_install_gtk()
1362 gd->keyidx, 1, key_rsc, gd->key_rsc_len, in wpa_supplicant_install_gtk()
1363 _gtk, gd->gtk_len, in wpa_supplicant_install_gtk()
1371 } else if (wpa_sm_set_key(sm, -1, gd->alg, broadcast_ether_addr, in wpa_supplicant_install_gtk()
1372 gd->keyidx, gd->tx, key_rsc, gd->key_rsc_len, in wpa_supplicant_install_gtk()
1373 _gtk, gd->gtk_len, KEY_FLAG_GROUP_RX) < 0) { in wpa_supplicant_install_gtk()
1377 gd->alg, gd->gtk_len, gd->keyidx); in wpa_supplicant_install_gtk()
1384 sm->gtk_wnm_sleep.gtk_len = gd->gtk_len; in wpa_supplicant_install_gtk()
1385 os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk, in wpa_supplicant_install_gtk()
1388 sm->gtk.gtk_len = gd->gtk_len; in wpa_supplicant_install_gtk()
1389 os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len); in wpa_supplicant_install_gtk()
1397 const struct wpa_gtk_data *gd, in wpa_supplicant_install_mlo_gtk() argument
1400 const u8 *gtk = gd->gtk; in wpa_supplicant_install_mlo_gtk()
1404 if ((sm->mlo.links[link_id].gtk.gtk_len == (size_t) gd->gtk_len && in wpa_supplicant_install_mlo_gtk()
1405 os_memcmp(sm->mlo.links[link_id].gtk.gtk, gd->gtk, in wpa_supplicant_install_mlo_gtk()
1408 (size_t) gd->gtk_len && in wpa_supplicant_install_mlo_gtk()
1409 os_memcmp(sm->mlo.links[link_id].gtk_wnm_sleep.gtk, gd->gtk, in wpa_supplicant_install_mlo_gtk()
1413 link_id, gd->keyidx, gd->tx, gd->gtk_len); in wpa_supplicant_install_mlo_gtk()
1417 wpa_hexdump_link_key(MSG_DEBUG, link_id, "RSN: Group Key", gd->gtk, in wpa_supplicant_install_mlo_gtk()
1418 gd->gtk_len); in wpa_supplicant_install_mlo_gtk()
1421 link_id, gd->keyidx, gd->tx, gd->gtk_len); in wpa_supplicant_install_mlo_gtk()
1423 key_rsc, gd->key_rsc_len); in wpa_supplicant_install_mlo_gtk()
1426 os_memcpy(gtk_buf, gd->gtk, 16); in wpa_supplicant_install_mlo_gtk()
1427 os_memcpy(gtk_buf + 16, gd->gtk + 24, 8); in wpa_supplicant_install_mlo_gtk()
1428 os_memcpy(gtk_buf + 24, gd->gtk + 16, 8); in wpa_supplicant_install_mlo_gtk()
1431 if (wpa_sm_set_key(sm, link_id, gd->alg, broadcast_ether_addr, in wpa_supplicant_install_mlo_gtk()
1432 gd->keyidx, gd->tx, key_rsc, gd->key_rsc_len, gtk, in wpa_supplicant_install_mlo_gtk()
1433 gd->gtk_len, KEY_FLAG_GROUP_RX) < 0) { in wpa_supplicant_install_mlo_gtk()
1436 link_id, gd->alg, gd->gtk_len, gd->keyidx); in wpa_supplicant_install_mlo_gtk()
1443 sm->mlo.links[link_id].gtk_wnm_sleep.gtk_len = gd->gtk_len; in wpa_supplicant_install_mlo_gtk()
1444 os_memcpy(sm->mlo.links[link_id].gtk_wnm_sleep.gtk, gd->gtk, in wpa_supplicant_install_mlo_gtk()
1447 sm->mlo.links[link_id].gtk.gtk_len = gd->gtk_len; in wpa_supplicant_install_mlo_gtk()
1448 os_memcpy(sm->mlo.links[link_id].gtk.gtk, gd->gtk, in wpa_supplicant_install_mlo_gtk()
1507 struct wpa_gtk_data gd; in wpa_supplicant_mlo_gtk() local
1517 os_memset(&gd, 0, sizeof(gd)); in wpa_supplicant_mlo_gtk()
1523 gtk_len - RSN_MLO_GTK_KDE_PREFIX_LENGTH > sizeof(gd.gtk)) in wpa_supplicant_mlo_gtk()
1526 gd.keyidx = gtk[0] & 0x3; in wpa_supplicant_mlo_gtk()
1535 os_memcpy(gd.gtk, gtk, gtk_len); in wpa_supplicant_mlo_gtk()
1536 gd.gtk_len = gtk_len; in wpa_supplicant_mlo_gtk()
1540 gtk_len, &gd.key_rsc_len, in wpa_supplicant_mlo_gtk()
1541 &gd.alg) || in wpa_supplicant_mlo_gtk()
1542 wpa_supplicant_install_mlo_gtk(sm, link_id, &gd, key_rsc, 0)) { in wpa_supplicant_mlo_gtk()
1551 forced_memzero(&gd, sizeof(gd)); in wpa_supplicant_mlo_gtk()
1584 struct wpa_gtk_data gd; in wpa_supplicant_pairwise_gtk() local
1595 os_memset(&gd, 0, sizeof(gd)); in wpa_supplicant_pairwise_gtk()
1599 if (gtk_len < 2 || gtk_len - 2 > sizeof(gd.gtk)) in wpa_supplicant_pairwise_gtk()
1602 gd.keyidx = gtk[0] & 0x3; in wpa_supplicant_pairwise_gtk()
1603 gd.tx = wpa_supplicant_gtk_tx_bit_workaround(sm, in wpa_supplicant_pairwise_gtk()
1608 os_memcpy(gd.gtk, gtk, gtk_len); in wpa_supplicant_pairwise_gtk()
1609 gd.gtk_len = gtk_len; in wpa_supplicant_pairwise_gtk()
1618 &gd.key_rsc_len, &gd.alg) || in wpa_supplicant_pairwise_gtk()
1619 wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) { in wpa_supplicant_pairwise_gtk()
1622 forced_memzero(&gd, sizeof(gd)); in wpa_supplicant_pairwise_gtk()
1625 forced_memzero(&gd, sizeof(gd)); in wpa_supplicant_pairwise_gtk()
2998 struct wpa_gtk_data gd; in wpa_supplicant_process_1_of_2_wpa() local
3009 os_memset(&gd, 0, sizeof(gd)); in wpa_supplicant_process_1_of_2_wpa()
3033 &gd.key_rsc_len, &gd.alg)) in wpa_supplicant_process_1_of_2_wpa()
3038 gd.gtk_len = gtk_len; in wpa_supplicant_process_1_of_2_wpa()
3039 gd.keyidx = (key_info & WPA_KEY_INFO_KEY_INDEX_MASK) >> in wpa_supplicant_process_1_of_2_wpa()
3048 if (key_data_len > sizeof(gd.gtk)) { in wpa_supplicant_process_1_of_2_wpa()
3056 os_memcpy(gd.gtk, key_data, key_data_len); in wpa_supplicant_process_1_of_2_wpa()
3057 if (rc4_skip(ek, 32, 256, gd.gtk, key_data_len)) { in wpa_supplicant_process_1_of_2_wpa()
3072 if (maxkeylen > sizeof(gd.gtk)) { in wpa_supplicant_process_1_of_2_wpa()
3081 key_data, gd.gtk)) { in wpa_supplicant_process_1_of_2_wpa()
3092 gd.tx = wpa_supplicant_gtk_tx_bit_workaround( in wpa_supplicant_process_1_of_2_wpa()
3099 if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) || in wpa_supplicant_process_1_of_2_wpa()
3102 forced_memzero(&gd, sizeof(gd)); in wpa_supplicant_process_1_of_2_wpa()
3121 forced_memzero(&gd, sizeof(gd)); in wpa_supplicant_process_1_of_2_wpa()
3133 struct wpa_gtk_data gd; in wpa_supplicant_process_1_of_2() local
3145 os_memset(&gd, 0, sizeof(gd)); in wpa_supplicant_process_1_of_2()
3178 if (gtk_len > sizeof(gd.gtk)) { in wpa_supplicant_process_1_of_2()
3183 maxkeylen = gd.gtk_len = gtk_len; in wpa_supplicant_process_1_of_2()
3208 &gd.key_rsc_len, &gd.alg)) in wpa_supplicant_process_1_of_2()
3213 gd.keyidx = ie.gtk[0] & 0x3; in wpa_supplicant_process_1_of_2()
3214 gd.tx = wpa_supplicant_gtk_tx_bit_workaround(sm, in wpa_supplicant_process_1_of_2()
3216 os_memcpy(gd.gtk, ie.gtk + 2, gtk_len); in wpa_supplicant_process_1_of_2()
3226 if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) || in wpa_supplicant_process_1_of_2()
3229 forced_memzero(&gd, sizeof(gd)); in wpa_supplicant_process_1_of_2()
3242 forced_memzero(&gd, sizeof(gd)); in wpa_supplicant_process_1_of_2()
5279 struct wpa_gtk_data gd; in wpa_wnmsleep_install_key() local
5281 os_memset(&gd, 0, sizeof(gd)); in wpa_wnmsleep_install_key()
5283 gd.key_rsc_len = wpa_cipher_rsc_len(sm->group_cipher); in wpa_wnmsleep_install_key()
5284 gd.alg = wpa_cipher_to_alg(sm->group_cipher); in wpa_wnmsleep_install_key()
5285 if (gd.alg == WPA_ALG_NONE) { in wpa_wnmsleep_install_key()
5292 gd.gtk_len = keylen; in wpa_wnmsleep_install_key()
5293 if (gd.gtk_len != buf[4]) { in wpa_wnmsleep_install_key()
5295 gd.gtk_len, buf[4]); in wpa_wnmsleep_install_key()
5298 gd.keyidx = keyinfo & 0x03; /* B0 - B1 */ in wpa_wnmsleep_install_key()
5299 gd.tx = wpa_supplicant_gtk_tx_bit_workaround( in wpa_wnmsleep_install_key()
5302 os_memcpy(gd.gtk, buf + 13, gd.gtk_len); in wpa_wnmsleep_install_key()
5305 gd.gtk, gd.gtk_len); in wpa_wnmsleep_install_key()
5306 if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) { in wpa_wnmsleep_install_key()
5307 forced_memzero(&gd, sizeof(gd)); in wpa_wnmsleep_install_key()
5312 forced_memzero(&gd, sizeof(gd)); in wpa_wnmsleep_install_key()
6191 struct wpa_gtk_data gd; in fils_process_assoc_resp() local
6332 os_memset(&gd, 0, sizeof(gd)); in fils_process_assoc_resp()
6343 maxkeylen = gd.gtk_len = kde.gtk_len - 2; in fils_process_assoc_resp()
6345 gd.gtk_len, maxkeylen, in fils_process_assoc_resp()
6346 &gd.key_rsc_len, &gd.alg)) in fils_process_assoc_resp()
6350 gd.keyidx = kde.gtk[0] & 0x3; in fils_process_assoc_resp()
6351 gd.tx = wpa_supplicant_gtk_tx_bit_workaround(sm, in fils_process_assoc_resp()
6353 if (kde.gtk_len - 2 > sizeof(gd.gtk)) { in fils_process_assoc_resp()
6358 os_memcpy(gd.gtk, kde.gtk + 2, kde.gtk_len - 2); in fils_process_assoc_resp()
6361 if (wpa_supplicant_install_gtk(sm, &gd, elems.key_delivery, 0) < 0) { in fils_process_assoc_resp()
6410 forced_memzero(&gd, sizeof(gd)); in fils_process_assoc_resp()
6417 forced_memzero(&gd, sizeof(gd)); in fils_process_assoc_resp()