Browse Source

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.
Jouni Malinen 15 years ago
parent
commit
1f6e69e07b
1 changed files with 8 additions and 4 deletions
  1. 8 4
      src/ap/wpa_auth_ft.c

+ 8 - 4
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,