path: root/wpa_supplicant/preauth_test.c
diff options
authorJouni Malinen <j@w1.fi>2008-06-09 13:26:47 (GMT)
committerJouni Malinen <j@w1.fi>2008-06-09 13:26:47 (GMT)
commit3e2ad1b932d827ddb038a5f9163bca766803811a (patch)
tree0cbabac0b9831ad683c7607b8d9e18bc789727f7 /wpa_supplicant/preauth_test.c
parent2eeaa5c9d0fc3afb75b75d77ba629da027abdc83 (diff)
Fixed race condition between disassociation event and group key handshake
This avoids getting stuck in state where wpa_supplicant has canceled scans, but the driver is actually in disassociated state. The previously used code that controlled scan timeout from WPA module is not really needed anymore (and has not been needed for past four years since authentication timeout was separated from scan request timeout), so this can simply be removed to resolved the race condition. As an extra bonus, this simplifies the interface to WPA module. [Bug 261]
Diffstat (limited to 'wpa_supplicant/preauth_test.c')
1 files changed, 0 insertions, 14 deletions
diff --git a/wpa_supplicant/preauth_test.c b/wpa_supplicant/preauth_test.c
index e21cd57..86307a8 100644
--- a/wpa_supplicant/preauth_test.c
+++ b/wpa_supplicant/preauth_test.c
@@ -43,18 +43,6 @@ struct preauth_test_data {
-static void _wpa_supplicant_req_scan(void *wpa_s, int sec, int usec)
- wpa_supplicant_req_scan(wpa_s, sec, usec);
-static void _wpa_supplicant_cancel_scan(void *wpa_s)
- wpa_supplicant_cancel_scan(wpa_s);
static void _wpa_supplicant_disassociate(void *wpa_s, int reason_code)
wpa_supplicant_disassociate(wpa_s, reason_code);
@@ -253,8 +241,6 @@ static void wpa_init_conf(struct wpa_supplicant *wpa_s, const char *ifname)
ctx->ctx = wpa_s;
ctx->set_state = _wpa_supplicant_set_state;
ctx->get_state = _wpa_supplicant_get_state;
- ctx->req_scan = _wpa_supplicant_req_scan;
- ctx->cancel_scan = _wpa_supplicant_cancel_scan;
ctx->deauthenticate = _wpa_supplicant_deauthenticate;
ctx->disassociate = _wpa_supplicant_disassociate;
ctx->set_key = wpa_supplicant_set_key;