wlantest: Recognize EAPOL-Key frames without MIC bit for FILS

The new AEAD AKM option in FILS sets the MIC bit in EAPOL-Key frames to
0 for some ciphers, so the determination of EAPOL-Key frame types needs
changes to work with these cases.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2015-09-02 23:33:29 +03:00 committed by Jouni Malinen
parent 6d014ffc6e
commit 555ff857dd

View file

@ -1122,9 +1122,12 @@ static void rx_data_eapol_key(struct wlantest *wt, const u8 *bssid,
break; break;
case WPA_KEY_INFO_SECURE | WPA_KEY_INFO_MIC | case WPA_KEY_INFO_SECURE | WPA_KEY_INFO_MIC |
WPA_KEY_INFO_ACK | WPA_KEY_INFO_INSTALL: WPA_KEY_INFO_ACK | WPA_KEY_INFO_INSTALL:
case WPA_KEY_INFO_SECURE |
WPA_KEY_INFO_ACK | WPA_KEY_INFO_INSTALL:
rx_data_eapol_key_3_of_4(wt, dst, src, data, len); rx_data_eapol_key_3_of_4(wt, dst, src, data, len);
break; break;
case WPA_KEY_INFO_SECURE | WPA_KEY_INFO_MIC: case WPA_KEY_INFO_SECURE | WPA_KEY_INFO_MIC:
case WPA_KEY_INFO_SECURE:
if (key_data_length == 0) if (key_data_length == 0)
rx_data_eapol_key_4_of_4(wt, dst, src, data, rx_data_eapol_key_4_of_4(wt, dst, src, data,
len); len);
@ -1143,9 +1146,11 @@ static void rx_data_eapol_key(struct wlantest *wt, const u8 *bssid,
WPA_KEY_INFO_ACK)) { WPA_KEY_INFO_ACK)) {
case WPA_KEY_INFO_SECURE | WPA_KEY_INFO_MIC | case WPA_KEY_INFO_SECURE | WPA_KEY_INFO_MIC |
WPA_KEY_INFO_ACK: WPA_KEY_INFO_ACK:
case WPA_KEY_INFO_SECURE | WPA_KEY_INFO_ACK:
rx_data_eapol_key_1_of_2(wt, dst, src, data, len); rx_data_eapol_key_1_of_2(wt, dst, src, data, len);
break; break;
case WPA_KEY_INFO_SECURE | WPA_KEY_INFO_MIC: case WPA_KEY_INFO_SECURE | WPA_KEY_INFO_MIC:
case WPA_KEY_INFO_SECURE:
rx_data_eapol_key_2_of_2(wt, dst, src, data, len); rx_data_eapol_key_2_of_2(wt, dst, src, data, len);
break; break;
default: default: