Commit Graph

47017 Commits

Author SHA1 Message Date
Sai Pratyusha Magam
e8a19841f4 RSNO: Generate IGTK if any of the RSN variants has PMF enabled
With RSN overriding enabled, AP can be configured to set MFPC to 0 and
MFPR to 0 in the RSNE and MFPC to 1 and MFPR to 1 in the RSNOE and
RSNO2E. IGTK generation, configuration to the driver, and inclusion of
the IGTK KDE in 4-way handshake should also take into account the
management frame protection settings in the override variants.

Signed-off-by: Sai Pratyusha Magam <quic_smagam@quicinc.com>
2025-09-28 09:10:29 +05:30
Jouni Malinen
c3d6a1ce73 Avoid undefined behavior in RSNXE capability bit checker
Integer promotion converts u8 rsnxe[i] to an int which is not
sufficiently large to be able to handle the maximum shift left of 24
bits here. Type cast rsnxe[i] to u32 explicitly to get rid of the sign
bit and avoid this undefined behavior from the shift operation.

Credit to OSS-Fuzz: https://issues.oss-fuzz.com/issues/376786400
Fixes: d675d3b15b40 ("Add helper functions for parsing RSNXE capabilities")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Jouni Malinen
22a15585fd RSNO: Omit RSNXE in (Re)Association Response frame like in Beacon frame
When rsn_override_omit_rsnxe=1 is used to omit the RSNXE from Beacon and
Probe Response frames, it should also be omitted from (Re)Association
Response frames since there is a general expectation on the RSNXE being
used consistently between these frames. This is unlikely to have much of
a difference for most use cases in practice, but this could impact FILS
association if the non-AP STA were to confirm that the unprotected and
protected version of the RSNXE from the AP were identical.

Fixes: 8b2ddfdbb688 ("RSNO: Allow RSNXE to be omitted")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Veerendranath Jakkam
1848be2f06 RSNO: Always enable SNonce cookie and RSN Override elements validation
Always set SNonce cookie and enable RSN Override elements validation
irrespective of the RSN Selection element usage in (Re)Association
Request frame when RSN overriding supported.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
2025-09-28 09:10:29 +05:30
Jouni Malinen
5e1e2cd4ea RSNO: Do not enforce SNonce cookie and RSN Selection match if RSNO not used
A STA that supports RSN overriding will always use the SNonce cookie. An
AP that does not advertise RSN overriding elements must not enforce that
SNonce cookie is used with RSN Selection element since a STA includes
the latter only when it sees the AP advertising RSN overriding elements.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Veerendranath Jakkam
60643b71e7 RSNO: Add debug prints for RSN override elements in EAPOL frames
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
2025-09-28 09:10:29 +05:30
Shreyas Sheth
35e73c0147 fix(esp_wifi): Cosmetic changes for wpa_supplicant 2025-09-28 09:10:29 +05:30
Jouni Malinen
f7e886bfed RSNO: Include all RSNE/RSNXE variants in EAPOL-Key message 3/4
This allows all variants to be verified based on a protected frame to
achieve robust downgrade protection.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Jouni Malinen
8b8d5ebfc9 RSNO: Use SNonce cookie to indicate support for RSN overriding
This provides an implicitly protected (SNonce is used as an input to PTK
derivation) mechanism for a STA to indicate support for RSN overriding
in a manner that does not cause interopability issues with deployed APs.

In addition, update sm->SNonce on the Authenticator only based on
message 2/4 since that is the only EAPOL-Key message that is defined to
provide the actual SNonce value. While clearing of this internal buffer
on message 4/4 might not cause issues, it is better to keep the actual
SNonce value here since the SNonce cookie can be used at a later point
in the sequence.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Jouni Malinen
7ec6fbd49a RSNO: Use the RSN Selection element to indicate which variant was used
This replaces the use of the RSNE Override and RSNE Override 2 elements
with empty payload to indicate which RSNE variant was used.

