Lines Matching defs:gd
636 const struct wpa_gtk_data *gd,
639 const u8 *_gtk = gd->gtk;
642 wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len);
645 gd->keyidx, gd->tx, gd->gtk_len);
646 wpa_hexdump(MSG_DEBUG, "WPA: RSC", key_rsc, gd->key_rsc_len);
649 os_memcpy(gtk_buf, gd->gtk, 16);
650 os_memcpy(gtk_buf + 16, gd->gtk + 24, 8);
651 os_memcpy(gtk_buf + 24, gd->gtk + 16, 8);
655 if (wpa_sm_set_key(sm, gd->alg, NULL,
656 gd->keyidx, 1, key_rsc, gd->key_rsc_len,
657 _gtk, gd->gtk_len) < 0) {
664 } else if (wpa_sm_set_key(sm, gd->alg, broadcast_ether_addr,
665 gd->keyidx, gd->tx, key_rsc, gd->key_rsc_len,
666 _gtk, gd->gtk_len) < 0) {
670 gd->alg, gd->gtk_len, gd->keyidx);
703 struct wpa_gtk_data gd;
713 os_memset(&gd, 0, sizeof(gd));
717 if (gtk_len < 2 || gtk_len - 2 > sizeof(gd.gtk))
720 gd.keyidx = gtk[0] & 0x3;
721 gd.tx = wpa_supplicant_gtk_tx_bit_workaround(sm,
726 os_memcpy(gd.gtk, gtk, gtk_len);
727 gd.gtk_len = gtk_len;
732 &gd.key_rsc_len, &gd.alg) ||
733 wpa_supplicant_install_gtk(sm, &gd, key->key_rsc))) {
736 os_memset(&gd, 0, sizeof(gd));
739 os_memset(&gd, 0, sizeof(gd));
1192 struct wpa_gtk_data *gd)
1210 maxkeylen = gd->gtk_len = ie.gtk_len - 2;
1213 gd->gtk_len, maxkeylen,
1214 &gd->key_rsc_len, &gd->alg))
1219 gd->keyidx = ie.gtk[0] & 0x3;
1220 gd->tx = wpa_supplicant_gtk_tx_bit_workaround(sm,
1222 if (ie.gtk_len - 2 > sizeof(gd->gtk)) {
1228 os_memcpy(gd->gtk, ie.gtk + 2, ie.gtk_len - 2);
1242 u16 ver, struct wpa_gtk_data *gd)
1246 gd->gtk_len = WPA_GET_BE16(key->key_length);
1259 gd->gtk_len, maxkeylen,
1260 &gd->key_rsc_len, &gd->alg))
1263 gd->keyidx = (key_info & WPA_KEY_INFO_KEY_INDEX_MASK) >>
1267 if (key_data_len > sizeof(gd->gtk)) {
1275 os_memcpy(gd->gtk, key_data, key_data_len);
1276 if (rc4_skip(ek, 32, 256, gd->gtk, key_data_len)) {
1290 if (maxkeylen > sizeof(gd->gtk)) {
1299 gd->gtk)) {
1310 gd->tx = wpa_supplicant_gtk_tx_bit_workaround(
1360 struct wpa_gtk_data gd;
1362 os_memset(&gd, 0, sizeof(gd));
1373 &gd);
1377 key_info, ver, &gd);
1385 if (wpa_supplicant_install_gtk(sm, &gd, key->key_rsc) ||
2684 struct wpa_gtk_data gd;
2686 os_memset(&gd, 0, sizeof(gd));
2688 gd.key_rsc_len = wpa_cipher_rsc_len(sm->group_cipher);
2689 gd.alg = wpa_cipher_to_alg(sm->group_cipher);
2690 if (gd.alg == WPA_ALG_NONE) {
2697 gd.gtk_len = keylen;
2698 if (gd.gtk_len != buf[4]) {
2700 gd.gtk_len, buf[4]);
2703 gd.keyidx = keyinfo & 0x03; /* B0 - B1 */
2704 gd.tx = wpa_supplicant_gtk_tx_bit_workaround(
2707 os_memcpy(gd.gtk, buf + 13, gd.gtk_len);
2710 gd.gtk, gd.gtk_len);
2711 if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) {
2712 os_memset(&gd, 0, sizeof(gd));
2717 os_memset(&gd, 0, sizeof(gd));