opnsense-src/sys/net80211
Adrian Chadd 3ab5e29778 net80211: fix RSN capability parsing
The RSN capability field may be the last two bytes in the IE.
802.11-2016 9.4.2.25.1 (General) doesn't require anything
afterwards - the PMKID/List and Group Management Cipher Suite
are optional.

Thus having a check of len > 2 will miss the situation where it
IS the last field.

This showed up when developing MFP, as I'm using optional MFP
at home and optional MFP doesn't encrypt group management frames.
(It should only add the BIP message integrity check IE in each
action frame.)

Differential Revision: https://reviews.freebsd.org/D45936
2024-07-15 11:45:40 -07:00
..
_ieee80211.h net80211: add initial key management suites from 802.11-2016, APIs to register them 2024-05-14 14:39:33 -07:00
ieee80211.c net80211: migrate the group/unicast key check into inline functions 2024-07-15 11:45:30 -07:00
ieee80211.h net80211: add new ciphers and RSN flags 2024-05-08 17:49:34 -07:00
ieee80211_acl.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_action.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_action.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_adhoc.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_adhoc.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_ageq.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_ageq.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_alq.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_alq.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_amrr.c net80211: amrr_init: change order of commands 2024-04-15 17:32:28 +00:00
ieee80211_amrr.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
ieee80211_crypto.c net80211: migrate the group/unicast key check into inline functions 2024-07-15 11:45:30 -07:00
ieee80211_crypto.h net80211: add initial key management suites from 802.11-2016, APIs to register them 2024-05-14 14:39:33 -07:00
ieee80211_crypto_ccmp.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_crypto_none.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_crypto_tkip.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_crypto_wep.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_ddb.c net80211: deal with lost state transitions 2024-02-14 19:47:21 +00:00
ieee80211_dfs.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_dfs.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_freebsd.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_freebsd.h net80211: allow a single wlan crypto module to register for >1 cipher 2024-05-14 14:39:24 -07:00
ieee80211_hostap.c net80211: fix RSN capability parsing 2024-07-15 11:45:40 -07:00
ieee80211_hostap.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_ht.c sys: Use mbufq_empty instead of comparing mbufq_len against 0 2024-01-09 11:00:46 -08:00
ieee80211_ht.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_hwmp.c net80211: Fix a typo in a source code comment 2024-01-22 21:54:36 +01:00
ieee80211_input.c net80211: adjust more VHT structures/fields 2023-12-22 00:20:19 +00:00
ieee80211_input.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_ioctl.c net80211: add a new field specifically for announcing specific ciphers 2024-05-08 17:48:40 -07:00
ieee80211_ioctl.h net80211: add a new field specifically for announcing specific ciphers 2024-05-08 17:48:40 -07:00
ieee80211_mesh.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_mesh.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
ieee80211_monitor.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_monitor.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_node.c net80211: make sure calls to (*iv_update_bss)() are locked 2024-02-03 13:55:29 +00:00
ieee80211_node.h net80211: de-inline ieee80211_ref_node() 2023-10-05 14:56:02 +00:00
ieee80211_output.c net80211: adjust more VHT structures/fields 2023-12-22 00:20:19 +00:00
ieee80211_phy.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_phy.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_power.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_power.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_proto.c net80211: deal with lost state transitions 2024-02-14 19:47:21 +00:00
ieee80211_proto.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_radiotap.c net80211: Correct a comment 2024-06-20 12:27:43 +08:00
ieee80211_radiotap.h net8011: radiotap: add more EHT constants 2024-04-14 23:09:09 +00:00
ieee80211_ratectl.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_ratectl.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_ratectl_none.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_regdomain.c net80211: migrate ic_vhtcaps, ic_vht_mcsinfo, ic_flags_vht 2023-11-03 21:08:04 +00:00
ieee80211_regdomain.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_rssadapt.c sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
ieee80211_rssadapt.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
ieee80211_scan.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_scan.h net80211: improve scan debugging 2023-09-14 21:20:54 +00:00
ieee80211_scan_sta.c net80211: rename iv_flags_vht to iv_vht_flags 2023-11-03 21:08:04 +00:00
ieee80211_scan_sw.c net80211: introduce two extra ieee80211_notify_scan_done() 2023-09-21 17:37:55 +00:00
ieee80211_scan_sw.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_sta.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_sta.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_superg.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee80211_superg.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_tdma.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_tdma.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_var.h net80211: migrate the group/unicast key check into inline functions 2024-07-15 11:45:30 -07:00
ieee80211_vht.c net80211: adjust more VHT structures/fields 2023-12-22 00:20:19 +00:00
ieee80211_vht.h net80211: adjust more VHT structures/fields 2023-12-22 00:20:19 +00:00
ieee80211_wds.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ieee80211_wds.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_wps.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee80211_xauth.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00