hostapd/src/wps
Jouni Malinen a4c133ea73 WPS: Optimize attribute parsing workaround
Optimize the search for nonzero octets when checking for the need to
work around WPS M1 padding. The previous implementation was really
inefficient (O(n^2)) and while that was likely sufficiently fast for the
cases where the MMPDU size limit prevents long buffers (e.g., all P2P
Action frames), it might be able to take tens of seconds on low-end CPUs
with maximum length EAP-WSC messages during WPS provisioning. More
visibly, this was causing OSS-Fuzz to time out a test case with
unrealisticly long data (i.e., almost 10 times the maximum EAP-WSC
buffer length).

Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=60039
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2023-07-18 11:46:57 +03:00
..
http.h WPS: Move POST URL validation into web_connection_parse_post() 2009-12-12 16:48:50 +02:00
http_client.c WPS: Use a shared error path in http_client_addr() 2015-08-29 13:42:32 +03:00
http_client.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
http_server.c WPS: Merge common error paths in HTTP server 2015-08-28 20:33:22 +03:00
http_server.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
httpread.c WPS: Remove duplicated isgraph() loop in HTTP header parsing 2015-08-28 23:59:28 +03:00
httpread.h Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00
Makefile build: Make more library things common 2020-10-12 20:20:35 +03:00
ndef.c WPS: Check NDEF record length fields separately 2022-11-20 15:15:58 +02:00
upnp_xml.c Clean up base64_{encode,decode} pointer types 2019-11-28 16:39:09 +02:00
upnp_xml.h WPS ER: Fix UPnP XML Device Description parser to find correct device 2011-08-31 13:56:03 +03:00
wps.c Replace "dummy" with "stub" in wps_testing_dummy_cred 2021-10-11 20:52:21 +03:00
wps.h P2P: Use SAE+PMF for P2P connection in 6 GHz 2021-06-14 20:24:37 +03:00
wps_attr_build.c Allow TKIP support to be removed from build 2020-04-17 23:51:58 +03:00
wps_attr_parse.c WPS: Optimize attribute parsing workaround 2023-07-18 11:46:57 +03:00
wps_attr_parse.h hostapd: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_attr_process.c WPS: Check SHA256 result success 2019-10-15 15:41:13 +03:00
wps_common.c WPS: Add multi_ap_subelem to wps_build_wfa_ext() 2019-02-18 20:30:26 +02:00
wps_defs.h Replace "dummy" with "stub" in wps_testing_dummy_cred 2021-10-11 20:52:21 +03:00
wps_dev_attr.c WPS: Add application extension data to WPS IE 2020-01-04 23:39:30 +02:00
wps_dev_attr.h WPS: Add application extension data to WPS IE 2020-01-04 23:39:30 +02:00
wps_enrollee.c Allow TKIP support to be removed from build 2020-04-17 23:51:58 +03:00
wps_er.c WPS UPnP: Do not allow event subscriptions with URLs to other networks 2020-06-08 17:12:20 +03:00
wps_er.h WPS ER: Allow UPnP interface to be forced 2013-04-28 21:56:24 +03:00
wps_er_ssdp.c WPS ER: Fix SSDP CACHE-CONTROL line parser 2015-08-15 22:24:15 +03:00
wps_i.h wpa_supplicant: Support Multi-AP backhaul STA onboarding with WPS 2019-02-18 22:35:41 +02:00
wps_module_tests.c tests: Declare module test functions in a header file 2016-06-23 18:26:09 +03:00
wps_registrar.c Replace "dummy" with "stub" in wps_testing_dummy_cred 2021-10-11 20:52:21 +03:00
wps_upnp.c Replace "dummy" with "stub" in comments/documentation 2021-10-11 20:52:50 +03:00
wps_upnp.h WPS: Support parallel UPnP WPS protocol runs 2015-11-30 16:57:11 +02:00
wps_upnp_ap.c WPS UPnP: Do not update Beacon frames unnecessarily on subscription removal 2020-06-04 23:53:55 +03:00
wps_upnp_event.c WPS UPnP: Handle HTTP initiation failures for events more properly 2020-06-08 17:14:45 +03:00
wps_upnp_i.h WPS UPnP: Do not allow event subscriptions with URLs to other networks 2020-06-08 17:12:20 +03:00
wps_upnp_ssdp.c Share a single str_starts() implementation 2016-08-06 12:38:21 +03:00
wps_upnp_web.c Clean up base64_{encode,decode} pointer types 2019-11-28 16:39:09 +02:00
wps_validate.c WPS: Fix wps_validate_credential() argument type 2018-12-24 11:12:53 +02:00