Handle OSEN IE in Assoc Request info if req_ies exists

The 4-way handshake fails with the error "WPA: No wpa_ie set - cannot
generate msg 2/4" while connecting to OSEN network with drivers that
indicate used Association Request frame elements because OSEN IE is not
handled in wpa_supplicant_event_associnfo() if data->assoc_info.req_ies
is not NULL.

Signed-off-by: Daichi Ueura <daichi.ueura@sonymobile.com>
This commit is contained in:
Daisuke Niwa 2016-03-16 15:01:59 +09:00 committed by Jouni Malinen
parent 2b5488a4e1
commit 192964ddc3

View file

@ -1984,6 +1984,8 @@ static int wpa_supplicant_event_associnfo(struct wpa_supplicant *wpa_s,
} }
if ((p[0] == WLAN_EID_VENDOR_SPECIFIC && p[1] >= 6 && if ((p[0] == WLAN_EID_VENDOR_SPECIFIC && p[1] >= 6 &&
(os_memcmp(&p[2], "\x00\x50\xF2\x01\x01\x00", 6) == 0)) || (os_memcmp(&p[2], "\x00\x50\xF2\x01\x01\x00", 6) == 0)) ||
(p[0] == WLAN_EID_VENDOR_SPECIFIC && p[1] >= 4 &&
(os_memcmp(&p[2], "\x50\x6F\x9A\x12", 4) == 0)) ||
(p[0] == WLAN_EID_RSN && p[1] >= 2)) { (p[0] == WLAN_EID_RSN && p[1] >= 2)) {
if (wpa_sm_set_assoc_wpa_ie(wpa_s->wpa, p, len)) if (wpa_sm_set_assoc_wpa_ie(wpa_s->wpa, p, len))
break; break;