9 #define RSNA_MAX_EAPOL_RETRIES 4
15 u8 initiator[ETH_ALEN];
25 u8 p2p_dev_addr[ETH_ALEN];
28 WPA_PTK_INITIALIZE, WPA_PTK_DISCONNECT, WPA_PTK_DISCONNECTED,
29 WPA_PTK_AUTHENTICATION, WPA_PTK_AUTHENTICATION2,
30 WPA_PTK_INITPMK, WPA_PTK_INITPSK, WPA_PTK_PTKSTART,
31 WPA_PTK_PTKCALCNEGOTIATING, WPA_PTK_PTKCALCNEGOTIATING2,
32 WPA_PTK_PTKINITNEGOTIATING, WPA_PTK_PTKINITDONE
36 WPA_PTK_GROUP_IDLE = 0,
37 WPA_PTK_GROUP_REKEYNEGOTIATING,
38 WPA_PTK_GROUP_REKEYESTABLISHED,
39 WPA_PTK_GROUP_KEYERROR
40 } wpa_ptk_group_state;
43 Boolean DeauthenticationRequest;
44 Boolean AuthenticationRequest;
45 Boolean ReAuthenticationRequest;
50 Boolean EAPOLKeyReceived;
51 Boolean EAPOLKeyPairwise;
52 Boolean EAPOLKeyRequest;
54 Boolean GUpdateStationKeys;
55 u8 ANonce[WPA_NONCE_LEN];
56 u8 SNonce[WPA_NONCE_LEN];
57 u8 alt_SNonce[WPA_NONCE_LEN];
58 u8 alt_replay_counter[WPA_REPLAY_COUNTER_LEN];
66 u8 counter[WPA_REPLAY_COUNTER_LEN];
68 } key_replay[RSNA_MAX_EAPOL_RETRIES],
69 prev_key_replay[RSNA_MAX_EAPOL_RETRIES];
75 u8 *last_rx_eapol_key;
76 size_t last_rx_eapol_key_len;
78 unsigned int changed:1;
79 unsigned int in_step_loop:1;
80 unsigned int pending_deinit:1;
81 unsigned int started:1;
82 unsigned int mgmt_frame_prot:1;
83 unsigned int rx_eapol_key_secure:1;
84 unsigned int update_snonce:1;
85 unsigned int alt_snonce_valid:1;
86 #ifdef CONFIG_IEEE80211R
87 unsigned int ft_completed:1;
88 unsigned int pmk_r1_name_valid:1;
90 unsigned int is_wnmsleep:1;
92 u8 req_replay_counter[WPA_REPLAY_COUNTER_LEN];
93 int req_replay_counter_used;
99 WPA_VERSION_NO_WPA = 0 ,
100 WPA_VERSION_WPA = 1 ,
107 u32 dot11RSNAStatsTKIPLocalMICFailures;
108 u32 dot11RSNAStatsTKIPRemoteMICFailures;
110 #ifdef CONFIG_IEEE80211R
113 u8 pmk_r1_name[WPA_PMK_NAME_LEN];
115 u8 r0kh_id[FT_R0KH_ID_MAX_LEN];
117 u8 sup_pmk_r1_name[WPA_PMK_NAME_LEN];
121 void (*ft_pending_cb)(
void *ctx,
const u8 *dst,
const u8 *bssid,
122 u16 auth_transaction, u16 status,
123 const u8 *ies,
size_t ies_len);
124 void *ft_pending_cb_ctx;
125 struct wpabuf *ft_pending_req_ies;
126 u8 ft_pending_pull_nonce[FT_R0KH_R1KH_PULL_NONCE_LEN];
127 u8 ft_pending_auth_transaction;
128 u8 ft_pending_current_ap[ETH_ALEN];
131 int pending_1_of_4_timeout;
145 int GKeyDoneStations;
149 Boolean GTKAuthenticator;
150 u8 Counter[WPA_NONCE_LEN];
153 WPA_GROUP_GTK_INIT = 0,
154 WPA_GROUP_SETKEYS, WPA_GROUP_SETKEYSDONE,
155 WPA_GROUP_FATAL_FAILURE
159 u8 GTK[2][WPA_GTK_MAX_LEN];
160 u8 GNonce[WPA_NONCE_LEN];
162 Boolean first_sta_seen;
163 Boolean reject_4way_hs_for_entropy;
164 #ifdef CONFIG_IEEE80211W
165 u8 IGTK[2][WPA_IGTK_MAX_LEN];
166 int GN_igtk, GM_igtk;
169 unsigned int references;
173 struct wpa_ft_pmk_cache;
179 unsigned int dot11RSNAStatsTKIPRemoteMICFailures;
180 u32 dot11RSNAAuthenticationSuiteSelected;
181 u32 dot11RSNAPairwiseCipherSelected;
182 u32 dot11RSNAGroupCipherSelected;
183 u8 dot11RSNAPMKIDUsed[PMKID_LEN];
184 u32 dot11RSNAAuthenticationSuiteRequested;
185 u32 dot11RSNAPairwiseCipherRequested;
186 u32 dot11RSNAGroupCipherRequested;
187 unsigned int dot11RSNATKIPCounterMeasuresInvoked;
188 unsigned int dot11RSNA4WayHandshakeFailures;
201 struct wpa_ft_pmk_cache *ft_pmk_cache;
209 int wpa_write_rsn_ie(
struct wpa_auth_config *conf, u8 *buf,
size_t len,
212 logger_level level,
const char *txt);
214 logger_level level,
const char *fmt, ...);
217 const u8 *key_rsc,
const u8 *nonce,
218 const u8 *kde,
size_t kde_len,
219 int keyidx,
int encr,
int force_version);
227 #ifdef CONFIG_PEERKEY
232 const u8 *key_data,
size_t key_data_len);
235 const u8 *key_data,
size_t key_data_len);
238 const u8 *key_data,
size_t key_data_len);
241 #ifdef CONFIG_IEEE80211R
245 const u8 *anonce,
const u8 *snonce,
246 u8 *buf,
size_t len,
const u8 *subelem,
250 struct wpa_ft_pmk_cache * wpa_ft_pmk_cache_init(
void);
251 void wpa_ft_pmk_cache_deinit(
struct wpa_ft_pmk_cache *cache);
Definition: wpa_auth_i.h:13
Definition: wpa_auth.h:186
Definition: wpa_auth_i.h:20
Definition: pmksa_cache_auth.c:20
Definition: wpa_common.h:166
Definition: wpa_auth_i.h:65
WPA Pairwise Transient Key IEEE Std 802.11i-2004 - 8.5.1.2 Pairwise key hierarchy.
Definition: wpa_common.h:205
Definition: wpa_auth_i.h:176
Definition: wpa_auth.h:125
PMKSA cache entry.
Definition: pmksa_cache_auth.h:14
Definition: wpa_auth_i.h:140
Definition: bitfield.c:11