You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hostap/src
Jouni Malinen 4d9c313f2a WPA: Fix wpa_parse_kde_ies() handling with vendor specific elements
Documentation of the return values for wpa_parse_vendor_specific() and
wpa_parse_generic() were not accurate and the parsing results from these
were not really handled appropriately. There is no point in calling
wpa_parse_vendor_specific() if wpa_parse_generic() recognizes a KDE. Not
that this would break anything in practice, but still, it looks
confusing.

The part about handling wpa_parse_vendor_specific() return value can, at
least in theory, break some cases where an unexpectedly short KDE/vendor
specific element were present and something would need to be recognized
after it. That does not really happen with any standard compliant
implementation and this is unlikely to cause any real harm, but it is
clearer to handle this more appropriately even for any theoretical case,
including misbehavior of a peer device.

Instead of stopping parsing on too short vendor specific element,
continue parsing the following KDEs/IEs. Skip the
wpa_parse_vendor_specific() call when a KDE has been recognized. Also
fix the return value documentation for wpa_parse_generic() and remove
the useless return value from wpa_parse_vendor_specific().

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
4 years ago
..
ap driver: Add second driver capability flags bitmap 4 years ago
common WPA: Fix wpa_parse_kde_ies() handling with vendor specific elements 4 years ago
crypto crypto: Add a function to get the ECDH prime length 4 years ago
drivers Sync with mac80211-next.git include/uapi/linux/nl80211.h 4 years ago
eap_common EAP-SIM/AKA peer: Add support for EAP Method prefix 5 years ago
eap_peer EAP-SIM peer: Do not accept SIM/Challenge without SIM/Start 5 years ago
eap_server EAP server: Convert Boolean to C99 bool 4 years ago
eapol_auth Make WEP functionality an optional build parameter 4 years ago
eapol_supp Fix unicast argument for set_wep_key() from EAPOL supplicant 4 years ago
fst FST: Update FST about MAC address change 5 years ago
l2_packet l2_packet: Allow initialization without RX handling 4 years ago
p2p P2P: Increase number of channels per operating class 4 years ago
pae mka: Check OLPN for exhaustion on SAKuse decode 5 years ago
radius RADIUS: Use size_t instead of int for message attributes 4 years ago
rsn_supp FT: Testing override for RSNXE Used subfield in FTE 4 years ago
tls PKCS#1: Debug dump invalid Signature EB 4 years ago
utils Include stdbool.h to allow C99 bool to be used 4 years ago
wps Allow TKIP support to be removed from build 4 years ago
Makefile FST: Add the Fast Session Transfer (FST) module 9 years ago
lib.rules tests: Fix CFLAGS passing for new fuzzing tools 5 years ago