From c70405cef69a4ee427b2e69dedaad7b7db64e5f7 Mon Sep 17 00:00:00 2001 From: Veerendranath Jakkam Date: Thu, 13 Apr 2023 03:51:15 +0530 Subject: [PATCH] MLD STA: Do not fail on unknown IEs in Authentication frames Fail MLD address validation only if Authentication frames IE parsing actually failed, i.e., ignore all unknown IEs. This is needed to avoid authentication failure when the Authentication frames include IEs which are not handled by ieee802_11_parse_elems(), e.g., AKM Suite Selector IE. Signed-off-by: Veerendranath Jakkam --- wpa_supplicant/sme.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wpa_supplicant/sme.c b/wpa_supplicant/sme.c index f64072e00..f96301644 100644 --- a/wpa_supplicant/sme.c +++ b/wpa_supplicant/sme.c @@ -531,7 +531,7 @@ static void wpas_sme_ml_auth(struct wpa_supplicant *wpa_s, if (ieee802_11_parse_elems(data->auth.ies + ie_offset, data->auth.ies_len - ie_offset, - &elems, 0) != ParseOK) { + &elems, 0) == ParseFailed) { wpa_printf(MSG_DEBUG, "MLD: Failed parsing elements"); goto out; } @@ -1598,7 +1598,7 @@ static int sme_external_ml_auth(struct wpa_supplicant *wpa_s, const u8 *mld_addr; if (ieee802_11_parse_elems(data + ie_offset, len - ie_offset, - &elems, 0) != ParseOK) { + &elems, 0) == ParseFailed) { wpa_printf(MSG_DEBUG, "MLD: Failed parsing elements"); return -1; }