]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Remove wfa_gen_capa_cert from generation capabilities indication
authorJouni Malinen <jouni.malinen@oss.qualcomm.com>
Wed, 26 Nov 2025 21:46:00 +0000 (23:46 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 26 Nov 2025 21:46:00 +0000 (23:46 +0200)
This field was removed from the draft specification.

Signed-off-by: Jouni Malinen <jouni.malinen@oss.qualcomm.com>
tests/hwsim/test_wfa_capab.py
wpa_supplicant/config.c
wpa_supplicant/config.h
wpa_supplicant/config_file.c
wpa_supplicant/wpa_supplicant.c
wpa_supplicant/wpa_supplicant.conf

index 862514556082893cc1a92b055e5a644532ec2788..6e85756a00a2eefa0c6a82c60657dbb1e6f93472 100644 (file)
@@ -23,22 +23,6 @@ def test_wfa_gen_capa_unprotected(dev, apdev):
     finally:
         dev[0].set("wfa_gen_capa", "0")
 
-def test_wfa_gen_capa_protected_cert(dev, apdev):
-    """WFA generational capabilities indication (protected, cert)"""
-    try:
-        dev[0].set("wfa_gen_capa", "1")
-        run_wfa_gen_capa(dev, apdev, cert=True)
-    finally:
-        dev[0].set("wfa_gen_capa", "0")
-
-def test_wfa_gen_capa_unprotected_cert(dev, apdev):
-    """WFA generational capabilities indication (unprotected, cert)"""
-    try:
-        dev[0].set("wfa_gen_capa", "2")
-        run_wfa_gen_capa(dev, apdev, cert=True)
-    finally:
-        dev[0].set("wfa_gen_capa", "0")
-
 def test_wfa_gen_capa_automatic(dev, apdev):
     """WFA generational capabilities indication (automatic)"""
     try:
@@ -47,7 +31,7 @@ def test_wfa_gen_capa_automatic(dev, apdev):
     finally:
         dev[0].set("wfa_gen_capa", "0")
 
-def run_wfa_gen_capa(dev, apdev, cert=False, automatic=False):
+def run_wfa_gen_capa(dev, apdev, automatic=False):
     check_sae_capab(dev[0])
 
     params = hostapd.wpa3_params(ssid="wfa-capab", password="12345678")
@@ -56,13 +40,8 @@ def run_wfa_gen_capa(dev, apdev, cert=False, automatic=False):
     dev[0].set("sae_groups", "")
     if automatic:
         dev[0].set("wfa_gen_capa_supp", "")
-        dev[0].set("wfa_gen_capa_cert", "")
     else:
         dev[0].set("wfa_gen_capa_supp", "07")
-        if cert:
-            dev[0].set("wfa_gen_capa_cert", "07")
-        else:
-            dev[0].set("wfa_gen_capa_cert", "")
     dev[0].connect("wfa-capab", sae_password="12345678", key_mgmt="SAE",
                    ieee80211w="2", scan_freq="2412")
     ev = hapd.wait_event(["WFA-GEN-CAPAB"], timeout=10)
@@ -75,5 +54,5 @@ def run_wfa_gen_capa(dev, apdev, cert=False, automatic=False):
         if not val.startswith("01"):
             raise Exception("Unexpected indication value: " + val)
     else:
-        if val != ("01070107" if cert else "0107"):
+        if val != "0107":
             raise Exception("Unexpected indication value: " + val)
index 5d1aa9697b0d980c0f8b2bbd896bcc16f03d2008..707c58a3a3a789497ad11b56328e4625992012f9 100644 (file)
@@ -3174,7 +3174,6 @@ void wpa_config_free(struct wpa_config *config)
        os_free(config->dpp_extra_conf_req_value);
        wpabuf_free(config->dik);
        wpabuf_free(config->wfa_gen_capa_supp);
-       wpabuf_free(config->wfa_gen_capa_cert);
 
        os_free(config);
 }
