Lines Matching refs:kde
974 struct wpa_eapol_ie_parse kde; in wpa_tdls_recv_teardown() local
1007 if (wpa_supplicant_parse_ies((const u8 *) pos, ielen, &kde) < 0) in wpa_tdls_recv_teardown()
1011 if (kde.lnkid == NULL || kde.lnkid_len < 3 * ETH_ALEN) { in wpa_tdls_recv_teardown()
1016 lnkid = (struct wpa_tdls_lnkid *) kde.lnkid; in wpa_tdls_recv_teardown()
1021 if (kde.ftie == NULL || kde.ftie_len < sizeof(*ftie)) { in wpa_tdls_recv_teardown()
1026 ftie = (struct wpa_tdls_ftie *) kde.ftie; in wpa_tdls_recv_teardown()
1032 ftie, kde.ftie_len) < 0) { in wpa_tdls_recv_teardown()
1597 struct wpa_eapol_ie_parse kde; in wpa_tdls_process_discovery_request() local
1623 &kde) < 0) { in wpa_tdls_process_discovery_request()
1628 if (!kde.lnkid) { in wpa_tdls_process_discovery_request()
1634 lnkid = (const struct wpa_tdls_lnkid *) kde.lnkid; in wpa_tdls_process_discovery_request()
1664 static int copy_supp_rates(const struct wpa_eapol_ie_parse *kde, in copy_supp_rates() argument
1667 if (!kde->supp_rates) { in copy_supp_rates()
1673 kde->supp_rates + 2, kde->supp_rates_len - 2, in copy_supp_rates()
1674 kde->ext_supp_rates ? kde->ext_supp_rates + 2 : NULL, in copy_supp_rates()
1675 kde->ext_supp_rates ? kde->ext_supp_rates_len - 2 : 0); in copy_supp_rates()
1680 static int copy_peer_ht_capab(const struct wpa_eapol_ie_parse *kde, in copy_peer_ht_capab() argument
1683 if (!kde->ht_capabilities) { in copy_peer_ht_capab()
1696 os_memcpy(peer->ht_capabilities, kde->ht_capabilities, in copy_peer_ht_capab()
1706 static int copy_peer_vht_capab(const struct wpa_eapol_ie_parse *kde, in copy_peer_vht_capab() argument
1709 if (!kde->vht_capabilities) { in copy_peer_vht_capab()
1722 os_memcpy(peer->vht_capabilities, kde->vht_capabilities, in copy_peer_vht_capab()
1732 static int copy_peer_he_capab(const struct wpa_eapol_ie_parse *kde, in copy_peer_he_capab() argument
1735 if (!kde->he_capabilities) { in copy_peer_he_capab()
1742 peer->he_capabilities = os_memdup(kde->he_capabilities, in copy_peer_he_capab()
1743 kde->he_capab_len); in copy_peer_he_capab()
1747 peer->he_capab_len = kde->he_capab_len; in copy_peer_he_capab()
1755 static int copy_peer_he_6ghz_band_capab(const struct wpa_eapol_ie_parse *kde, in copy_peer_he_6ghz_band_capab() argument
1758 if (!kde->he_6ghz_capabilities) { in copy_peer_he_6ghz_band_capab()
1771 os_memcpy(peer->he_6ghz_band_capabilities, kde->he_6ghz_capabilities, in copy_peer_he_6ghz_band_capab()
1782 static int copy_peer_ext_capab(const struct wpa_eapol_ie_parse *kde, in copy_peer_ext_capab() argument
1785 if (!kde->ext_capab) { in copy_peer_ext_capab()
1791 if (!peer->ext_capab || peer->ext_capab_len < kde->ext_capab_len - 2) { in copy_peer_ext_capab()
1794 peer->ext_capab = os_zalloc(kde->ext_capab_len - 2); in copy_peer_ext_capab()
1799 peer->ext_capab_len = kde->ext_capab_len - 2; in copy_peer_ext_capab()
1800 os_memcpy(peer->ext_capab, kde->ext_capab + 2, peer->ext_capab_len); in copy_peer_ext_capab()
1806 static int copy_peer_eht_capab(const struct wpa_eapol_ie_parse *kde, in copy_peer_eht_capab() argument
1809 if (!kde->eht_capabilities) { in copy_peer_eht_capab()
1816 peer->eht_capabilities = os_memdup(kde->eht_capabilities, in copy_peer_eht_capab()
1817 kde->eht_capab_len); in copy_peer_eht_capab()
1821 peer->eht_capab_len = kde->eht_capab_len; in copy_peer_eht_capab()
1829 static int copy_peer_wmm_capab(const struct wpa_eapol_ie_parse *kde, in copy_peer_wmm_capab() argument
1834 if (!kde->wmm) { in copy_peer_wmm_capab()
1839 if (kde->wmm_len < sizeof(struct wmm_information_element)) { in copy_peer_wmm_capab()
1844 wmm = (struct wmm_information_element *) kde->wmm; in copy_peer_wmm_capab()
1854 static int copy_peer_supp_channels(const struct wpa_eapol_ie_parse *kde, in copy_peer_supp_channels() argument
1857 if (!kde->supp_channels) { in copy_peer_supp_channels()
1863 peer->supp_channels_len < kde->supp_channels_len) { in copy_peer_supp_channels()
1865 peer->supp_channels = os_zalloc(kde->supp_channels_len); in copy_peer_supp_channels()
1870 peer->supp_channels_len = kde->supp_channels_len; in copy_peer_supp_channels()
1872 os_memcpy(peer->supp_channels, kde->supp_channels, in copy_peer_supp_channels()
1880 static int copy_peer_supp_oper_classes(const struct wpa_eapol_ie_parse *kde, in copy_peer_supp_oper_classes() argument
1883 if (!kde->supp_oper_classes) { in copy_peer_supp_oper_classes()
1889 peer->supp_oper_classes_len < kde->supp_oper_classes_len) { in copy_peer_supp_oper_classes()
1891 peer->supp_oper_classes = os_zalloc(kde->supp_oper_classes_len); in copy_peer_supp_oper_classes()
1896 peer->supp_oper_classes_len = kde->supp_oper_classes_len; in copy_peer_supp_oper_classes()
1897 os_memcpy(peer->supp_oper_classes, kde->supp_oper_classes, in copy_peer_supp_oper_classes()
1946 struct wpa_eapol_ie_parse kde; in wpa_tdls_process_tpk_m1() local
2029 if (wpa_supplicant_parse_ies(cpos, ielen, &kde) < 0) in wpa_tdls_process_tpk_m1()
2033 if (kde.lnkid == NULL || kde.lnkid_len < 3 * ETH_ALEN) { in wpa_tdls_process_tpk_m1()
2039 kde.lnkid, kde.lnkid_len); in wpa_tdls_process_tpk_m1()
2040 lnkid = (struct wpa_tdls_lnkid *) kde.lnkid; in wpa_tdls_process_tpk_m1()
2053 if (copy_supp_rates(&kde, peer) < 0) in wpa_tdls_process_tpk_m1()
2056 if (copy_peer_ht_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m1()
2059 if (copy_peer_vht_capab(&kde, peer) < 0 || in wpa_tdls_process_tpk_m1()
2060 copy_peer_he_capab(&kde, peer) < 0 || in wpa_tdls_process_tpk_m1()
2061 copy_peer_he_6ghz_band_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m1()
2064 if (copy_peer_eht_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m1()
2067 if (copy_peer_ext_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m1()
2070 if (copy_peer_supp_channels(&kde, peer) < 0) in wpa_tdls_process_tpk_m1()
2073 if (copy_peer_supp_oper_classes(&kde, peer) < 0) in wpa_tdls_process_tpk_m1()
2076 peer->qos_info = kde.qosinfo; in wpa_tdls_process_tpk_m1()
2079 if (copy_peer_wmm_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m1()
2082 peer->aid = kde.aid; in wpa_tdls_process_tpk_m1()
2116 if (kde.rsn_ie) { in wpa_tdls_process_tpk_m1()
2125 if (kde.ftie == NULL || kde.ftie_len < sizeof(*ftie) || in wpa_tdls_process_tpk_m1()
2126 kde.rsn_ie == NULL) { in wpa_tdls_process_tpk_m1()
2132 if (kde.rsn_ie_len > TDLS_MAX_IE_LEN) { in wpa_tdls_process_tpk_m1()
2139 if (wpa_parse_wpa_ie_rsn(kde.rsn_ie, kde.rsn_ie_len, &ie) < 0) { in wpa_tdls_process_tpk_m1()
2165 if (kde.key_lifetime == NULL) { in wpa_tdls_process_tpk_m1()
2170 timeoutie = (struct wpa_tdls_timeoutie *) kde.key_lifetime; in wpa_tdls_process_tpk_m1()
2203 ftie = (struct wpa_tdls_ftie *) kde.ftie; in wpa_tdls_process_tpk_m1()
2204 os_memcpy(peer->rsnie_i, kde.rsn_ie, kde.rsn_ie_len); in wpa_tdls_process_tpk_m1()
2205 peer->rsnie_i_len = kde.rsn_ie_len; in wpa_tdls_process_tpk_m1()
2230 hdr = (struct rsn_ie_hdr *) kde.rsn_ie; in wpa_tdls_process_tpk_m1()
2359 struct wpa_eapol_ie_parse kde; in wpa_tdls_process_tpk_m2() local
2443 if (wpa_supplicant_parse_ies(pos, ielen, &kde) < 0) in wpa_tdls_process_tpk_m2()
2455 if (kde.lnkid == NULL || kde.lnkid_len < 3 * ETH_ALEN) { in wpa_tdls_process_tpk_m2()
2461 kde.lnkid, kde.lnkid_len); in wpa_tdls_process_tpk_m2()
2462 lnkid = (struct wpa_tdls_lnkid *) kde.lnkid; in wpa_tdls_process_tpk_m2()
2471 if (copy_supp_rates(&kde, peer) < 0) in wpa_tdls_process_tpk_m2()
2474 if (copy_peer_ht_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m2()
2477 if (copy_peer_vht_capab(&kde, peer) < 0 || in wpa_tdls_process_tpk_m2()
2478 copy_peer_he_capab(&kde, peer) < 0 || in wpa_tdls_process_tpk_m2()
2479 copy_peer_he_6ghz_band_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m2()
2482 if (copy_peer_eht_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m2()
2485 if (copy_peer_ext_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m2()
2488 if (copy_peer_supp_channels(&kde, peer) < 0) in wpa_tdls_process_tpk_m2()
2491 if (copy_peer_supp_oper_classes(&kde, peer) < 0) in wpa_tdls_process_tpk_m2()
2494 peer->qos_info = kde.qosinfo; in wpa_tdls_process_tpk_m2()
2497 if (copy_peer_wmm_capab(&kde, peer) < 0) in wpa_tdls_process_tpk_m2()
2500 peer->aid = kde.aid; in wpa_tdls_process_tpk_m2()
2508 if (kde.ftie == NULL || kde.ftie_len < sizeof(*ftie) || in wpa_tdls_process_tpk_m2()
2509 kde.rsn_ie == NULL) { in wpa_tdls_process_tpk_m2()
2515 kde.rsn_ie, kde.rsn_ie_len); in wpa_tdls_process_tpk_m2()
2517 if (kde.rsn_ie_len > TDLS_MAX_IE_LEN) { in wpa_tdls_process_tpk_m2()
2530 if (kde.rsn_ie_len != peer->rsnie_i_len || in wpa_tdls_process_tpk_m2()
2531 os_memcmp(peer->rsnie_i, kde.rsn_ie, peer->rsnie_i_len) != 0) { in wpa_tdls_process_tpk_m2()
2537 kde.rsn_ie, kde.rsn_ie_len); in wpa_tdls_process_tpk_m2()
2542 if (wpa_parse_wpa_ie_rsn(kde.rsn_ie, kde.rsn_ie_len, &ie) < 0) { in wpa_tdls_process_tpk_m2()
2559 kde.ftie, sizeof(*ftie)); in wpa_tdls_process_tpk_m2()
2560 ftie = (struct wpa_tdls_ftie *) kde.ftie; in wpa_tdls_process_tpk_m2()
2571 os_memcpy(peer->rsnie_p, kde.rsn_ie, kde.rsn_ie_len); in wpa_tdls_process_tpk_m2()
2572 peer->rsnie_p_len = kde.rsn_ie_len; in wpa_tdls_process_tpk_m2()
2576 if (kde.key_lifetime == NULL) { in wpa_tdls_process_tpk_m2()
2581 timeoutie = (struct wpa_tdls_timeoutie *) kde.key_lifetime; in wpa_tdls_process_tpk_m2()
2601 kde.ftie_len) < 0) { in wpa_tdls_process_tpk_m2()
2659 struct wpa_eapol_ie_parse kde; in wpa_tdls_process_tpk_m3() local
2704 if (wpa_supplicant_parse_ies((const u8 *) pos, ielen, &kde) < 0) { in wpa_tdls_process_tpk_m3()
2709 if (kde.lnkid == NULL || kde.lnkid_len < 3 * ETH_ALEN) { in wpa_tdls_process_tpk_m3()
2714 (u8 *) kde.lnkid, kde.lnkid_len); in wpa_tdls_process_tpk_m3()
2715 lnkid = (struct wpa_tdls_lnkid *) kde.lnkid; in wpa_tdls_process_tpk_m3()
2726 if (kde.ftie == NULL || kde.ftie_len < sizeof(*ftie)) { in wpa_tdls_process_tpk_m3()
2731 kde.ftie, sizeof(*ftie)); in wpa_tdls_process_tpk_m3()
2732 ftie = (struct wpa_tdls_ftie *) kde.ftie; in wpa_tdls_process_tpk_m3()
2734 if (kde.rsn_ie == NULL) { in wpa_tdls_process_tpk_m3()
2739 kde.rsn_ie, kde.rsn_ie_len); in wpa_tdls_process_tpk_m3()
2740 if (kde.rsn_ie_len != peer->rsnie_p_len || in wpa_tdls_process_tpk_m3()
2741 os_memcmp(kde.rsn_ie, peer->rsnie_p, peer->rsnie_p_len) != 0) { in wpa_tdls_process_tpk_m3()
2759 if (kde.key_lifetime == NULL) { in wpa_tdls_process_tpk_m3()
2763 timeoutie = (struct wpa_tdls_timeoutie *) kde.key_lifetime; in wpa_tdls_process_tpk_m3()
2777 kde.ftie_len) < 0) { in wpa_tdls_process_tpk_m3()