a0bf1b68c0
This was originally added to allow the IEEE 802.11 protocol to be tested, but there are no known fully functional implementations based on this nor any known deployments of PeerKey functionality. Furthermore, PeerKey design in the IEEE Std 802.11-2016 standard has already been marked as obsolete for DLS and it is being considered for complete removal in REVmd. This implementation did not really work, so it could not have been used in practice. For example, key configuration was using incorrect algorithm values (WPA_CIPHER_* instead of WPA_ALG_*) which resulted in mapping to an invalid WPA_ALG_* value for the actual driver operation. As such, the derived key could not have been successfully set for the link. Since there are bugs in this implementation and there does not seem to be any future for the PeerKey design with DLS (TDLS being the future for DLS), the best approach is to simply delete all this code to simplify the EAPOL-Key handling design and to get rid of any potential issues if these code paths were accidentially reachable. Signed-off-by: Jouni Malinen <j@w1.fi>
47 lines
1.1 KiB
C
47 lines
1.1 KiB
C
/*
|
|
* hostapd - WPA/RSN IE and KDE definitions
|
|
* Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
|
|
*
|
|
* This software may be distributed under the terms of the BSD license.
|
|
* See README for more details.
|
|
*/
|
|
|
|
#ifndef WPA_AUTH_IE_H
|
|
#define WPA_AUTH_IE_H
|
|
|
|
struct wpa_eapol_ie_parse {
|
|
const u8 *wpa_ie;
|
|
size_t wpa_ie_len;
|
|
const u8 *rsn_ie;
|
|
size_t rsn_ie_len;
|
|
const u8 *pmkid;
|
|
const u8 *gtk;
|
|
size_t gtk_len;
|
|
const u8 *mac_addr;
|
|
size_t mac_addr_len;
|
|
#ifdef CONFIG_IEEE80211W
|
|
const u8 *igtk;
|
|
size_t igtk_len;
|
|
#endif /* CONFIG_IEEE80211W */
|
|
#ifdef CONFIG_IEEE80211R_AP
|
|
const u8 *mdie;
|
|
size_t mdie_len;
|
|
const u8 *ftie;
|
|
size_t ftie_len;
|
|
#endif /* CONFIG_IEEE80211R_AP */
|
|
#ifdef CONFIG_P2P
|
|
const u8 *ip_addr_req;
|
|
const u8 *ip_addr_alloc;
|
|
#endif /* CONFIG_P2P */
|
|
|
|
const u8 *osen;
|
|
size_t osen_len;
|
|
};
|
|
|
|
int wpa_parse_kde_ies(const u8 *buf, size_t len,
|
|
struct wpa_eapol_ie_parse *ie);
|
|
u8 * wpa_add_kde(u8 *pos, u32 kde, const u8 *data, size_t data_len,
|
|
const u8 *data2, size_t data2_len);
|
|
int wpa_auth_gen_wpa_ie(struct wpa_authenticator *wpa_auth);
|
|
|
|
#endif /* WPA_AUTH_IE_H */
|