]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Update IEEE 802.11 references to point to the latest standard
authorJouni Malinen <jouni.malinen@oss.qualcomm.com>
Fri, 23 May 2025 12:35:29 +0000 (15:35 +0300)
committerJouni Malinen <j@w1.fi>
Fri, 23 May 2025 13:05:21 +0000 (16:05 +0300)
Update references to various draft versions of the IEEE 802.11 standard
or amendments to point to the latest standard.

Signed-off-by: Jouni Malinen <jouni.malinen@oss.qualcomm.com>
12 files changed:
src/ap/hostapd.c
src/ap/ieee802_11.c
src/ap/ieee802_11_eht.c
src/ap/neighbor_db.c
src/ap/rrm.c
src/common/common_module_tests.c
src/common/ieee802_11_defs.h
src/common/wpa_common.c
src/common/wpa_common.h
wpa_supplicant/ctrl_iface.c
wpa_supplicant/rrm.c
wpa_supplicant/wnm_sta.c

index f4d78ef6aaa77157b2eaa79998231967d13d8d3a..049777b0a12de87d52321cdfea802f0a548bafb8 100644 (file)
@@ -1570,7 +1570,7 @@ setup_mld:
 
        /*
         * Short SSID calculation is identical to FCS and it is defined in
-        * IEEE P802.11-REVmd/D3.0, 9.4.2.170.3 (Calculating the Short-SSID).
+        * IEEE Std 802.11-2024, 9.4.2.169.3 (Calculating the Short-SSID).
         */
        conf->ssid.short_ssid = ieee80211_crc32(conf->ssid.ssid,
                                                conf->ssid.ssid_len);
