wpa_supplicant: Use monotonic time for temp-disabled networks

Temporarily disabled networks are disabled for a certain
duration, so the code should use monotonic time.

Signed-hostap: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2013-12-16 21:08:41 +01:00 committed by Jouni Malinen
parent 151ab808fa
commit 4e1eae1dff
3 changed files with 5 additions and 5 deletions

View file

@ -611,7 +611,7 @@ struct wpa_ssid {
/** /**
* disabled_until - Network block disabled until this time if non-zero * disabled_until - Network block disabled until this time if non-zero
*/ */
struct os_time disabled_until; struct os_reltime disabled_until;
/** /**
* parent_cred - Pointer to parent wpa_cred entry * parent_cred - Pointer to parent wpa_cred entry

View file

@ -53,12 +53,12 @@ static int wpas_select_network_from_last_scan(struct wpa_supplicant *wpa_s,
static int wpas_temp_disabled(struct wpa_supplicant *wpa_s, static int wpas_temp_disabled(struct wpa_supplicant *wpa_s,
struct wpa_ssid *ssid) struct wpa_ssid *ssid)
{ {
struct os_time now; struct os_reltime now;
if (ssid == NULL || ssid->disabled_until.sec == 0) if (ssid == NULL || ssid->disabled_until.sec == 0)
return 0; return 0;
os_get_time(&now); os_get_reltime(&now);
if (ssid->disabled_until.sec > now.sec) if (ssid->disabled_until.sec > now.sec)
return ssid->disabled_until.sec - now.sec; return ssid->disabled_until.sec - now.sec;

View file

@ -3979,7 +3979,7 @@ void wpas_auth_failed(struct wpa_supplicant *wpa_s)
{ {
struct wpa_ssid *ssid = wpa_s->current_ssid; struct wpa_ssid *ssid = wpa_s->current_ssid;
int dur; int dur;
struct os_time now; struct os_reltime now;
if (ssid == NULL) { if (ssid == NULL) {
wpa_printf(MSG_DEBUG, "Authentication failure but no known " wpa_printf(MSG_DEBUG, "Authentication failure but no known "
@ -4016,7 +4016,7 @@ void wpas_auth_failed(struct wpa_supplicant *wpa_s)
else else
dur = 10; dur = 10;
os_get_time(&now); os_get_reltime(&now);
if (now.sec + dur <= ssid->disabled_until.sec) if (now.sec + dur <= ssid->disabled_until.sec)
return; return;