STA: Allow PTK rekeying without Ext KeyID to be disabled as a workaround
Rekeying a pairwise key using only keyid 0 (PTK0 rekey) has many broken implementations and should be avoided when using or interacting with one. The effects can be triggered by either end of the connection and range from hardly noticeable disconnects over long connection freezes up to leaking clear text MPDUs. To allow affected users to mitigate the issues, add a new configuration option "wpa_deny_ptk0_rekey" to replace all PTK0 rekeys with fast reconnects. Signed-off-by: Alexander Wetzel <alexander@wetzel-home.de>
This commit is contained in:
parent
1a7963e36f
commit
1f90a49d02
18 changed files with 174 additions and 8 deletions
|
@ -554,6 +554,7 @@ struct wpa_supplicant {
|
|||
|
||||
/* Selected configuration (based on Beacon/ProbeResp WPA IE) */
|
||||
int pairwise_cipher;
|
||||
int deny_ptk0_rekey;
|
||||
int group_cipher;
|
||||
int key_mgmt;
|
||||
int wpa_proto;
|
||||
|
@ -1071,6 +1072,7 @@ struct wpa_supplicant {
|
|||
unsigned int wmm_ac_supported:1;
|
||||
unsigned int ext_work_in_progress:1;
|
||||
unsigned int own_disconnect_req:1;
|
||||
unsigned int own_reconnect_req:1;
|
||||
unsigned int ignore_post_flush_scan_res:1;
|
||||
|
||||
#define MAC_ADDR_RAND_SCAN BIT(0)
|
||||
|
@ -1325,6 +1327,7 @@ const char * wpa_supplicant_get_eap_mode(struct wpa_supplicant *wpa_s);
|
|||
void wpa_supplicant_cancel_auth_timeout(struct wpa_supplicant *wpa_s);
|
||||
void wpa_supplicant_deauthenticate(struct wpa_supplicant *wpa_s,
|
||||
u16 reason_code);
|
||||
void wpa_supplicant_reconnect(struct wpa_supplicant *wpa_s);
|
||||
|
||||
struct wpa_ssid * wpa_supplicant_add_network(struct wpa_supplicant *wpa_s);
|
||||
int wpa_supplicant_remove_network(struct wpa_supplicant *wpa_s, int id);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue