From: Jouni Malinen Date: Fri, 9 Apr 2010 10:30:49 +0000 (+0300) Subject: FT: Do not add MIC to FTIE during initial MD association X-Git-Tag: hostap_0_7_2~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f6e69e07b7308ec4f6017b66bb1df7ee1396793;p=thirdparty%2Fhostap.git FT: Do not add MIC to FTIE during initial MD association We do not have any keys set at this point so there is no point in adding the MIC. In addition, IEEE Std 802.11r-2008, 11A.4.2 describes this frame to have MIC IE count of 0 and MIC of 0. --- diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c index 499efb12a..7922a7a68 100644 --- a/src/ap/wpa_auth_ft.c +++ b/src/ap/wpa_auth_ft.c @@ -688,18 +688,22 @@ u8 * wpa_sm_write_assoc_resp_ies(struct wpa_state_machine *sm, u8 *pos, pos += res; _ftie = (struct rsn_ftie *) (ftie + 2); - _ftie->mic_control[1] = 3; /* Information element count */ + if (auth_alg == WLAN_AUTH_FT) + _ftie->mic_control[1] = 3; /* Information element count */ ric_start = pos; if (wpa_ft_parse_ies(req_ies, req_ies_len, &parse) == 0 && parse.ric) { pos = wpa_ft_process_ric(pos, end, parse.ric, parse.ric_len); - _ftie->mic_control[1] += ieee802_11_ie_count(ric_start, - pos - ric_start); + if (auth_alg == WLAN_AUTH_FT) + _ftie->mic_control[1] += + ieee802_11_ie_count(ric_start, + pos - ric_start); } if (ric_start == pos) ric_start = NULL; - if (wpa_ft_mic(sm->PTK.kck, sm->addr, sm->wpa_auth->addr, 6, + if (auth_alg == WLAN_AUTH_FT && + wpa_ft_mic(sm->PTK.kck, sm->addr, sm->wpa_auth->addr, 6, mdie, mdie_len, ftie, ftie_len, rsnie, rsnie_len, ric_start, ric_start ? pos - ric_start : 0,