Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching defs:kde

349 static u8 * wpa_add_kde(u8 *pos, const u8 *kde, const u8 *data,
354 os_memcpy(pos, kde, RSN_SELECTOR_LEN);
1085 * MIC=MIC, DataKDs=(RSNIE_I, MAC_P KDE))
1152 /* Peer MAC address KDE */
1775 * GTK KDE format:
1968 const u8 *kde, size_t kde_len,
1975 if (kde)
1976 wpa_hexdump(MSG_DEBUG, "WPA: KDE for msg 4/4", kde, kde_len);
1997 if (kde)
1998 os_memcpy(reply + 1, kde, kde_len);
2032 wpa_printf(MSG_WARNING, "WPA: DHV/IGTK KDE in unencrypted key "
2038 wpa_printf(MSG_WARNING, "WPA: Invalid DHV KDE length %lu",
2044 wpa_printf(MSG_WARNING, "WPA: Invalid IGTK KDE length %lu",
2167 /* Peer MAC Address KDE */
2171 /* Error KDE */
2234 /* Initiator MAC Address KDE */
2255 struct wpa_eapol_ie_parse kde;
2269 if (wpa_supplicant_parse_ies((const u8 *) (key + 1), extra_len, &kde) <
2275 if (kde.rsn_ie == NULL || kde.mac_addr == NULL ||
2276 kde.mac_addr_len < ETH_ALEN) {
2277 wpa_printf(MSG_INFO, "RSN: No RSN IE or MAC address KDE in "
2283 MAC2STR(kde.mac_addr));
2285 if (kde.rsn_ie_len > PEERKEY_MAX_IE_LEN) {
2291 if (wpa_parse_wpa_ie_rsn(kde.rsn_ie, kde.rsn_ie_len, &ie) < 0) {
2305 wpa_supplicant_send_smk_error(sm, src_addr, kde.mac_addr,
2318 os_memcpy(peerkey->addr, kde.mac_addr, ETH_ALEN);
2320 os_memcpy(peerkey->rsnie_i, kde.rsn_ie, kde.rsn_ie_len);
2321 peerkey->rsnie_i_len = kde.rsn_ie_len;
2511 struct wpa_eapol_ie_parse kde;
2522 if (wpa_supplicant_parse_ies((const u8 *) (key + 1), extra_len, &kde) <
2528 if (kde.mac_addr == NULL || kde.mac_addr_len < ETH_ALEN ||
2529 kde.nonce == NULL || kde.nonce_len < WPA_NONCE_LEN ||
2530 kde.smk == NULL || kde.smk_len < PMK_LEN + WPA_NONCE_LEN ||
2531 kde.lifetime == NULL || kde.lifetime_len < 4) {
2533 "Lifetime KDE in SMK M4/M5");
2538 if (os_memcmp(peerkey->addr, kde.mac_addr, ETH_ALEN) == 0 &&
2547 MAC2STR(kde.mac_addr));
2554 MAC2STR(kde.mac_addr));
2555 if (kde.rsn_ie == NULL || kde.rsn_ie_len > PEERKEY_MAX_IE_LEN
2556 || wpa_parse_wpa_ie_rsn(kde.rsn_ie, kde.rsn_ie_len, &ie) <
2570 if (os_memcmp(kde.smk + PMK_LEN, peerkey->inonce,
2572 wpa_printf(MSG_INFO, "RSN: INonce in SMK KDE does not "
2577 os_memcpy(peerkey->rsnie_p, kde.rsn_ie, kde.rsn_ie_len);
2578 peerkey->rsnie_p_len = kde.rsn_ie_len;
2579 os_memcpy(peerkey->pnonce, kde.nonce, WPA_NONCE_LEN);
2591 MAC2STR(kde.mac_addr));
2593 sm, src_addr, kde.mac_addr,
2600 MACSTR ")", MAC2STR(kde.mac_addr));
2602 if (os_memcmp(kde.smk + PMK_LEN, peerkey->pnonce,
2604 wpa_printf(MSG_INFO, "RSN: PNonce in SMK KDE does not "
2609 if (os_memcmp(kde.nonce, peerkey->inonce, WPA_NONCE_LEN) != 0)
2617 os_memcpy(peerkey->smk, kde.smk, PMK_LEN);
2620 lifetime = WPA_GET_BE32(kde.lifetime);
2649 struct wpa_eapol_ie_parse kde;
2662 if (wpa_supplicant_parse_ies((const u8 *) (key + 1), extra_len, &kde) <
2668 if (kde.error == NULL || kde.error_len < sizeof(error)) {
2669 wpa_printf(MSG_INFO, "RSN: No Error KDE in SMK Error");
2673 if (kde.mac_addr && kde.mac_addr_len >= ETH_ALEN)
2674 os_memcpy(peer, kde.mac_addr, ETH_ALEN);
2675 os_memcpy(&error, kde.error, sizeof(error));
2678 "RSN: SMK Error KDE received: MUI %d error_type %d peer "
2683 if (kde.mac_addr &&
2689 if (os_memcmp(peerkey->addr, kde.mac_addr, ETH_ALEN) ==
2711 const u8 *kde;
2723 kde = (const u8 *) (key + 1);
2725 wpa_hexdump(MSG_DEBUG, "RSN: msg 1/4 key data", kde, len);
2726 if (wpa_supplicant_parse_ies(kde, len, &ie) < 0 || ie.pmkid == NULL) {
2784 struct wpa_eapol_ie_parse *kde)
2789 if (kde->lifetime == NULL || kde->lifetime_len < sizeof(lifetime))
2792 lifetime = WPA_GET_BE32(kde->lifetime);
2819 struct wpa_eapol_ie_parse kde;
2826 os_memset(&kde, 0, sizeof(kde));
2829 * from the peer. It may also include Lifetime KDE. */
2833 if (wpa_supplicant_parse_ies(keydata, len, &kde) < 0 ||
2834 kde.pmkid == NULL || kde.rsn_ie == NULL) {
2839 if (os_memcmp(kde.pmkid, peerkey->smkid, PMKID_LEN) != 0) {
2841 kde.pmkid, PMKID_LEN);
2845 if (kde.rsn_ie_len != peerkey->rsnie_p_len ||
2846 os_memcmp(kde.rsn_ie, peerkey->rsnie_p, kde.rsn_ie_len) != 0) {
2852 kde.rsn_ie, kde.rsn_ie_len);
2856 wpa_supplicant_update_smk_lifetime(sm, peerkey, &kde);
2868 struct wpa_eapol_ie_parse kde;
2877 os_memset(&kde, 0, sizeof(kde));
2880 * Lifetime KDE. */
2884 if (wpa_supplicant_parse_ies(keydata, len, &kde) < 0) {
2890 if (kde.rsn_ie_len != peerkey->rsnie_i_len ||
2891 os_memcmp(kde.rsn_ie, peerkey->rsnie_i, kde.rsn_ie_len) != 0) {
2899 kde.rsn_ie, kde.rsn_ie_len);
2911 wpa_supplicant_update_smk_lifetime(sm, peerkey, &kde);