aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/ibss_rsn.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-12-16 20:08:39 (GMT)
committerJouni Malinen <j@w1.fi>2013-12-24 05:58:21 (GMT)
commit3326f19355d93ca0e0faa877bf14599418f778dc (patch)
tree024d71a525ed006a5fb27fc4726bb8a5893cf101 /wpa_supplicant/ibss_rsn.c
parent196a2174036b112e6f95974356b3f66ddca9a0ef (diff)
downloadhostap-3326f19355d93ca0e0faa877bf14599418f778dc.zip
hostap-3326f19355d93ca0e0faa877bf14599418f778dc.tar.gz
hostap-3326f19355d93ca0e0faa877bf14599418f778dc.tar.bz2
IBSS RSN: Use monotonic time for reinit detection
The reinit detection skips reinit when the time since the own authentication frame TX is less than half a second, so it shouldn't be affected by wall time and use monotonic time instead. Signed-hostap: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'wpa_supplicant/ibss_rsn.c')
-rw-r--r--wpa_supplicant/ibss_rsn.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/wpa_supplicant/ibss_rsn.c b/wpa_supplicant/ibss_rsn.c
index 47ef35e..3083dd8 100644
--- a/wpa_supplicant/ibss_rsn.c
+++ b/wpa_supplicant/ibss_rsn.c
@@ -590,7 +590,7 @@ int ibss_rsn_start(struct ibss_rsn *ibss_rsn, const u8 *addr)
peer->authentication_status |= IBSS_RSN_AUTH_BY_US;
return ibss_rsn_auth_init(ibss_rsn, peer);
} else {
- os_get_time(&peer->own_auth_tx);
+ os_get_reltime(&peer->own_auth_tx);
eloop_register_timeout(1, 0, ibss_rsn_auth_timeout, peer, NULL);
}
@@ -834,9 +834,9 @@ static void ibss_rsn_handle_auth_1_of_2(struct ibss_rsn *ibss_rsn,
if (peer &&
peer->authentication_status & IBSS_RSN_AUTH_EAPOL_BY_PEER) {
if (peer->own_auth_tx.sec) {
- struct os_time now, diff;
- os_get_time(&now);
- os_time_sub(&now, &peer->own_auth_tx, &diff);
+ struct os_reltime now, diff;
+ os_get_reltime(&now);
+ os_reltime_sub(&now, &peer->own_auth_tx, &diff);
if (diff.sec == 0 && diff.usec < 500000) {
wpa_printf(MSG_DEBUG, "RSN: Skip IBSS reinit since only %u usec from own Auth frame TX",
(int) diff.usec);