13 #define MAX_OWN_IE_OVERRIDE 256
25 u8 ap_address[ETH_ALEN];
32 #define RSN_REMOTE_FRAME_TYPE_FT_RRB 1
34 #define FT_PACKET_REQUEST 0
35 #define FT_PACKET_RESPONSE 1
37 #define FT_PACKET_R0KH_R1KH_PULL 200
38 #define FT_PACKET_R0KH_R1KH_RESP 201
39 #define FT_PACKET_R0KH_R1KH_PUSH 202
41 #define FT_R0KH_R1KH_PULL_DATA_LEN 44
42 #define FT_R0KH_R1KH_RESP_DATA_LEN 76
43 #define FT_R0KH_R1KH_PUSH_DATA_LEN 88
44 #define FT_R0KH_R1KH_PULL_NONCE_LEN 16
50 u8 ap_address[ETH_ALEN];
52 u8 nonce[FT_R0KH_R1KH_PULL_NONCE_LEN];
53 u8 pmk_r0_name[WPA_PMK_NAME_LEN];
54 u8 r1kh_id[FT_R1KH_ID_LEN];
64 u8 ap_address[ETH_ALEN];
66 u8 nonce[FT_R0KH_R1KH_PULL_NONCE_LEN];
67 u8 r1kh_id[FT_R1KH_ID_LEN];
70 u8 pmk_r1_name[WPA_PMK_NAME_LEN];
80 u8 ap_address[ETH_ALEN];
85 u8 r1kh_id[FT_R1KH_ID_LEN];
87 u8 pmk_r0_name[WPA_PMK_NAME_LEN];
89 u8 pmk_r1_name[WPA_PMK_NAME_LEN];
111 u8
id[FT_R0KH_ID_MAX_LEN];
120 u8
id[FT_R1KH_ID_LEN];
131 int wpa_strict_rekey;
140 int disable_pmksa_caching;
143 #ifdef CONFIG_IEEE80211W
145 int group_mgmt_cipher;
147 #ifdef CONFIG_IEEE80211R
148 u8 ssid[SSID_MAX_LEN];
150 u8 mobility_domain[MOBILITY_DOMAIN_ID_LEN];
151 u8 r0_key_holder[FT_R0KH_ID_MAX_LEN];
152 size_t r0_key_holder_len;
153 u8 r1_key_holder[FT_R1KH_ID_LEN];
155 u32 reassociation_deadline;
163 #ifdef CONFIG_TESTING_OPTIONS
164 double corrupt_gtk_rekey_mic_probability;
165 u8 own_ie_override[MAX_OWN_IE_OVERRIDE];
166 size_t own_ie_override_len;
177 LOGGER_DEBUG, LOGGER_INFO, LOGGER_WARNING
181 WPA_EAPOL_portEnabled, WPA_EAPOL_portValid, WPA_EAPOL_authorized,
182 WPA_EAPOL_portControl_Auto, WPA_EAPOL_keyRun, WPA_EAPOL_keyAvailable,
183 WPA_EAPOL_keyDone, WPA_EAPOL_inc_EapolFramesTx
184 } wpa_eapol_variable;
188 void (*logger)(
void *ctx,
const u8 *addr, logger_level level,
190 void (*disconnect)(
void *ctx,
const u8 *addr, u16 reason);
191 int (*mic_failure_report)(
void *ctx,
const u8 *addr);
192 void (*psk_failure_report)(
void *ctx,
const u8 *addr);
193 void (*set_eapol)(
void *ctx,
const u8 *addr, wpa_eapol_variable var,
195 int (*get_eapol)(
void *ctx,
const u8 *addr, wpa_eapol_variable var);
196 const u8 * (*get_psk)(
void *ctx,
const u8 *addr,
const u8 *p2p_dev_addr,
198 int (*get_msk)(
void *ctx,
const u8 *addr, u8 *msk,
size_t *len);
199 int (*set_key)(
void *ctx,
int vlan_id,
enum wpa_alg alg,
200 const u8 *addr,
int idx, u8 *key,
size_t key_len);
201 int (*get_seqnum)(
void *ctx,
const u8 *addr,
int idx, u8 *seq);
202 int (*send_eapol)(
void *ctx,
const u8 *addr,
const u8 *data,
203 size_t data_len,
int encrypt);
205 void *ctx),
void *cb_ctx);
207 void *ctx),
void *cb_ctx);
208 int (*send_ether)(
void *ctx,
const u8 *dst, u16 proto,
const u8 *data,
210 #ifdef CONFIG_IEEE80211R
212 int (*send_ft_action)(
void *ctx,
const u8 *dst,
213 const u8 *data,
size_t data_len);
214 int (*add_tspec)(
void *ctx,
const u8 *sta_addr, u8 *tspec_ie,
218 int (*start_ampe)(
void *ctx,
const u8 *sta_addr);
231 WPA_IE_OK, WPA_INVALID_IE, WPA_INVALID_GROUP, WPA_INVALID_PAIRWISE,
232 WPA_INVALID_AKMP, WPA_NOT_ENABLED, WPA_ALLOC_FAIL,
233 WPA_MGMT_FRAME_PROTECTION_VIOLATION, WPA_INVALID_MGMT_GROUP_CIPHER,
234 WPA_INVALID_MDIE, WPA_INVALID_PROTO
239 const u8 *wpa_ie,
size_t wpa_ie_len,
240 const u8 *mdie,
size_t mdie_len);
243 const u8 *osen_ie,
size_t osen_ie_len);
247 const u8 *p2p_dev_addr);
254 u8 *data,
size_t data_len);
256 WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH,
257 WPA_REAUTH_EAPOL, WPA_ASSOC_FT
280 const u8 *pmk,
size_t len,
const u8 *sta_addr,
291 #ifdef CONFIG_IEEE80211R
293 size_t max_len,
int auth_alg,
294 const u8 *req_ies,
size_t req_ies_len);
296 u16 auth_transaction,
const u8 *ies,
size_t ies_len,
297 void (*cb)(
void *ctx,
const u8 *dst,
const u8 *bssid,
298 u16 auth_transaction, u16 resp,
299 const u8 *ies,
size_t ies_len),
305 const u8 *data,
size_t data_len);
Definition: wpa_auth.h:186
Definition: wpa_auth_i.h:20
WPA Supplicant - Common definitions.
Definition: wpa_auth.h:60
Definition: wpa_auth.h:21
Per-Supplicant Authenticator state machines.
Definition: eapol_auth_sm_i.h:40
Definition: wpa_auth.h:117
Definition: wpa_auth.h:108
WPA definitions shared between hostapd and wpa_supplicant.
int wpa_reconfig(struct wpa_authenticator *wpa_auth, struct wpa_auth_config *conf)
Update WPA authenticator configuration.
Definition: wpa_auth.c:539
struct wpa_authenticator * wpa_init(const u8 *addr, struct wpa_auth_config *conf, struct wpa_auth_callbacks *cb)
Initialize WPA authenticator.
Definition: wpa_auth.c:405
Definition: wpa_auth_i.h:176
Definition: wpa_auth.h:125
PMKSA cache entry.
Definition: pmksa_cache_auth.h:14
IEEE 802.11 Frame type definitions Copyright (c) 2007-2008 Intel Corporation.
EAPOL definitions shared between hostapd and wpa_supplicant.
mfp_options
Management frame protection (IEEE 802.11w) options.
Definition: defs.h:291
void wpa_deinit(struct wpa_authenticator *wpa_auth)
Deinitialize WPA authenticator.
Definition: wpa_auth.c:497
Definition: wpa_auth.h:46
Definition: wpa_auth.h:76
Definition: wpa_auth_i.h:140
Definition: radius_das.h:17