Remove references to time_t/time()

Use os_time() in AP mode instead of direct time() calls.
This commit is contained in:
Per Ekman 2011-09-12 22:14:30 +03:00 committed by Jouni Malinen
parent 531f0331a1
commit 3d9e2e6615
4 changed files with 16 additions and 9 deletions

View file

@ -236,6 +236,7 @@ static void accounting_interim_update(void *eloop_ctx, void *timeout_ctx)
void accounting_sta_start(struct hostapd_data *hapd, struct sta_info *sta) void accounting_sta_start(struct hostapd_data *hapd, struct sta_info *sta)
{ {
struct radius_msg *msg; struct radius_msg *msg;
struct os_time t;
int interval; int interval;
if (sta->acct_session_started) if (sta->acct_session_started)
@ -247,7 +248,8 @@ void accounting_sta_start(struct hostapd_data *hapd, struct sta_info *sta)
"starting accounting session %08X-%08X", "starting accounting session %08X-%08X",
sta->acct_session_id_hi, sta->acct_session_id_lo); sta->acct_session_id_hi, sta->acct_session_id_lo);
time(&sta->acct_session_start); os_get_time(&t);
sta->acct_session_start = t.sec;
sta->last_rx_bytes = sta->last_tx_bytes = 0; sta->last_rx_bytes = sta->last_tx_bytes = 0;
sta->acct_input_gigawords = sta->acct_output_gigawords = 0; sta->acct_input_gigawords = sta->acct_output_gigawords = 0;
hostapd_drv_sta_clear_stats(hapd, sta->addr); hostapd_drv_sta_clear_stats(hapd, sta->addr);

View file

