]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
DPP2: Parse DPP KDE in EAPOL-Key Key Data field
authorJouni Malinen <jouni@codeaurora.org>
Fri, 1 May 2020 16:52:31 +0000 (19:52 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 3 May 2020 21:37:44 +0000 (00:37 +0300)
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
src/common/wpa_common.c
src/common/wpa_common.h

index eb1861a8724c7ed1891cd25f82d212636144b7d7..bddc696cf10582779e76e79226ae0d3dcf0930bb 100644 (file)
@@ -2801,6 +2801,15 @@ static int wpa_parse_generic(const u8 *pos, struct wpa_eapol_ie_parse *ie)
                return 0;
        }
 
+       if (pos[1] >= RSN_SELECTOR_LEN + 2 &&
+           RSN_SELECTOR_GET(pos + 2) == WFA_KEY_DATA_DPP) {
+               ie->dpp_kde = pos + 2 + RSN_SELECTOR_LEN;
+               ie->dpp_kde_len = pos[1] - RSN_SELECTOR_LEN;
+               wpa_hexdump(MSG_DEBUG, "WPA: DPP KDE in EAPOL-Key",
+                           pos, pos[1] + 2);
+               return 0;
+       }
+
        return 2;
 }
 
index 9ad9edc73c654546937c6e632f6be0869b56051f..065dc7113de63ab25f0dfd29f26af128cf49f4d6 100644 (file)
@@ -533,6 +533,8 @@ struct wpa_eapol_ie_parse {
        const u8 *ip_addr_alloc;
        const u8 *transition_disable;
        size_t transition_disable_len;
+       const u8 *dpp_kde;
+       size_t dpp_kde_len;
        const u8 *oci;
        size_t oci_len;
        const u8 *osen;