AP: Add debug information for ap_handle_timer operations
This makes it easier to figure out what exactly was done with the ap_handle_timer registration/cancellation based on a debug log. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
c72bd6d49b
commit
42ca9845be
1 changed files with 33 additions and 0 deletions
|
@ -195,6 +195,8 @@ void ap_free_sta(struct hostapd_data *hapd, struct sta_info *sta)
|
||||||
if (set_beacon)
|
if (set_beacon)
|
||||||
ieee802_11_set_beacons(hapd->iface);
|
ieee802_11_set_beacons(hapd->iface);
|
||||||
|
|
||||||
|
wpa_printf(MSG_DEBUG, "%s: cancel ap_handle_timer for " MACSTR,
|
||||||
|
__func__, MAC2STR(sta->addr));
|
||||||
eloop_cancel_timeout(ap_handle_timer, hapd, sta);
|
eloop_cancel_timeout(ap_handle_timer, hapd, sta);
|
||||||
eloop_cancel_timeout(ap_handle_session_timer, hapd, sta);
|
eloop_cancel_timeout(ap_handle_session_timer, hapd, sta);
|
||||||
eloop_cancel_timeout(ap_sta_deauth_cb_timeout, hapd, sta);
|
eloop_cancel_timeout(ap_sta_deauth_cb_timeout, hapd, sta);
|
||||||
|
@ -272,6 +274,9 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
|
||||||
struct sta_info *sta = timeout_ctx;
|
struct sta_info *sta = timeout_ctx;
|
||||||
unsigned long next_time = 0;
|
unsigned long next_time = 0;
|
||||||
|
|
||||||
|
wpa_printf(MSG_DEBUG, "%s: " MACSTR " flags=0x%x timeout_next=%d",
|
||||||
|
__func__, MAC2STR(sta->addr), sta->flags,
|
||||||
|
sta->timeout_next);
|
||||||
if (sta->timeout_next == STA_REMOVE) {
|
if (sta->timeout_next == STA_REMOVE) {
|
||||||
hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
|
hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
|
||||||
HOSTAPD_LEVEL_INFO, "deauthenticated due to "
|
HOSTAPD_LEVEL_INFO, "deauthenticated due to "
|
||||||
|
@ -336,6 +341,9 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (next_time) {
|
if (next_time) {
|
||||||
|
wpa_printf(MSG_DEBUG, "%s: register ap_handle_timer timeout "
|
||||||
|
"for " MACSTR " (%lu seconds)",
|
||||||
|
__func__, MAC2STR(sta->addr), next_time);
|
||||||
eloop_register_timeout(next_time, 0, ap_handle_timer, hapd,
|
eloop_register_timeout(next_time, 0, ap_handle_timer, hapd,
|
||||||
sta);
|
sta);
|
||||||
return;
|
return;
|
||||||
|
@ -369,6 +377,9 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
|
||||||
switch (sta->timeout_next) {
|
switch (sta->timeout_next) {
|
||||||
case STA_NULLFUNC:
|
case STA_NULLFUNC:
|
||||||
sta->timeout_next = STA_DISASSOC;
|
sta->timeout_next = STA_DISASSOC;
|
||||||
|
wpa_printf(MSG_DEBUG, "%s: register ap_handle_timer timeout "
|
||||||
|
"for " MACSTR " (%d seconds - AP_DISASSOC_DELAY)",
|
||||||
|
__func__, MAC2STR(sta->addr), AP_DISASSOC_DELAY);
|
||||||
eloop_register_timeout(AP_DISASSOC_DELAY, 0, ap_handle_timer,
|
eloop_register_timeout(AP_DISASSOC_DELAY, 0, ap_handle_timer,
|
||||||
hapd, sta);
|
hapd, sta);
|
||||||
break;
|
break;
|
||||||
|
@ -385,6 +396,9 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
|
||||||
HOSTAPD_LEVEL_INFO, "disassociated due to "
|
HOSTAPD_LEVEL_INFO, "disassociated due to "
|
||||||
"inactivity");
|
"inactivity");
|
||||||
sta->timeout_next = STA_DEAUTH;
|
sta->timeout_next = STA_DEAUTH;
|
||||||
|
wpa_printf(MSG_DEBUG, "%s: register ap_handle_timer timeout "
|
||||||
|
"for " MACSTR " (%d seconds - AP_DEAUTH_DELAY)",
|
||||||
|
__func__, MAC2STR(sta->addr), AP_DEAUTH_DELAY);
|
||||||
eloop_register_timeout(AP_DEAUTH_DELAY, 0, ap_handle_timer,
|
eloop_register_timeout(AP_DEAUTH_DELAY, 0, ap_handle_timer,
|
||||||
hapd, sta);
|
hapd, sta);
|
||||||
mlme_disassociate_indication(
|
mlme_disassociate_indication(
|
||||||
|
@ -477,6 +491,10 @@ struct sta_info * ap_sta_add(struct hostapd_data *hapd, const u8 *addr)
|
||||||
sta->acct_interim_interval = hapd->conf->acct_interim_interval;
|
sta->acct_interim_interval = hapd->conf->acct_interim_interval;
|
||||||
|
|
||||||
/* initialize STA info data */
|
/* initialize STA info data */
|
||||||
|
wpa_printf(MSG_DEBUG, "%s: register ap_handle_timer timeout "
|
||||||
|
"for " MACSTR " (%d seconds - ap_max_inactivity)",
|
||||||
|
__func__, MAC2STR(addr),
|
||||||
|
hapd->conf->ap_max_inactivity);
|
||||||
eloop_register_timeout(hapd->conf->ap_max_inactivity, 0,
|
eloop_register_timeout(hapd->conf->ap_max_inactivity, 0,
|
||||||
ap_handle_timer, hapd, sta);
|
ap_handle_timer, hapd, sta);
|
||||||
os_memcpy(sta->addr, addr, ETH_ALEN);
|
os_memcpy(sta->addr, addr, ETH_ALEN);
|
||||||
|
@ -550,6 +568,11 @@ void ap_sta_disassociate(struct hostapd_data *hapd, struct sta_info *sta,
|
||||||
sta->flags &= ~WLAN_STA_ASSOC;
|
sta->flags &= ~WLAN_STA_ASSOC;
|
||||||
ap_sta_set_authorized(hapd, sta, 0);
|
ap_sta_set_authorized(hapd, sta, 0);
|
||||||
sta->timeout_next = STA_DEAUTH;
|
sta->timeout_next = STA_DEAUTH;
|
||||||
|
wpa_printf(MSG_DEBUG, "%s: reschedule ap_handle_timer timeout "
|
||||||
|
"for " MACSTR " (%d seconds - "
|
||||||
|
"AP_MAX_INACTIVITY_AFTER_DISASSOC)",
|
||||||
|
__func__, MAC2STR(sta->addr),
|
||||||
|
AP_MAX_INACTIVITY_AFTER_DISASSOC);
|
||||||
eloop_cancel_timeout(ap_handle_timer, hapd, sta);
|
eloop_cancel_timeout(ap_handle_timer, hapd, sta);
|
||||||
eloop_register_timeout(AP_MAX_INACTIVITY_AFTER_DISASSOC, 0,
|
eloop_register_timeout(AP_MAX_INACTIVITY_AFTER_DISASSOC, 0,
|
||||||
ap_handle_timer, hapd, sta);
|
ap_handle_timer, hapd, sta);
|
||||||
|
@ -583,6 +606,11 @@ void ap_sta_deauthenticate(struct hostapd_data *hapd, struct sta_info *sta,
|
||||||
sta->flags &= ~(WLAN_STA_AUTH | WLAN_STA_ASSOC);
|
sta->flags &= ~(WLAN_STA_AUTH | WLAN_STA_ASSOC);
|
||||||
ap_sta_set_authorized(hapd, sta, 0);
|
ap_sta_set_authorized(hapd, sta, 0);
|
||||||
sta->timeout_next = STA_REMOVE;
|
sta->timeout_next = STA_REMOVE;
|
||||||
|
wpa_printf(MSG_DEBUG, "%s: reschedule ap_handle_timer timeout "
|
||||||
|
"for " MACSTR " (%d seconds - "
|
||||||
|
"AP_MAX_INACTIVITY_AFTER_DEAUTH)",
|
||||||
|
__func__, MAC2STR(sta->addr),
|
||||||
|
AP_MAX_INACTIVITY_AFTER_DEAUTH);
|
||||||
eloop_cancel_timeout(ap_handle_timer, hapd, sta);
|
eloop_cancel_timeout(ap_handle_timer, hapd, sta);
|
||||||
eloop_register_timeout(AP_MAX_INACTIVITY_AFTER_DEAUTH, 0,
|
eloop_register_timeout(AP_MAX_INACTIVITY_AFTER_DEAUTH, 0,
|
||||||
ap_handle_timer, hapd, sta);
|
ap_handle_timer, hapd, sta);
|
||||||
|
@ -887,6 +915,11 @@ void ap_sta_disconnect(struct hostapd_data *hapd, struct sta_info *sta,
|
||||||
wpa_auth_sm_event(sta->wpa_sm, WPA_DEAUTH);
|
wpa_auth_sm_event(sta->wpa_sm, WPA_DEAUTH);
|
||||||
ieee802_1x_notify_port_enabled(sta->eapol_sm, 0);
|
ieee802_1x_notify_port_enabled(sta->eapol_sm, 0);
|
||||||
sta->flags &= ~(WLAN_STA_AUTH | WLAN_STA_ASSOC);
|
sta->flags &= ~(WLAN_STA_AUTH | WLAN_STA_ASSOC);
|
||||||
|
wpa_printf(MSG_DEBUG, "%s: reschedule ap_handle_timer timeout "
|
||||||
|
"for " MACSTR " (%d seconds - "
|
||||||
|
"AP_MAX_INACTIVITY_AFTER_DEAUTH)",
|
||||||
|
__func__, MAC2STR(sta->addr),
|
||||||
|
AP_MAX_INACTIVITY_AFTER_DEAUTH);
|
||||||
eloop_cancel_timeout(ap_handle_timer, hapd, sta);
|
eloop_cancel_timeout(ap_handle_timer, hapd, sta);
|
||||||
eloop_register_timeout(AP_MAX_INACTIVITY_AFTER_DEAUTH, 0,
|
eloop_register_timeout(AP_MAX_INACTIVITY_AFTER_DEAUTH, 0,
|
||||||
ap_handle_timer, hapd, sta);
|
ap_handle_timer, hapd, sta);
|
||||||
|
|
Loading…
Add table
Reference in a new issue