@@ -5832,7 +5831,6 @@ static const struct global_parse_data global_fields[] = {
        { BOOL(ft_prepend_pmkid), CFG_CHANGED_FT_PREPEND_PMKID },
        { INT_RANGE(wfa_gen_capa, 0, 2), 0},
        { BIN(wfa_gen_capa_supp), 0 },
-       { BIN(wfa_gen_capa_cert), 0 },
        { BOOL(disable_op_classes_80_80_mhz), 0 },
        { INT(pr_pasn_type), 0 },
        { INT_RANGE(pr_preferred_role, 0, 1), 0},
index 38d0f9fc41fa1016c9f891e0ed97ab981d28c5d7..58b085f4fe4d7f56e6bc893e97fd7569d67d6a6f 100644 (file)
@@ -1891,15 +1891,6 @@ struct wpa_config {
         */
        struct wpabuf *wfa_gen_capa_supp;
 
-       /**
-        * wfa_gen_capa_cert: Certified Generations (hexdump of a bit field)
-        *
-        * This has the same format as wfa_gen_capa_supp. This is an optional
-        * field, but if included, shall have the same length as
-        * wfa_gen_capa_supp.
-        */
-       struct wpabuf *wfa_gen_capa_cert;
-
        /**
         * disable_op_classes_80_80_mhz - Disable advertisement of 80+80 MHz
         * channel capabilities in the Supported Operating Classes element
index 001250301788506731a64ade52db271b2ecfc336..c8be83a878d3c37076d48e580843ed8ffbc8b3f3 100644 (file)
@@ -1776,7 +1776,6 @@ static void wpa_config_write_global(FILE *f, struct wpa_config *config)
        if (config->wfa_gen_capa)
                fprintf(f, "wfa_gen_capa=%d\n", config->wfa_gen_capa);
        write_global_bin(f, "wfa_gen_capa_supp", config->wfa_gen_capa_supp);
-       write_global_bin(f, "wfa_gen_capa_cert", config->wfa_gen_capa_cert);
        if (config->disable_op_classes_80_80_mhz)
                fprintf(f, "disable_op_classes_80_80_mhz=%d\n",
                        config->disable_op_classes_80_80_mhz);
index 72e61fb69bd2ce1594504bb3a842e878ba11a032..56d8ba01878bf82a2ff39e5534a0b480de6b7ae9 100644 (file)
@@ -514,7 +514,6 @@ static struct wpabuf * wpas_wfa_gen_capab_attr(struct wpa_supplicant *wpa_s)
        size_t gen_len, supp_len;
        const u8 *supp;
        u8 supp_buf[1];
-       bool add_cert;
 
        if (wpa_s->conf->wfa_gen_capa == WFA_GEN_CAPA_DISABLED)
                return NULL;
@@ -537,14 +536,7 @@ static struct wpabuf * wpas_wfa_gen_capab_attr(struct wpa_supplicant *wpa_s)
                supp = wpabuf_head(wpa_s->conf->wfa_gen_capa_supp);
        }
 
-       add_cert = wpa_s->conf->wfa_gen_capa_cert &&
-               wpabuf_len(wpa_s->conf->wfa_gen_capa_cert) == supp_len;
-
        gen_len = 1 + supp_len;
-       if (add_cert) {
-               gen_len++;
-               gen_len += wpabuf_len(wpa_s->conf->wfa_gen_capa_cert);
-       }
 
        attr = wpabuf_alloc(2 + gen_len);
        if (!attr)
@@ -554,11 +546,6 @@ static struct wpabuf * wpas_wfa_gen_capab_attr(struct wpa_supplicant *wpa_s)
        wpabuf_put_u8(attr, gen_len);
        wpabuf_put_u8(attr, supp_len);
        wpabuf_put_data(attr, supp, supp_len);
-       if (add_cert) {
-               wpabuf_put_u8(attr,
-                             wpabuf_len(wpa_s->conf->wfa_gen_capa_cert));
-               wpabuf_put_buf(attr, wpa_s->conf->wfa_gen_capa_cert);
-       }
 
        return attr;
 }
index b4513b4fe8ad8bba2dff37308a00b25351008a6c..2ff7b2ebeb319d917c871bb2a82aa6311a07faf7 100644 (file)
@@ -668,11 +668,6 @@ fast_reauth=1
 # bit 2: Wi-Fi 6
 # bit 3: Wi-Fi 7
 #wfa_gen_capa_supp=07
-#
-# wfa_gen_capa_cert: Certified Generations (hexdump of a bit field)
-# This has the same format as wfa_gen_capa_supp. This is an optional field, but
-# if included, shall have the same length as wfa_gen_capa_supp.
-#wfa_gen_capa_cert=07
 
 # credential block
 #