FT: Force key configuration after association in FT-over-DS

This seems to be needed at least with mac80211 when a STA is using
FT-over-DS to reassociate back to the AP when the AP still has the
previous association state.
This commit is contained in:
Jouni Malinen 2010-04-04 09:16:11 +03:00
parent 9a3cb18d74
commit d8ad6cb966
3 changed files with 3 additions and 1 deletions

View File

@ -1208,7 +1208,7 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, wpa_event event)
break; break;
case WPA_ASSOC_FT: case WPA_ASSOC_FT:
#ifdef CONFIG_IEEE80211R #ifdef CONFIG_IEEE80211R
if (!sm->pairwise_set) { if (!sm->pairwise_set || sm->ft_over_ds) {
wpa_printf(MSG_DEBUG, "FT: Retry PTK configuration " wpa_printf(MSG_DEBUG, "FT: Retry PTK configuration "
"after association"); "after association");
wpa_ft_install_ptk(sm); wpa_ft_install_ptk(sm);

View File

@ -1227,6 +1227,7 @@ static int wpa_ft_rrb_rx_request(struct wpa_authenticator *wpa_auth,
"RRB Request"); "RRB Request");
return -1; return -1;
} }
sm->ft_over_ds = 1;
wpa_hexdump(MSG_MSGDUMP, "FT: RRB Request Frame body", body, len); wpa_hexdump(MSG_MSGDUMP, "FT: RRB Request Frame body", body, len);

View File

@ -116,6 +116,7 @@ struct wpa_state_machine {
* Request */ * Request */
u8 r0kh_id[FT_R0KH_ID_MAX_LEN]; /* R0KH-ID from FT Auth Request */ u8 r0kh_id[FT_R0KH_ID_MAX_LEN]; /* R0KH-ID from FT Auth Request */
size_t r0kh_id_len; size_t r0kh_id_len;
int ft_over_ds;
#endif /* CONFIG_IEEE80211R */ #endif /* CONFIG_IEEE80211R */
}; };