Parcourir la 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 il y a 15 ans
Parent
commit
1f6e69e07b
1 fichiers modifiés avec 8 ajouts et 4 suppressions
  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,