@ -241,6 +241,7 @@ int hostapd_allowed_address(struct hostapd_data *hapd, const u8 *addr,
return HOSTAPD_ACL_REJECT; return HOSTAPD_ACL_REJECT;
#else /* CONFIG_NO_RADIUS */ #else /* CONFIG_NO_RADIUS */
struct hostapd_acl_query_data *query; struct hostapd_acl_query_data *query;
struct os_time t;
/* Check whether ACL cache has an entry for this station */ /* Check whether ACL cache has an entry for this station */
int res = hostapd_acl_cache_get(hapd, addr, session_timeout, int res = hostapd_acl_cache_get(hapd, addr, session_timeout,
@ -271,7 +272,8 @@ int hostapd_allowed_address(struct hostapd_data *hapd, const u8 *addr,
wpa_printf(MSG_ERROR, "malloc for query data failed"); wpa_printf(MSG_ERROR, "malloc for query data failed");
return HOSTAPD_ACL_REJECT; return HOSTAPD_ACL_REJECT;
} }
time(&query->timestamp); os_get_time(&t);
query->timestamp = t.sec;
os_memcpy(query->addr, addr, ETH_ALEN); os_memcpy(query->addr, addr, ETH_ALEN);
if (hostapd_radius_acl_query(hapd, addr, query)) { if (hostapd_radius_acl_query(hapd, addr, query)) {
wpa_printf(MSG_DEBUG, "Failed to send Access-Request " wpa_printf(MSG_DEBUG, "Failed to send Access-Request "
@ -397,6 +399,7 @@ hostapd_acl_recv_radius(struct radius_msg *msg, struct radius_msg *req,
struct hostapd_acl_query_data *query, *prev; struct hostapd_acl_query_data *query, *prev;
struct hostapd_cached_radius_acl *cache; struct hostapd_cached_radius_acl *cache;
struct radius_hdr *hdr = radius_msg_get_hdr(msg); struct radius_hdr *hdr = radius_msg_get_hdr(msg);
struct os_time t;
query = hapd->acl_queries; query = hapd->acl_queries;
prev = NULL; prev = NULL;
@ -431,7 +434,8 @@ hostapd_acl_recv_radius(struct radius_msg *msg, struct radius_msg *req,
wpa_printf(MSG_DEBUG, "Failed to add ACL cache entry"); wpa_printf(MSG_DEBUG, "Failed to add ACL cache entry");
goto done; goto done;
} }
time(&cache->timestamp); os_get_time(&t);
cache->timestamp = t.sec;
os_memcpy(cache->addr, query->addr, sizeof(cache->addr)); os_memcpy(cache->addr, query->addr, sizeof(cache->addr));
if (hdr->code == RADIUS_CODE_ACCESS_ACCEPT) { if (hdr->code == RADIUS_CODE_ACCESS_ACCEPT) {
if (radius_msg_get_attr_int32(msg, RADIUS_ATTR_SESSION_TIMEOUT, if (radius_msg_get_attr_int32(msg, RADIUS_ATTR_SESSION_TIMEOUT,

View file

@ -1923,6 +1923,7 @@ int ieee802_1x_get_mib_sta(struct hostapd_data *hapd, struct sta_info *sta,
{ {
int len = 0, ret; int len = 0, ret;
struct eapol_state_machine *sm = sta->eapol_sm; struct eapol_state_machine *sm = sta->eapol_sm;
struct os_time t;
if (sm == NULL) if (sm == NULL)
return 0; return 0;
@ -2037,6 +2038,7 @@ int ieee802_1x_get_mib_sta(struct hostapd_data *hapd, struct sta_info *sta,
len += ret; len += ret;
/* dot1xAuthSessionStatsTable */ /* dot1xAuthSessionStatsTable */
os_get_time(&t);
ret = os_snprintf(buf + len, buflen - len, ret = os_snprintf(buf + len, buflen - len,
/* TODO: dot1xAuthSessionOctetsRx */ /* TODO: dot1xAuthSessionOctetsRx */
/* TODO: dot1xAuthSessionOctetsTx */ /* TODO: dot1xAuthSessionOctetsTx */
@ -2051,8 +2053,7 @@ int ieee802_1x_get_mib_sta(struct hostapd_data *hapd, struct sta_info *sta,
(wpa_key_mgmt_wpa_ieee8021x( (wpa_key_mgmt_wpa_ieee8021x(
wpa_auth_sta_key_mgmt(sta->wpa_sm))) ? wpa_auth_sta_key_mgmt(sta->wpa_sm))) ?
1 : 2, 1 : 2,
(unsigned int) (time(NULL) - (unsigned int) (t.sec - sta->acct_session_start),
sta->acct_session_start),
sm->identity); sm->identity);
if (ret < 0 || (size_t) ret >= buflen - len) if (ret < 0 || (size_t) ret >= buflen - len)
return len; return len;

View file

@ -62,7 +62,7 @@ static void ieee80211_tkip_countermeasures_start(struct hostapd_data *hapd)
void michael_mic_failure(struct hostapd_data *hapd, const u8 *addr, int local) void michael_mic_failure(struct hostapd_data *hapd, const u8 *addr, int local)
{ {
time_t now; struct os_time now;
if (addr && local) { if (addr && local) {
struct sta_info *sta = ap_get_sta(hapd, addr); struct sta_info *sta = ap_get_sta(hapd, addr);
@ -82,13 +82,13 @@ void michael_mic_failure(struct hostapd_data *hapd, const u8 *addr, int local)
} }
} }
time(&now); os_get_time(&now);
if (now > hapd->michael_mic_failure + 60) { if (now.sec > hapd->michael_mic_failure + 60) {
hapd->michael_mic_failures = 1; hapd->michael_mic_failures = 1;
} else { } else {
hapd->michael_mic_failures++; hapd->michael_mic_failures++;
if (hapd->michael_mic_failures > 1) if (hapd->michael_mic_failures > 1)
ieee80211_tkip_countermeasures_start(hapd); ieee80211_tkip_countermeasures_start(hapd);
} }
hapd->michael_mic_failure = now; hapd->michael_mic_failure = now.sec;
} }