diff --git a/hostapd/config.c b/hostapd/config.c index e0061cadb..c8c22bb75 100644 --- a/hostapd/config.c +++ b/hostapd/config.c @@ -1757,7 +1757,7 @@ struct hostapd_config * hostapd_config_read(const char *fname) bss->radius->retry_primary_interval = atoi(pos); } else if (os_strcmp(buf, "radius_acct_interim_interval") == 0) { - bss->radius->acct_interim_interval = atoi(pos); + bss->acct_interim_interval = atoi(pos); #endif /* CONFIG_NO_RADIUS */ } else if (os_strcmp(buf, "auth_algs") == 0) { bss->auth_algs = atoi(pos); diff --git a/hostapd/config.h b/hostapd/config.h index 2c6e5fe8b..29b73846a 100644 --- a/hostapd/config.h +++ b/hostapd/config.h @@ -167,6 +167,7 @@ struct hostapd_bss_config { struct hostapd_ip_addr own_ip_addr; char *nas_identifier; struct hostapd_radius_servers *radius; + int acct_interim_interval; struct hostapd_ssid ssid; diff --git a/hostapd/ieee802_11.c b/hostapd/ieee802_11.c index 276fd94a7..75bf62c71 100644 --- a/hostapd/ieee802_11.c +++ b/hostapd/ieee802_11.c @@ -601,8 +601,7 @@ static void handle_auth(struct hostapd_data *hapd, struct ieee80211_mgmt *mgmt, sta->flags &= ~WLAN_STA_PREAUTH; ieee802_1x_notify_pre_auth(sta->eapol_sm, 0); - if (hapd->conf->radius->acct_interim_interval == 0 && - acct_interim_interval) + if (hapd->conf->acct_interim_interval == 0 && acct_interim_interval) sta->acct_interim_interval = acct_interim_interval; if (res == HOSTAPD_ACL_ACCEPT_TIMEOUT) ap_sta_session_timeout(hapd, sta, session_timeout); diff --git a/hostapd/ieee802_1x.c b/hostapd/ieee802_1x.c index 056b6fbb5..a6313fd6e 100644 --- a/hostapd/ieee802_1x.c +++ b/hostapd/ieee802_1x.c @@ -1256,7 +1256,7 @@ ieee802_1x_receive_auth(struct radius_msg *msg, struct radius_msg *req, &termination_action)) termination_action = RADIUS_TERMINATION_ACTION_DEFAULT; - if (hapd->conf->radius->acct_interim_interval == 0 && + if (hapd->conf->acct_interim_interval == 0 && msg->hdr->code == RADIUS_CODE_ACCESS_ACCEPT && radius_msg_get_attr_int32(msg, RADIUS_ATTR_ACCT_INTERIM_INTERVAL, &acct_interim_interval) == 0) { diff --git a/hostapd/sta_info.c b/hostapd/sta_info.c index 70bf716cf..fe319c56b 100644 --- a/hostapd/sta_info.c +++ b/hostapd/sta_info.c @@ -435,7 +435,7 @@ struct sta_info * ap_sta_add(struct hostapd_data *hapd, const u8 *addr) wpa_printf(MSG_ERROR, "malloc failed"); return NULL; } - sta->acct_interim_interval = hapd->conf->radius->acct_interim_interval; + sta->acct_interim_interval = hapd->conf->acct_interim_interval; /* initialize STA info data */ eloop_register_timeout(hapd->conf->ap_max_inactivity, 0, diff --git a/src/radius/radius_client.h b/src/radius/radius_client.h index 096939bc2..eb81234c6 100644 --- a/src/radius/radius_client.h +++ b/src/radius/radius_client.h @@ -166,13 +166,6 @@ struct hostapd_radius_servers { */ int retry_primary_interval; - /** - * acct_interim_interval - Interim accounting update interval - * - * This parameter is not used inside RADIUS client code. - */ - int acct_interim_interval; - /** * msg_dumps - Whether RADIUS message details are shown in stdout */