13 #define RSNA_MAX_EAPOL_RETRIES 4 19 u8 initiator[ETH_ALEN];
29 u8 p2p_dev_addr[ETH_ALEN];
32 WPA_PTK_INITIALIZE, WPA_PTK_DISCONNECT, WPA_PTK_DISCONNECTED,
33 WPA_PTK_AUTHENTICATION, WPA_PTK_AUTHENTICATION2,
34 WPA_PTK_INITPMK, WPA_PTK_INITPSK, WPA_PTK_PTKSTART,
35 WPA_PTK_PTKCALCNEGOTIATING, WPA_PTK_PTKCALCNEGOTIATING2,
36 WPA_PTK_PTKINITNEGOTIATING, WPA_PTK_PTKINITDONE
40 WPA_PTK_GROUP_IDLE = 0,
41 WPA_PTK_GROUP_REKEYNEGOTIATING,
42 WPA_PTK_GROUP_REKEYESTABLISHED,
43 WPA_PTK_GROUP_KEYERROR
44 } wpa_ptk_group_state;
47 Boolean DeauthenticationRequest;
48 Boolean AuthenticationRequest;
49 Boolean ReAuthenticationRequest;
54 Boolean EAPOLKeyReceived;
55 Boolean EAPOLKeyPairwise;
56 Boolean EAPOLKeyRequest;
58 Boolean GUpdateStationKeys;
59 u8 ANonce[WPA_NONCE_LEN];
60 u8 SNonce[WPA_NONCE_LEN];
61 u8 alt_SNonce[WPA_NONCE_LEN];
62 u8 alt_replay_counter[WPA_REPLAY_COUNTER_LEN];
71 u8 counter[WPA_REPLAY_COUNTER_LEN];
73 } key_replay[RSNA_MAX_EAPOL_RETRIES],
74 prev_key_replay[RSNA_MAX_EAPOL_RETRIES];
80 u8 *last_rx_eapol_key;
81 size_t last_rx_eapol_key_len;
83 unsigned int changed:1;
84 unsigned int in_step_loop:1;
85 unsigned int pending_deinit:1;
86 unsigned int started:1;
87 unsigned int mgmt_frame_prot:1;
88 unsigned int rx_eapol_key_secure:1;
89 unsigned int update_snonce:1;
90 unsigned int alt_snonce_valid:1;
91 #ifdef CONFIG_IEEE80211R_AP 92 unsigned int ft_completed:1;
93 unsigned int pmk_r1_name_valid:1;
95 unsigned int is_wnmsleep:1;
97 u8 req_replay_counter[WPA_REPLAY_COUNTER_LEN];
98 int req_replay_counter_used;
104 WPA_VERSION_NO_WPA = 0 ,
105 WPA_VERSION_WPA = 1 ,
112 u32 dot11RSNAStatsTKIPLocalMICFailures;
113 u32 dot11RSNAStatsTKIPRemoteMICFailures;
115 #ifdef CONFIG_IEEE80211R_AP 118 u8 pmk_r1_name[WPA_PMK_NAME_LEN];
120 u8 r0kh_id[FT_R0KH_ID_MAX_LEN];
122 u8 sup_pmk_r1_name[WPA_PMK_NAME_LEN];
126 void (*ft_pending_cb)(
void *ctx,
const u8 *dst,
const u8 *bssid,
127 u16 auth_transaction, u16 status,
128 const u8 *ies,
size_t ies_len);
129 void *ft_pending_cb_ctx;
130 struct wpabuf *ft_pending_req_ies;
131 u8 ft_pending_pull_nonce[FT_R0KH_R1KH_PULL_NONCE_LEN];
132 u8 ft_pending_auth_transaction;
133 u8 ft_pending_current_ap[ETH_ALEN];
136 int pending_1_of_4_timeout;
143 u8 fils_key_auth_sta[FILS_MAX_KEY_AUTH_LEN];
144 u8 fils_key_auth_ap[FILS_MAX_KEY_AUTH_LEN];
145 size_t fils_key_auth_len;
146 unsigned int fils_completed:1;
157 int GKeyDoneStations;
161 Boolean GTKAuthenticator;
162 u8 Counter[WPA_NONCE_LEN];
165 WPA_GROUP_GTK_INIT = 0,
166 WPA_GROUP_SETKEYS, WPA_GROUP_SETKEYSDONE,
167 WPA_GROUP_FATAL_FAILURE
171 u8 GTK[2][WPA_GTK_MAX_LEN];
172 u8 GNonce[WPA_NONCE_LEN];
174 Boolean first_sta_seen;
175 Boolean reject_4way_hs_for_entropy;
176 #ifdef CONFIG_IEEE80211W 177 u8 IGTK[2][WPA_IGTK_MAX_LEN];
178 int GN_igtk, GM_igtk;
181 unsigned int references;
182 unsigned int num_setup_iface;
186 struct wpa_ft_pmk_cache;
192 unsigned int dot11RSNAStatsTKIPRemoteMICFailures;
193 u32 dot11RSNAAuthenticationSuiteSelected;
194 u32 dot11RSNAPairwiseCipherSelected;
195 u32 dot11RSNAGroupCipherSelected;
196 u8 dot11RSNAPMKIDUsed[PMKID_LEN];
197 u32 dot11RSNAAuthenticationSuiteRequested;
198 u32 dot11RSNAPairwiseCipherRequested;
199 u32 dot11RSNAGroupCipherRequested;
200 unsigned int dot11RSNATKIPCounterMeasuresInvoked;
201 unsigned int dot11RSNA4WayHandshakeFailures;
214 struct wpa_ft_pmk_cache *ft_pmk_cache;
222 int wpa_write_rsn_ie(
struct wpa_auth_config *conf, u8 *buf,
size_t len,
225 logger_level level,
const char *txt);
227 logger_level level,
const char *fmt, ...);
230 const u8 *key_rsc,
const u8 *nonce,
231 const u8 *kde,
size_t kde_len,
232 int keyidx,
int encr,
int force_version);
240 #ifdef CONFIG_PEERKEY 245 const u8 *key_data,
size_t key_data_len);
248 const u8 *key_data,
size_t key_data_len);
251 const u8 *key_data,
size_t key_data_len);
254 #ifdef CONFIG_IEEE80211R_AP 258 const u8 *anonce,
const u8 *snonce,
259 u8 *buf,
size_t len,
const u8 *subelem,
263 struct wpa_ft_pmk_cache * wpa_ft_pmk_cache_init(
void);
264 void wpa_ft_pmk_cache_deinit(
struct wpa_ft_pmk_cache *cache);
Definition: wpa_auth_i.h:17
Definition: wpa_auth.h:200
Definition: wpa_auth_i.h:24
Definition: pmksa_cache_auth.c:24
Definition: wpa_common.h:176
Definition: wpa_auth_i.h:70
struct wpa_ptk - WPA Pairwise Transient Key IEEE Std 802.11i-2004 - 8.5.1.2 Pairwise key hierarchy ...
Definition: wpa_common.h:201
Definition: wpa_auth_i.h:189
Definition: wpa_auth.h:138
struct rsn_pmksa_cache_entry - PMKSA cache entry
Definition: pmksa_cache_auth.h:17
Definition: wpa_auth_i.h:152
Definition: bitfield.c:15