HomeFreeBSD

net80211: improve error checking in ieee80211_parse_{wpa,rsn}()

Description

net80211: improve error checking in ieee80211_parse_{wpa,rsn}()

  • Add few checks for group/pairwise ciphers into

ieee80211_parse_{wpa,rsn}().

  • Split error code and cipher value in wpa_cipher() / rsn_cipher(); current

hack with (1 << 32) does not work - it's 1, not 0 (detected by CSA).

  • Return IEEE80211_REASON_UNSUPP_RSN_IE_VERSION instead of

IEEE80211_REASON_IE_INVALID when version field is not equal to RSN_VERSION.

Tested with wpi(4) / urtwn(4) (HOSTAP mode).

Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D7887