hostap/src/ap
Veerendranath Jakkam debf3e2165 OCV: Work around for misbehaving STAs that indicate OCVC=1 without OCI
Some legacy stations copy previously reserved RSN capability bits,
including OCVC, in (Re)Association Request frames from the AP's RSNE but
do not indicate MFP capability and/or do not send OCI in RSN handshakes.
This is causing connection failures with such erroneous STAs.

To improve interoperability with such legacy STAs allow a workaround OCV
mode to be enabled to ignore OCVC=1 from the STA if it does not follow
OCV requirements in the first protected exchange. This covers cases
where a STA claims to have OCV capability, but it does not negotiate use
of management frame protection or does not include OCI in EAPOL Key msg
2/4, FT Reassociation Request frame, or FILS (Re)Association Reqest.

The previous behavior with ocv=1 is maintained, i.e., misbehaving STAs
are not allowed to connect. When the new workaround mode is enabled with
ocv=2, the AP considers STA as OCV capable on below criteria
- STA indicates both OCV and MFP capability
- STA sends OCI during connection attempt in a protected frame

Enabling this workaround mode reduced OCV protection to some extend
since it allows misbehavior to go through. As such, this should be
enabled only if interoperability with misbehaving STAs is needed.

Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org>
2020-10-08 18:46:38 +03:00
..
accounting.c Extra RADIUS request attributes from SQLite 2019-07-30 19:58:09 +03:00
accounting.h RADIUS: Use more likely unique accounting Acct-{,Multi-}Session-Id 2016-02-06 17:10:19 +02:00
acs.c ACS: Channel selection based freqlist 2020-05-17 01:31:19 +03:00
acs.h ACS: Fix memory leak if interface is disabled during scan 2017-03-04 17:30:15 +02:00
airtime_policy.c airtime_policy: Convert Boolean to C99 bool 2020-04-24 17:06:50 +03:00
airtime_policy.h hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
ap_config.c SAE-PK: Add support to skip sae_pk password check for testing purposes 2020-09-11 15:45:42 +03:00
ap_config.h SAE-PK: Add support to skip sae_pk password check for testing purposes 2020-09-11 15:45:42 +03:00
ap_drv_ops.c HE: Process HE 6 GHz band capab from associating HE STA 2020-05-17 17:22:34 +03:00
ap_drv_ops.h HE: Process HE 6 GHz band capab from associating HE STA 2020-05-17 17:22:34 +03:00
ap_list.c Remove CONFIG_IEEE80211N build option 2020-02-22 19:20:44 +02:00
ap_list.h Move ap_list_timer() to use common AP periodic cleanup mechanism 2015-07-20 13:42:35 +03:00
ap_mlme.c FILS: Do not clear PTK on FILS Auth/Assoc (AP) 2016-10-22 18:11:14 +03:00
ap_mlme.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
authsrv.c EAP server: Configurable maximum number of authentication message rounds 2019-09-01 17:19:35 +03:00
authsrv.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
beacon.c Allow HE-without-VHT to add the Channel Switch Wrapper element 2020-06-11 00:56:45 +03:00
beacon.h hostapd: Added signal level to STA tracking 2016-10-29 00:55:49 +03:00
bss_load.c hostapd: Add average channel utilization in STATUS 2017-12-12 00:48:27 +02:00
bss_load.h AP: Add support for BSS load element (STA Count, Channel Utilization) 2014-10-21 23:25:48 +03:00
ctrl_iface_ap.c Remove CONFIG_IEEE80211N build option 2020-02-22 19:20:44 +02:00
ctrl_iface_ap.h DPP: Allow PMKSA cache entries to be added through hostapd ctrl_iface 2017-06-19 21:13:17 +03:00
dfs.c DFS: Add new hostapd_is_dfs_overlap() helper 2020-03-29 21:15:16 +03:00
dfs.h DFS: Add new hostapd_is_dfs_overlap() helper 2020-03-29 21:15:16 +03:00
dhcp_snoop.c BSD: Use struct ip rather than struct iphdr 2020-01-02 19:17:10 +02:00
dhcp_snoop.h AP: Add support for Proxy ARP, DHCP snooping mechanism 2014-10-28 01:08:29 +02:00
dpp_hostapd.c DPP2: Presence Announcement notification in AP 2020-10-07 21:20:18 +03:00
dpp_hostapd.h DPP2: Controller support in hostapd 2020-08-25 15:53:08 +03:00
drv_callbacks.c WPS: Enable SA Query checks for WPS AP 2020-10-06 22:44:43 +03:00
eap_user_db.c Check snprintf result to avoid compiler warnings 2018-12-24 11:09:22 +02:00
eth_p_oui.c FT: Replace inter-AP protocol with use of OUI Extended Ethertype 2017-05-03 18:30:31 +03:00
eth_p_oui.h FT: Replace inter-AP protocol with use of OUI Extended Ethertype 2017-05-03 18:30:31 +03:00
fils_hlp.c BSD: Use struct ip rather than struct iphdr 2020-01-02 19:17:10 +02:00
fils_hlp.h FILS: DHCP relay for HLP requests 2017-02-01 18:17:39 +02:00
gas_query_ap.c DPP: Integration for hostapd 2017-06-19 21:13:17 +03:00
gas_query_ap.h DPP: Integration for hostapd 2017-06-19 21:13:17 +03:00
gas_serv.c DPP: Fix GAS fragmentation for DPP Config Response from hostapd 2020-10-06 23:34:41 +03:00
gas_serv.h DPP2: hostapd as TCP Relay 2019-04-22 21:08:59 +03:00
hostapd.c OWE: Skip beacon update of transition BSS if it is not yet enabled 2020-05-26 16:23:39 +03:00
hostapd.h OCV: Disconnect STAs that do not use SA Query after CSA 2020-05-25 21:57:04 +03:00
hs20.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
hs20.h HS 2.0: Move Terms and Conditions Server URL generation from AP to AS 2018-06-21 20:50:54 +03:00
hw_features.c AP: Fix regression in frequency check for a usable EDMG channel 2020-03-11 17:54:13 +02:00
hw_features.h ACS: Extend hostapd_get_mode_channel() to find from any mode 2020-02-29 11:23:03 +02:00
ieee802_1x.c EAPOL auth: Convert Boolean to C99 bool 2020-04-24 17:06:50 +03:00
ieee802_1x.h EAPOL auth: Convert Boolean to C99 bool 2020-04-24 17:06:50 +03:00
ieee802_11.c OCV: Work around for misbehaving STAs that indicate OCVC=1 without OCI 2020-10-08 18:46:38 +03:00
ieee802_11.h HE: Process HE 6 GHz band capab from associating HE STA 2020-05-17 17:22:34 +03:00
ieee802_11_auth.c Fix possible memory leak of RADIUS data in handle_auth() 2019-12-29 23:43:55 +02:00
ieee802_11_auth.h Make hostapd_copy_psk_list() non-static 2019-12-29 23:34:01 +02:00
ieee802_11_he.c HE: Use device HE capability instead of HT/VHT for 6 GHz IEs 2020-06-10 21:23:24 +03:00
ieee802_11_ht.c Fix a typo in a comment 2020-02-22 19:20:44 +02:00
ieee802_11_shared.c OCV: Use more granular error codes for OCI validation failures 2020-09-11 15:23:28 +03:00
ieee802_11_vht.c Move hostapd_eid_wb_chsw_wrapper() to non-VHT-specific file 2020-06-11 00:53:26 +03:00
Makefile Remove IAPP functionality from hostapd 2019-09-11 13:11:03 +03:00
mbo_ap.c MBO: Do not parse reason_detail in non_pref_chan attr (AP) 2016-09-25 17:31:26 +03:00
mbo_ap.h MBO: Parse non-preferred channel list on the AP 2016-02-22 21:17:38 +02:00
ndisc_snoop.c Fix DHCP/NDISC snoop deinit followed by failing re-init 2017-03-04 11:42:15 +02:00
ndisc_snoop.h proxyarp: Use C library header files and CONFIG_IPV6 2014-11-25 16:58:21 +02:00
neighbor_db.c hostapd: Add HE bit in BSSID Information field of own Neighbor Report 2020-03-27 23:52:24 +02:00
neighbor_db.h hostapd: Support showing neighbor list through hostapd_cli 2019-12-26 17:59:03 +02:00
p2p_hostapd.c Use P2P_IE_VENDOR_TYPE more consistently 2014-03-05 23:36:54 +02:00
p2p_hostapd.h Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00
pmksa_cache_auth.c SAE: Fix PMKID derivation for OKC 2020-02-28 18:41:20 +02:00
pmksa_cache_auth.h OWE: PMKSA caching in AP mode 2017-10-09 12:12:54 +03:00
preauth_auth.c WPA auth: Convert Boolean to C99 bool 2020-04-24 17:06:50 +03:00
preauth_auth.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
rrm.c hostapd: Fix a typo in function name 2019-01-02 16:40:34 +02:00
rrm.h Report beacon request TX status as control interface event 2017-01-03 16:02:58 +02:00
sta_info.c HE: Process HE 6 GHz band capab from associating HE STA 2020-05-17 17:22:34 +03:00
sta_info.h OCV: Disconnect STAs that do not use SA Query after CSA 2020-05-25 21:57:04 +03:00
taxonomy.c Fix or supress various sparse warnings 2017-01-29 18:33:10 +02:00
taxonomy.h taxonomy: Store Probe Request frames in hostapd_sta_info 2016-09-22 00:45:24 +03:00
tkip_countermeasures.c hostapd: Add logging around Michael MIC related failures 2018-04-02 16:51:29 +03:00
tkip_countermeasures.h hostapd: Fix a regression in TKIP countermeasures processing 2012-11-18 13:06:03 +02:00
utils.c Add a hostapd testing option for skipping association pruning 2020-03-28 20:39:19 +02:00
vlan.c VLAN: Fix vlan_compare() for tagged VLANs 2016-02-22 19:53:05 +02:00
vlan.h radius: Add tagged VLAN parsing 2016-02-17 11:46:13 +02:00
vlan_full.c vlan: Use new bridge ioctl() 2019-01-02 00:23:43 +02:00
vlan_ifconfig.c vlan: Move if_nametoindex() use out of vlan_init.c 2016-03-25 18:00:44 +02:00
vlan_init.c Make WEP functionality an optional build parameter 2020-02-29 17:45:25 +02:00
vlan_init.h VLAN: Separate station grouping and uplink configuration 2016-02-17 11:46:11 +02:00
vlan_ioctl.c Use own header file for defining Linux VLAN kernel interface 2016-03-26 11:24:38 +02:00
vlan_util.c vlan: Remove unnecessary header includes from netlink implementation 2016-03-25 17:27:16 +02:00
vlan_util.h vlan: Move if_nametoindex() use out of vlan_init.c 2016-03-25 18:00:44 +02:00
wmm.c Fix wmm compile on fedora-17 (gcc 4.7.2) 2020-02-03 02:03:32 +02:00
wmm.h Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
wnm_ap.c OCV: Use more granular error codes for OCI validation failures 2020-09-11 15:23:28 +03:00
wnm_ap.h WNM: Collocated Interference Reporting 2018-10-30 14:07:51 +02:00
wpa_auth.c OCV: Work around for misbehaving STAs that indicate OCVC=1 without OCI 2020-10-08 18:46:38 +03:00
wpa_auth.h Allow transition_disable updates during the lifetime of a BSS 2020-06-07 17:06:52 +03:00
wpa_auth_ft.c OCV: Work around for misbehaving STAs that indicate OCVC=1 without OCI 2020-10-08 18:46:38 +03:00
wpa_auth_glue.c SAE-PK: AP functionality 2020-06-02 23:25:22 +03:00
wpa_auth_glue.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
wpa_auth_i.h OCV: Work around for misbehaving STAs that indicate OCVC=1 without OCI 2020-10-08 18:46:38 +03:00
wpa_auth_ie.c OCV: Work around for misbehaving STAs that indicate OCVC=1 without OCI 2020-10-08 18:46:38 +03:00
wpa_auth_ie.h Merge wpa_supplicant and hostapd EAPOL-Key KDE parsers 2019-10-18 13:02:27 +03:00
wpa_auth_kay.c MACsec: Convert Boolean to C99 bool 2020-04-24 17:06:50 +03:00
wpa_auth_kay.h macsec: Support IEEE 802.1X(EAP)/PSK MACsec Key Agreement in hostapd 2019-06-03 20:27:44 +03:00
wps_hostapd.c Allow TKIP support to be removed from build 2020-04-17 23:51:58 +03:00
wps_hostapd.h WPS NFC: Add AP mode connection handover report 2014-01-27 21:10:55 +02:00
x_snoop.c AP: Enable multicast snooping on bridge if ProxyARP IPv6 is in use 2015-04-13 14:00:32 +03:00
x_snoop.h AP: Add multicast-to-unicast conversion send for "x_snoop" 2014-11-19 16:25:13 +02:00