[PATCH 12/23] wpa_supplicant: use monotonic time for EAPOL RX workaround
Johannes Berg
johannes
Mon Dec 16 12:08:33 PST 2013
From: Johannes Berg <johannes.berg at intel.com>
The EAPOL RX workaround checks that the events are less than 100ms
apart, so only uses relative times and should use monotonic time.
Signed-hostap: Johannes Berg <johannes.berg at intel.com>
---
wpa_supplicant/events.c | 6 +++---
wpa_supplicant/wpa_supplicant.c | 2 +-
wpa_supplicant/wpa_supplicant_i.h | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 517d812..21a1132 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -1951,9 +1951,9 @@ static void wpa_supplicant_event_assoc(struct wpa_supplicant *wpa_s,
wpa_s->last_eapol_matches_bssid = 0;
if (wpa_s->pending_eapol_rx) {
- struct os_time now, age;
- os_get_time(&now);
- os_time_sub(&now, &wpa_s->pending_eapol_rx_time, &age);
+ struct os_reltime now, age;
+ os_get_reltime(&now);
+ os_reltime_sub(&now, &wpa_s->pending_eapol_rx_time, &age);
if (age.sec == 0 && age.usec < 100000 &&
os_memcmp(wpa_s->pending_eapol_rx_src, bssid, ETH_ALEN) ==
0) {
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 2d6272b..fc8b777 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -2348,7 +2348,7 @@ void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_addr,
wpabuf_free(wpa_s->pending_eapol_rx);
wpa_s->pending_eapol_rx = wpabuf_alloc_copy(buf, len);
if (wpa_s->pending_eapol_rx) {
- os_get_time(&wpa_s->pending_eapol_rx_time);
+ os_get_reltime(&wpa_s->pending_eapol_rx_time);
os_memcpy(wpa_s->pending_eapol_rx_src, src_addr,
ETH_ALEN);
}
diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h
index 3acb865..769e353 100644
--- a/wpa_supplicant/wpa_supplicant_i.h
+++ b/wpa_supplicant/wpa_supplicant_i.h
@@ -517,7 +517,7 @@ struct wpa_supplicant {
int blacklist_cleared;
struct wpabuf *pending_eapol_rx;
- struct os_time pending_eapol_rx_time;
+ struct os_reltime pending_eapol_rx_time;
u8 pending_eapol_rx_src[ETH_ALEN];
unsigned int last_eapol_matches_bssid:1;
--
1.8.5.1
More information about the Hostap
mailing list