index e5939a1f14874c8dc753d012a99091cb6dd7bb4f..47375abbaf94e654ecb3120e75158112749abf68 100644 (file)
@@ -6493,7 +6493,8 @@ static int handle_action(struct hostapd_data *hapd,
                struct ieee80211_mgmt *resp;
 
                /*
-                * IEEE 802.11-REVma/D9.0 - 7.3.1.11
+                * IEEE Std 802.11-2020, 10.28.4 (Response to an invalid Action
+                * and Action No Ack frame)
                 * Return the Action frame to the source without change
                 * except that MSB of the Category set to 1.
                 */
@@ -7565,7 +7566,8 @@ static u8 * hostapd_eid_wb_channel_switch(struct hostapd_data *hapd, u8 *eid,
        u8 bw;
 
        /* bandwidth: 0: 40, 1: 80, 160, 80+80, 4 to 255 reserved as per
-        * IEEE P802.11-REVme/D7.0, 9.4.2.159 and Table 9-316.
+        * IEEE Std 802.11-2024, 9.4.2.156 and Table 9-316 (VHT Operation
+        * Information subfields).
         */
        switch (hapd->cs_freq_params.bandwidth) {
        case 320:
@@ -7585,7 +7587,8 @@ static u8 * hostapd_eid_wb_channel_switch(struct hostapd_data *hapd, u8 *eid,
                /* fallthrough */
        case 160:
                /* Update the CCFS0 and CCFS1 values in the element based on
-                * IEEE P802.11-REVme/D7.0, Table 9-316
+                * IEEE Std 802.11-2024, Table 9-316 (VHT Operation
+                * Information subfields).
                 */
 
                /* CCFS1 - The channel center frequency index of the 160 MHz
index 07b6727f3eba2be22131ec231dfb0224b1874181..fe4d0ce5659b05a93204d4cc1c711ce9a940798a 100644 (file)
@@ -1057,7 +1057,7 @@ static const u8 * auth_skip_fixed_fields(struct hostapd_data *hapd,
 #endif /* CONFIG_SAE */
        const u8 *pos = mgmt->u.auth.variable;
 
-       /* Skip fixed fields as based on IEE P802.11-REVme/D3.0, Table 9-69
+       /* Skip fixed fields as based on IEEE Std 802.11-2024, Table 9-71
         * (Presence of fields and elements in Authentications frames) */
        switch (auth_alg) {
        case WLAN_AUTH_OPEN:
index f7a7d83d427deb690dbe11d6cd4b1957b5a2c786..1768982d8c2d7416c8c8267411b8d888e2e6577c 100644 (file)
@@ -266,8 +266,6 @@ void hostapd_neighbor_set_own_report(struct hostapd_data *hapd)
        if (ht) {
                bssid_info |= NEI_REP_BSSID_INFO_HT |
                        NEI_REP_BSSID_INFO_DELAYED_BA;
-
-               /* VHT bit added in IEEE P802.11-REVmc/D4.3 */
                if (vht)
                        bssid_info |= NEI_REP_BSSID_INFO_VHT;
        }
@@ -317,8 +315,8 @@ void hostapd_neighbor_set_own_report(struct hostapd_data *hapd)
 
        /*
         * Wide Bandwidth Channel subelement may be needed to allow the
-        * receiving STA to send packets to the AP. See IEEE P802.11-REVmc/D5.0
-        * Figure 9-301.
+        * receiving STA to send packets to the AP. See IEEE Std 802.11-2024,
+        * Figure 9-423 (Wide Bandwidth Channel subelement format).
         */
        wpabuf_put_u8(nr, WNM_NEIGHBOR_WIDE_BW_CHAN);
        wpabuf_put_u8(nr, 3);
index fbcddf3f98c918b39cfabb6a4aabde4e98c75463..73771e4c5e11c18c3c3ac261e943c652955e6ac3 100644 (file)
@@ -536,13 +536,14 @@ int hostapd_send_range_req(struct hostapd_data *hapd, const u8 *addr,
        if (!hapd->range_req_token) /* For wraparounds */
                hapd->range_req_token++;
 
-       /* IEEE P802.11-REVmc/D5.0, 9.6.7.2 */
+       /* IEEE Std 802.11-2024, 9.6.6.2 (Radio Measurement Request frame
+        * format) */
        wpabuf_put_u8(buf, WLAN_ACTION_RADIO_MEASUREMENT);
        wpabuf_put_u8(buf, WLAN_RRM_RADIO_MEASUREMENT_REQUEST);
        wpabuf_put_u8(buf, hapd->range_req_token); /* Dialog Token */
        wpabuf_put_le16(buf, 0); /* Number of Repetitions */
 
-       /* IEEE P802.11-REVmc/D5.0, 9.4.2.21 */
+       /* IEEE Std 802.11-2024, 9.4.2.19 (Measurement Request element) */
        wpabuf_put_u8(buf, WLAN_EID_MEASURE_REQUEST);
        len = wpabuf_put(buf, 1); /* Length will be set later */
 
@@ -554,7 +555,7 @@ int hostapd_send_range_req(struct hostapd_data *hapd, const u8 *addr,
        wpabuf_put_u8(buf, 0); /* Measurement Request Mode */
        wpabuf_put_u8(buf, MEASURE_TYPE_FTM_RANGE); /* Measurement Type */
 
-       /* IEEE P802.11-REVmc/D5.0, 9.4.2.21.19 */
+       /* IEEE Std 802.11-2024, 9.4.2.19.19 (FTM Range request) */
        wpabuf_put_le16(buf, random_interval); /* Randomization Interval */
        wpabuf_put_u8(buf, min_ap); /* Minimum AP Count */
 
index 5763c51f4c83f026036381cfce1f93571bf92d23..4339fc772f884fe4b18c61fde86358b54348cd47 100644 (file)
@@ -608,7 +608,8 @@ static int sae_pk_tests(void)
 
 static int pasn_test_pasn_auth(void)
 {
-       /* Test vector taken from IEEE P802.11az/D2.6, J.12 */
+       /* Test vector taken from IEEE Std 802.11-2024,
+        * J.12 (PASN Test Vectors) */
        const u8 pmk[] = {
                0xde, 0xf4, 0x3e, 0x55, 0x67, 0xe0, 0x1c, 0xa6,
                0x64, 0x92, 0x65, 0xf1, 0x9a, 0x29, 0x0e, 0xef,
@@ -680,7 +681,8 @@ static int pasn_test_pasn_auth(void)
 
 static int pasn_test_no_pasn_auth(void)
 {
-       /* Test vector taken from IEEE P802.11az/D2.6, J.13 */
+       /* Test vector taken from IEEE Std 802.11-2024,
+        * J.13 (KDK Test Vectors when PASN authentication is not used) */
        const u8 pmk[] = {
                0xde, 0xf4, 0x3e, 0x55, 0x67, 0xe0, 0x1c, 0xa6,
                0x64, 0x92, 0x65, 0xf1, 0x9a, 0x29, 0x0e, 0xef,
index 4dcdcbcb158f3197f4c0a5e21fefd591a087a314..8ded386e5bf9bbdcb93654a789a53f3a0c3f020b 100644 (file)
 #define WLAN_PA_FILS_DISCOVERY 34
 #define WLAN_PA_LOCATION_MEASUREMENT_REPORT 47
 
-/* HT Action field values (IEEE P802.11-REVme/D4.0, 9.6.11.1, Table 9-491) */
+/* HT Action field values (IEEE Std 802.11-2024, 9.6.11.1, Table 9-517) */
 #define WLAN_HT_ACTION_NOTIFY_CHANWIDTH 0
 #define WLAN_HT_ACTION_SMPS 1
 #define WLAN_HT_ACTION_CSI 4
 #define WLAN_HT_ACTION_COMPRESSED_BF 6
 #define WLAN_HT_ACTION_ASEL_IDX_FEEDBACK 7
 
-/* VHT Action field values (IEEE P802.11-REVme/D4.0, 9.6.22.1, Table 9-579) */
+/* VHT Action field values (IEEE Std 802.11-2024, 9.6.22.1, Table 9-605) */
 #define WLAN_VHT_ACTION_COMPRESSED_BF 0
 #define WLAN_VHT_ACTION_GROUP_ID_MGMT 1
 #define WLAN_VHT_ACTION_OPMODE_NOTIF 2
@@ -2550,7 +2550,8 @@ struct ieee80211_spatial_reuse {
 /**
  * enum he_reg_info_6ghz_ap_type - Allowed Access Point types for 6 GHz Band
  *
- * IEEE P802.11-REVme/D4.0, Table E-12 (Regulatory Info subfield encoding)
+ * IEEE Std 802.11-2024, Table E-12 (Regulatory Info subfield interpretation by
+ * non-AP STAs with dot11ExtendedRegInfoSupport not set to true)
  */
 enum he_reg_info_6ghz_ap_type {
        HE_REG_INFO_6GHZ_AP_TYPE_INDOOR         = 0,
index e5e99b95d8f1bd999f0b81bcd5ba67c0d895d268..4367a227dd7315ff22ef98cf66090d677f22d197 100644 (file)
@@ -1420,8 +1420,9 @@ void wpa_ft_parse_ies_free(struct wpa_ft_ies *parse)
  * @akmp: Authentication and key management protocol
  * @cipher: The cipher suite
  *
- * According to IEEE P802.11az/D2.7, 12.12.7, the hash algorithm to use is the
- * hash algorithm defined for the Base AKM (see Table 9-151 (AKM suite
+ * According to IEEE Std 802.11-2024, 12.13.8 (PTKSA derivation with PASN
+ * authentication), the hash algorithm to use is the
+ * hash algorithm defined for the Base AKM (see Table 9-190 (AKM suite
  * selectors)). When there is no Base AKM, the hash algorithm is selected based
  * on the pairwise cipher suite provided in the RSNE by the AP in the second
  * PASN frame. SHA-256 is used as the hash algorithm, except for the ciphers
index d2c326c43c168fe51208bd7624e60dd2d7688612..5b9773e3304554170d3479151af51e5a4a0641d8 100644 (file)
@@ -614,7 +614,7 @@ struct wpa_ft_ies {
        struct wpabuf *fte_buf;
 };
 
-/* IEEE P802.11az/D2.6 - 9.4.2.303 PASN Parameters element */
+/* IEEE Std 802.11-2024 - 9.4.2.305 PASN Parameters element */
 #define WPA_PASN_CTRL_COMEBACK_INFO_PRESENT BIT(0)
 #define WPA_PASN_CTRL_GROUP_AND_KEY_PRESENT BIT(1)
 
index 96737fb2153178b5510d724867ca16fa41d84db4..97d9ae1f09b0252e3a52bfa5524ce1e4962a67c1 100644 (file)
@@ -10781,7 +10781,7 @@ static void wpas_ctrl_neighbor_rep_cb(void *ctx, struct wpabuf *neighbor_rep)
        const u8 *data;
 
        /*
-        * Neighbor Report element (IEEE P802.11-REVmc/D5.0)
+        * Neighbor Report element (IEEE Std 802.11-2024, 9.4.2.35)
         * BSSID[6]
         * BSSID Information[4]
         * Operating Class[1]
index 2ec43105ceec5c5af09f9e898b64ded07d98bdd6..88241e7360f13034edf8de12c6b9bfcfd95adf32 100644 (file)
@@ -198,7 +198,8 @@ int wpas_rrm_send_neighbor_rep_request(struct wpa_supplicant *wpa_s,
        }
 
        if (lci) {
-               /* IEEE P802.11-REVmc/D5.0 9.4.2.21 */
+               /* IEEE Std 802.11-2024, 9.4.2.19 (Measurement Request element)
+                */
                wpabuf_put_u8(buf, WLAN_EID_MEASURE_REQUEST);
                wpabuf_put_u8(buf, MEASURE_REQUEST_LCI_LEN);
 
@@ -215,13 +216,14 @@ int wpas_rrm_send_neighbor_rep_request(struct wpa_supplicant *wpa_s,
                wpabuf_put_u8(buf, 0); /* Measurement Request Mode */
                wpabuf_put_u8(buf, MEASURE_TYPE_LCI); /* Measurement Type */
 
-               /* IEEE P802.11-REVmc/D5.0 9.4.2.21.10 - LCI request */
+               /* IEEE Std 802.11-2024, 9.4.2.19.10 (LCI request) */
                /* Location Subject */
                wpabuf_put_u8(buf, LOCATION_SUBJECT_REMOTE);
 
                /* Optional Subelements */
                /*
-                * IEEE P802.11-REVmc/D5.0 Figure 9-170
+                * IEEE Std 802.11-2024, Figure 9-265 (Maximum Age subelement
+                * format)
                 * The Maximum Age subelement is required, otherwise the AP can
                 * send only data that was determined after receiving the
                 * request. Setting it here to unlimited age.
@@ -232,7 +234,8 @@ int wpas_rrm_send_neighbor_rep_request(struct wpa_supplicant *wpa_s,
        }
 
        if (civic) {
-               /* IEEE P802.11-REVmc/D5.0 9.4.2.21 */
+               /* IEEE Std 802.11-2024, 9.4.2.19 (Measurement Request element)
+                */
                wpabuf_put_u8(buf, WLAN_EID_MEASURE_REQUEST);
                wpabuf_put_u8(buf, MEASURE_REQUEST_CIVIC_LEN);
 
@@ -250,8 +253,7 @@ int wpas_rrm_send_neighbor_rep_request(struct wpa_supplicant *wpa_s,
                /* Measurement Type */
                wpabuf_put_u8(buf, MEASURE_TYPE_LOCATION_CIVIC);
 
-               /* IEEE P802.11-REVmc/D5.0 9.4.2.21.14:
-                * Location Civic request */
+               /* IEEE Std 802.11-2024, 9.4.2.19.14 (Location Civic request) */
                /* Location Subject */
                wpabuf_put_u8(buf, LOCATION_SUBJECT_REMOTE);
                wpabuf_put_u8(buf, 0); /* Civic Location Type: IETF RFC 4776 */
index 8f39b5f2d43d25a5afe4a5f3179b2060206187fa..881c0af6fc5134c659da6b97887269a1b52b549f 100644 (file)
@@ -907,9 +907,10 @@ static int wnm_send_bss_transition_mgmt_resp(
                wpabuf_put_data(buf, target_bssid, ETH_ALEN);
        } else if (status == WNM_BSS_TM_ACCEPT) {
                /*
-                * P802.11-REVmc clarifies that the Target BSSID field is always
-                * present when status code is zero, so use a fake value here if
-                * no BSSID is yet known.
+                * IEEE Std 802.11-2024, 9.6.13.10 (BSS Transition Management
+                * Response frame format) clarifies that the Target BSSID field
+                * is always present when status code is zero, so use a fake
+                * value here if no BSSID is yet known.
                 */
                wpabuf_put_data(buf, "\0\0\0\0\0\0", ETH_ALEN);
        }