]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
MLD STA: Do not fail on unknown IEs in Authentication frames
authorVeerendranath Jakkam <quic_vjakkam@quicinc.com>
Wed, 12 Apr 2023 22:21:15 +0000 (03:51 +0530)
committerJouni Malinen <j@w1.fi>
Wed, 19 Apr 2023 08:50:55 +0000 (11:50 +0300)
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 <quic_vjakkam@quicinc.com>
wpa_supplicant/sme.c

index f64072e0037bab5f68355cc69560c5c4e2f61714..f963016445708423f86d900d3025fd957bb7b33b 100644 (file)
@@ -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;
        }