mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-01-17 18:34:03 -05:00
Remove unneeded scan delay on connection-in-progress
This type of protection against concurrent connection and scan operations is now enforced through the wpa_radio work mechanism, so this separate protection mechanism is not needed anymore. Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
4bb232153f
commit
6470f471e4
@ -574,7 +574,7 @@ static void wpa_supplicant_scan(void *eloop_ctx, void *timeout_ctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_P2P
|
#ifdef CONFIG_P2P
|
||||||
if (wpas_p2p_in_progress(wpa_s) || wpas_wpa_is_in_progress(wpa_s, 0)) {
|
if (wpas_p2p_in_progress(wpa_s)) {
|
||||||
wpa_dbg(wpa_s, MSG_DEBUG, "Delay station mode scan while P2P operation is in progress");
|
wpa_dbg(wpa_s, MSG_DEBUG, "Delay station mode scan while P2P operation is in progress");
|
||||||
wpa_supplicant_req_scan(wpa_s, 5, 0);
|
wpa_supplicant_req_scan(wpa_s, 5, 0);
|
||||||
return;
|
return;
|
||||||
|
@ -4346,42 +4346,6 @@ void wpas_request_connection(struct wpa_supplicant *wpa_s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int wpas_conn_in_progress(struct wpa_supplicant *wpa_s)
|
|
||||||
{
|
|
||||||
return wpa_s->wpa_state >= WPA_AUTHENTICATING &&
|
|
||||||
wpa_s->wpa_state != WPA_COMPLETED;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wpas_wpa_is_in_progress - Check whether a connection is in progress
|
|
||||||
* @wpa_s: Pointer to wpa_supplicant data
|
|
||||||
* @include_current: Whether to consider specified interface
|
|
||||||
*
|
|
||||||
* This function is to check if the wpa state is in beginning of the connection
|
|
||||||
* during 4-way handshake or group key handshake with WPA on any shared
|
|
||||||
* interface.
|
|
||||||
*/
|
|
||||||
int wpas_wpa_is_in_progress(struct wpa_supplicant *wpa_s, int include_current)
|
|
||||||
{
|
|
||||||
struct wpa_supplicant *ifs;
|
|
||||||
|
|
||||||
dl_list_for_each(ifs, &wpa_s->radio->ifaces, struct wpa_supplicant,
|
|
||||||
radio_list) {
|
|
||||||
if (!include_current && ifs == wpa_s)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (wpas_conn_in_progress(ifs)) {
|
|
||||||
wpa_dbg(wpa_s, MSG_DEBUG, "Connection is in progress "
|
|
||||||
"on interface %s - defer", ifs->ifname);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void dump_freq_array(struct wpa_supplicant *wpa_s, const char *title,
|
void dump_freq_array(struct wpa_supplicant *wpa_s, const char *title,
|
||||||
int *freq_array, unsigned int len)
|
int *freq_array, unsigned int len)
|
||||||
{
|
{
|
||||||
|
@ -881,7 +881,6 @@ int disallowed_ssid(struct wpa_supplicant *wpa_s, const u8 *ssid,
|
|||||||
size_t ssid_len);
|
size_t ssid_len);
|
||||||
void wpas_request_connection(struct wpa_supplicant *wpa_s);
|
void wpas_request_connection(struct wpa_supplicant *wpa_s);
|
||||||
int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf);
|
int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf);
|
||||||
int wpas_wpa_is_in_progress(struct wpa_supplicant *wpa_s, int include_current);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wpa_supplicant_ctrl_iface_ctrl_rsp_handle - Handle a control response
|
* wpa_supplicant_ctrl_iface_ctrl_rsp_handle - Handle a control response
|
||||||
|
Loading…
Reference in New Issue
Block a user