In addition, this adds stricter validation of the RSNE in
(Re)Association Request frame to allow only the pairwise cipher suites
and AKMs listed in the indicated RSNE variant to be used.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Shreyas Sheth
a743612f6c fix(wifi): Restructure wpa_parse_kde_ies same as upstream 2025-09-28 09:10:29 +05:30
Jouni Malinen
8e71c23a0e RSNO: Remove unused override element generation
The separate RSNOE/RSNO2E/RSNXOE buffers were not actually used on the
Authenticator, so remove them.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Adil Saeed Musthafa
c5161c4012 RSNO: Protect wpa_ie_buf3 from reuse explicitly
Use else-if check for better clarity regarding usage of wpa_ie_buf3 to
make it explicit that memory is allocated for this pointer only once.

Signed-off-by: Adil Saeed Musthafa <quic_adilm@quicinc.com>
2025-09-28 09:10:29 +05:30
Jouni Malinen
b347db7af7 RSNO: Remove override elements from EAPOL-Key msg 3/4
This was not done in case the STA did not use RSN overriding.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Jouni Malinen
34336d28b9 RSNO: Support over two octets of RSNXOE capabilities
The RSNXE generation function was extended to support this earlier, but
that update was missed from the RSNXOE variant.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Jouni Malinen
5a713f89d7 RSNO: Allow RSNXE to be omitted
Add an explicit rsn_override_omit_rsnxe=1 configuration parameter to
allow the RSNXE to be omitted when using the RSNXOE and wanting to
minimize interoperability issues with STAs that might recognize the
RSNXE, but not handle it correctly, e.g., when multiple octets of
payload is included.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Shreyas Sheth
1e7dfd7896 feat(esp_wifi): Restructure wpa_supplicant for wpa3_compatible mode 2025-09-28 09:10:29 +05:30
Jouni Malinen
18db88ab4a RSNE/RSNXE overriding for STA
Add support for RSNE/RSNXE Override elements. Use these elements to
determine AP's extended RSN parameters.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Shreyas Sheth
ee3723b922 feat(wifi): Add support for wpa3 compatible flag for softap 2025-09-28 09:10:29 +05:30
Jouni Malinen
434671f5e6 RSNE/RSNXE overriding for AP
Allow hostapd to be configured to advertised two separate sets of
RSNE/RSNXE parameters so that RSNE/RSNXE can use a reduced set of
capabilities (e.g., WPA2-Personal only) for supporting deployed STAs
that have issues with transition modes while the new override elements
can use a newer security option (e.g., WPA3-Personal only) for STAs that
support the new mechanism.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Shreyas Sheth
86f8c88161 fix(wifi): Restructure esp supplicant for softap 2025-09-28 09:10:29 +05:30
Jouni Malinen
21ec067ef8 Allow RSNXE Override element to override RSNXE contents during parsing
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Jouni Malinen
7ed2e8cf7e Add helper functions for parsing RSNXE capabilities
Simplify the implementation by using shared functions for parsing the
capabilities instead of using various similar but not exactly identical
checks throughout the implementation.

Signed-off-by: Jouni Malinen <j@w1.fi>
2025-09-28 09:10:29 +05:30
Jouni Malinen
25e0d46688 Add RSN overriding elements into IE parsing
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
Shreyas Sheth
071bedda27 feat(wifi): restructure ieee802_11_parse_elems similar to upstream suppliant 2025-09-28 09:10:29 +05:30
Jouni Malinen
67771bab39 Define WFA vendor specific element types for RSNE/RSNXE overriding
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2025-09-28 09:10:29 +05:30
muhaidong
15fd77bbb0 fix(wifi): fix pm offchan execute ready cb miss issue 2025-09-28 10:13:46 +08:00
Jiang Jiang Jian
bdd8d25761 Merge branch 'bugfix/remove_depricated_code' into 'master'
WiFi: remove deprecated code

See merge request espressif/esp-idf!40576
2025-09-28 09:56:20 +08:00
Kapil Gupta
8b68791996 fix(tool): increase buffer size for kconfig server 2025-09-27 17:55:28 +05:30
Jack
17f7fd5ba6 fix migration guide build error 2025-09-27 11:44:29 +05:30
David Čermák
82d8f9f605 Merge branch 'feat/esp_netif_status_event' into 'master'
[esp_netif]: Add support for netif status events

Closes IDF-13357

See merge request espressif/esp-idf!42143
2025-09-27 13:36:03 +08:00
David Čermák
7ab29a89e5 Merge branch 'fix/esp_netif_minor_leak' into 'master'
Fix tiny memory leak when PPP connection creation fails in esp_netif_new_ppp (GitHub PR)

Closes IDFGH-16327

See merge request espressif/esp-idf!42126
2025-09-27 03:59:32 +08:00
Kapil Gupta
552a8653ad fix(esp_wifi): Fix some compilation issues in examples 2025-09-26 21:51:38 +05:30
Kapil Gupta
7b665b6512 fix(esp_wifi): Correct some documentation 2025-09-26 21:43:32 +05:30
Nachiket Kukade
a82788180c fix(esp_wifi): Remove deprecated NAN API variables in examples 2025-09-26 21:43:26 +05:30
Kapil Gupta
f12debf4f5 fix(esp_wifi): Updated some documentation 2025-09-26 21:43:05 +05:30
Kapil Gupta
ce00aa9b78 fix(esp_wifi): Address review comments 2025-09-26 21:42:46 +05:30
Nachiket Kukade
b0498569c8 fix(esp_wifi): Remove deprecated fields in NAN & FTM API's
- Update wifi libs to remove references to deprecated API's, enums
and variables
2025-09-26 21:42:39 +05:30
Kapil Gupta
2563d6a2e8 fix(esp_wifi): Add dummy value for deprecated enums 2025-09-26 21:42:30 +05:30
Kapil Gupta
0f63b92501 fix(esp_wifi): remove esp_interface.h and update usages 2025-09-26 21:42:30 +05:30
Kapil Gupta
a28fefcf73 docs: add Wi-Fi migration guide for v6.0 2025-09-26 21:42:30 +05:30
Kapil Gupta
5898086eca fix(esp_wifi): Remove some more deprecated enum/functions 2025-09-26 21:42:30 +05:30
Kapil Gupta
f189052386 fix(esp_wifi): Remove esp_interface.h 2025-09-26 21:42:30 +05:30
Kapil Gupta
35f8d9d42c fix(esp_wifi): Remove deprecated arguments from some APIs 2025-09-26 21:42:30 +05:30
Kapil Gupta
f2cd005473 fix(esp_wifi): Removed deprecated rrm function 2025-09-26 21:42:30 +05:30
Kapil Gupta
b6e632900b fix(esp_wifi): Remove deprecated event for DPP 2025-09-26 21:42:29 +05:30
Kapil Gupta
6bb3306154 fix(esp_wifi): Remove deprecated esp_wpa2.h 2025-09-26 21:42:29 +05:30
David Čermák
747c172fdc Merge branch 'feat/dhcps_support_hostname_per_client' into 'master'
[lwip/dhcps]: Add support for reporting clients hostname

Closes IDFGH-9326

See merge request espressif/esp-idf!42094
2025-09-26 21:47:50 +08:00
Roland Dobai
bb3055b37e Merge branch 'ci/test_tool_ignore_list' into 'master'
ci: Support known failure cases in pytests of test_tools

See merge request espressif/esp-idf!42203
2025-09-26 15:07:27 +02:00
Shen Meng Jing
d170949daa Merge branch 'docs/sync_en_and_cn_docs' into 'master'
docs: Sync CN and EN docs missing translation labels

Closes DOC-12424

See merge request espressif/esp-idf!42145
2025-09-26 21:03:18 +08:00