AP: Use monotonic time for STA connected time

Connected time is relative, so should be using monotonic time
rather than time of day.

Signed-hostap: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2013-11-25 21:56:04 +01:00 committed by Jouni Malinen
parent ed0ebee14f
commit b3493fa110
4 changed files with 5 additions and 6 deletions

View File

@ -24,14 +24,13 @@
static int hostapd_get_sta_conn_time(struct sta_info *sta,
char *buf, size_t buflen)
{
struct os_time now, age;
struct os_reltime age;
int len = 0, ret;
if (!sta->connected_time.sec)
return 0;
os_get_time(&now);
os_time_sub(&now, &sta->connected_time, &age);
os_reltime_age(&sta->connected_time, &age);
ret = os_snprintf(buf + len, buflen - len, "connected_time=%u\n",
(unsigned int) age.sec);

View File

@ -1967,7 +1967,7 @@ void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta,
* IEEE 802.1X/WPA code will start accounting after the station has
* been authorized. */
if (!hapd->conf->ieee802_1x && !hapd->conf->wpa) {
os_get_time(&sta->connected_time);
os_get_reltime(&sta->connected_time);
accounting_sta_start(hapd, sta);
}

View File

@ -102,7 +102,7 @@ void ieee802_1x_set_sta_authorized(struct hostapd_data *hapd,
}
if (authorized) {
os_get_time(&sta->connected_time);
os_get_reltime(&sta->connected_time);
accounting_sta_start(hapd, sta);
}
}

View File

@ -126,7 +126,7 @@ struct sta_info {
struct wpabuf *p2p_ie; /* P2P IE from (Re)Association Request */
struct wpabuf *hs20_ie; /* HS 2.0 IE from (Re)Association Request */
struct os_time connected_time;
struct os_reltime connected_time;
#ifdef CONFIG_SAE
struct sae_data *sae;