path: root/src/common/wpa_common.h
diff options
authorJouni Malinen <j@w1.fi>2010-04-07 18:04:13 (GMT)
committerJouni Malinen <j@w1.fi>2010-04-07 18:04:13 (GMT)
commit26e23750b950cb6e460a058668e9c59a194d1d76 (patch)
tree94199742bf778eb44f473d3c1b69ec389277153d /src/common/wpa_common.h
parent738a1cb286ee108f6314e0e2ab799b1a526d81d2 (diff)
FT: Fix FT 4-Way Handshake to include PMKR1Name in messages 2 and 3
IEEE Std 802.11r-2008, 11A.4.2 describes FT initial mobility domain association in an RSN to include PMKR1Name in the PMKID-List field in RSN IE in messages 2/4 and 3/4. This makes the RSN IE not be bitwise identical with the values used in Beacon, Probe Response, (Re)association Request frames. The previous versions of wpa_supplicant and hostapd did not add the PMKR1Name value in EAPOL-Key frame and did not accept it if added (due to bitwise comparison of RSN IEs). This commit fixes the implementation to be compliant with the standard by adding the PMKR1Name value into EAPOL-Key messages during FT 4-Way Handshake and by verifying that the received value matches with the value derived locally. This breaks interoperability with previous wpa_supplicant/hostapd versions.
Diffstat (limited to 'src/common/wpa_common.h')
1 files changed, 4 insertions, 0 deletions
diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
index b8f43d5..fd8a79f 100644
--- a/src/common/wpa_common.h
+++ b/src/common/wpa_common.h
@@ -343,5 +343,9 @@ void rsn_pmkid(const u8 *pmk, size_t pmk_len, const u8 *aa, const u8 *spa,
const char * wpa_cipher_txt(int cipher);
const char * wpa_key_mgmt_txt(int key_mgmt, int proto);
+int wpa_compare_rsn_ie(int ft_initial_assoc,
+ const u8 *ie1, size_t ie1len,
+ const u8 *ie2, size_t ie2len);
+int wpa_insert_pmkid(u8 *ies, size_t ies_len, const u8 *pmkid);
#endif /* WPA_COMMON_H */