aboutsummaryrefslogtreecommitdiffstats
path: root/src/ap/wpa_auth_ft.c
diff options
context:
space:
mode:
authorJouni Malinen <jouni.malinen@atheros.com>2010-04-09 10:36:06 (GMT)
committerJouni Malinen <j@w1.fi>2010-04-09 10:36:06 (GMT)
commit6e80516ab995a88846975f6cba7757e010634d39 (patch)
treeade334e44cf0507ee933ddd5f4d47ee2be540b25 /src/ap/wpa_auth_ft.c
parent1f6e69e07b7308ec4f6017b66bb1df7ee1396793 (diff)
downloadhostap-6e80516ab995a88846975f6cba7757e010634d39.zip
hostap-6e80516ab995a88846975f6cba7757e010634d39.tar.gz
hostap-6e80516ab995a88846975f6cba7757e010634d39.tar.bz2
FT: Fix Reassociation Response in FT Protocol to include ANonce/SNonce
These values are required to be included in the frame per IEEE Std 802.11r-2008, 11A.8.5.
Diffstat (limited to 'src/ap/wpa_auth_ft.c')
-rw-r--r--src/ap/wpa_auth_ft.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c
index 7922a7a..bb28163 100644
--- a/src/ap/wpa_auth_ft.c
+++ b/src/ap/wpa_auth_ft.c
@@ -614,6 +614,7 @@ u8 * wpa_sm_write_assoc_resp_ies(struct wpa_state_machine *sm, u8 *pos,
struct rsn_ftie *_ftie;
struct wpa_ft_ies parse;
u8 *ric_start;
+ u8 *anonce, *snonce;
if (sm == NULL)
return pos;
@@ -652,6 +653,8 @@ u8 * wpa_sm_write_assoc_resp_ies(struct wpa_state_machine *sm, u8 *pos,
subelem = wpa_ft_gtk_subelem(sm, &subelem_len);
r0kh_id = sm->r0kh_id;
r0kh_id_len = sm->r0kh_id_len;
+ anonce = sm->ANonce;
+ snonce = sm->SNonce;
#ifdef CONFIG_IEEE80211W
if (sm->mgmt_frame_prot) {
u8 *igtk;
@@ -677,8 +680,10 @@ u8 * wpa_sm_write_assoc_resp_ies(struct wpa_state_machine *sm, u8 *pos,
} else {
r0kh_id = conf->r0_key_holder;
r0kh_id_len = conf->r0_key_holder_len;
+ anonce = NULL;
+ snonce = NULL;
}
- res = wpa_write_ftie(conf, r0kh_id, r0kh_id_len, NULL, NULL, pos,
+ res = wpa_write_ftie(conf, r0kh_id, r0kh_id_len, anonce, snonce, pos,
end - pos, subelem, subelem_len);
os_free(subelem);
if (res < 0)