mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-28 18:28:23 -05:00
WPS: Fix association when both WPS and WPA/RSN IE are included
The WPS IE was overriding the WPA/RSN IE in driver based MLME case (hostapd_notif_assoc), but the MLME code here was not using WPS IE correctly, i.e., it allowed the WPA/RSN IE override the operation.
This commit is contained in:
parent
5fbc1f279b
commit
c47cf42e4b
@ -681,21 +681,19 @@ static u16 check_assoc_ies(struct hostapd_data *hapd, struct sta_info *sta,
|
||||
|
||||
#ifdef CONFIG_WPS
|
||||
sta->flags &= ~(WLAN_STA_WPS | WLAN_STA_MAYBE_WPS);
|
||||
if (hapd->conf->wps_state && wpa_ie == NULL) {
|
||||
if (elems.wps_ie) {
|
||||
wpa_printf(MSG_DEBUG, "STA included WPS IE in "
|
||||
"(Re)Association Request - assume WPS is "
|
||||
"used");
|
||||
sta->flags |= WLAN_STA_WPS;
|
||||
wpabuf_free(sta->wps_ie);
|
||||
sta->wps_ie = wpabuf_alloc_copy(elems.wps_ie + 4,
|
||||
elems.wps_ie_len - 4);
|
||||
} else {
|
||||
wpa_printf(MSG_DEBUG, "STA did not include WPA/RSN IE "
|
||||
"in (Re)Association Request - possible WPS "
|
||||
"use");
|
||||
sta->flags |= WLAN_STA_MAYBE_WPS;
|
||||
}
|
||||
if (hapd->conf->wps_state && elems.wps_ie) {
|
||||
wpa_printf(MSG_DEBUG, "STA included WPS IE in (Re)Association "
|
||||
"Request - assume WPS is used");
|
||||
sta->flags |= WLAN_STA_WPS;
|
||||
wpabuf_free(sta->wps_ie);
|
||||
sta->wps_ie = wpabuf_alloc_copy(elems.wps_ie + 4,
|
||||
elems.wps_ie_len - 4);
|
||||
wpa_ie = NULL;
|
||||
wpa_ie_len = 0;
|
||||
} else if (hapd->conf->wps_state && wpa_ie == NULL) {
|
||||
wpa_printf(MSG_DEBUG, "STA did not include WPA/RSN IE in "
|
||||
"(Re)Association Request - possible WPS use");
|
||||
sta->flags |= WLAN_STA_MAYBE_WPS;
|
||||
} else
|
||||
#endif /* CONFIG_WPS */
|
||||
if (hapd->conf->wpa && wpa_ie == NULL) {
|
||||
|
Loading…
Reference in New Issue
Block a user