hostapd/src/wps
Lior David fa4b605a0d WPS: Do not increment wildcard_uuid when pin is locked
Commit 84751b98c1 ('WPS: Allow wildcard
UUID PIN to be used twice') relaxed the constraints on how many time a
wildcard PIN can be used to allow two attempts. However, it did this in
a way that could result in concurrent attempts resulting in the wildcard
PIN being invalidated even without the second attempt actually going as
far as trying to use the PIN and a WPS protocol run.

wildcard_uuid is a flag/counter set for wildcard PINs and it is
incremented whenever the PIN is retrieved by wps_registrar_get_pin().
Eventually it causes the wildcard PIN to be released, effectively
limiting the number of registration attempts with a wildcard PIN.

With the previous implementation, when the PIN is in use and locked
(PIN_LOCKED), it is not returned from wps_registrar_get_pin() but
wildcard_uuid is still incremented which can cause the PIN to be
released earlier and stations will have fewer registration attempts with
it. Fix this scenario by only incrementing wildcard_uuid if the PIN is
actually going to be returned and used.

Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
2017-10-03 19:19:01 +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 tests: Add p2p-fuzzer 2015-04-22 11:44:19 +03:00
ndef.c WPS: Avoid bogus static analyzer warning in ndef_parse_record() 2015-07-17 20:43:17 +03:00
upnp_xml.c WPS ER: Fix UPnP XML Device Description parser to find correct device 2011-08-31 13:56:03 +03: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 Use os_memdup() 2017-03-07 13:19:10 +02:00
wps.h WPS: Use only os_get_random() for PIN generation 2016-02-19 18:44:40 +02:00
wps_attr_build.c WPS: Check sha256_vector() result in wps_build_oob_dev_pw() 2016-05-16 21:06:44 +03:00
wps_attr_parse.c WPS: Avoid undefined behavior in pointer arithmetic 2015-10-18 11:37:47 +03:00
wps_attr_parse.h WPS: Reduce struct wps_parse_attr size 2015-09-07 23:02:19 +03:00
wps_attr_process.c WPS: Reject a Credential with invalid passphrase 2016-05-02 11:08:25 +03:00
wps_common.c WPS: Fix debug prints in wps_derive_psk() error case 2016-05-16 19:35:03 +03:00
wps_defs.h WPS: Testing mechanism to force auth/encr type flags 2016-01-01 13:42:04 +02:00
wps_dev_attr.c P2P NFC: Add WPS attribute building for P2P NFC 2014-01-27 21:10:55 +02:00
wps_dev_attr.h P2P NFC: Add WPS attribute building for P2P NFC 2014-01-27 21:10:55 +02:00
wps_enrollee.c WPS: Fix debug prints in wps_derive_psk() error case 2016-05-16 19:35:03 +03:00
wps_er.c Use os_memdup() 2017-03-07 13:19:10 +02: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 WPS: Fix debug prints in wps_derive_psk() error case 2016-05-16 19:35:03 +03: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 WPS: Do not increment wildcard_uuid when pin is locked 2017-10-03 19:19:01 +03:00
wps_upnp.c WPS: Support parallel UPnP WPS protocol runs 2015-11-30 16:57:11 +02:00
wps_upnp.h WPS: Support parallel UPnP WPS protocol runs 2015-11-30 16:57:11 +02:00
wps_upnp_ap.c WPS: Merge SetSelectedRegistrar parsing error returns 2015-08-31 17:25:20 +03:00
wps_upnp_event.c WPS: Merge event_send_start() error paths 2015-08-31 17:25:20 +03:00
wps_upnp_i.h WPS: Support parallel UPnP WPS protocol runs 2015-11-30 16:57:11 +02:00
wps_upnp_ssdp.c Share a single str_starts() implementation 2016-08-06 12:38:21 +03:00
wps_upnp_web.c WPS: Support parallel UPnP WPS protocol runs 2015-11-30 16:57:11 +02:00
wps_validate.c WPS: Add support for 60 GHz band 2015-04-28 00:22:16 +03:00