From: Nick Lowe Date: Mon, 25 Jan 2016 16:49:59 +0000 (+0000) Subject: Send an Acct-Multi-Session-Id attribute in Access-Request packets X-Git-Tag: hostap_2_6~940 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=mech_eap.git;a=commitdiff_plain;h=b71a64aa01488f9866fe86f19020a3911b09b436 Send an Acct-Multi-Session-Id attribute in Access-Request packets Previously, this was included only in Accounting-Request packets. Signed-off-by: Nick Lowe --- diff --git a/src/ap/accounting.c b/src/ap/accounting.c index 87ab5f9..dfb593a 100644 --- a/src/ap/accounting.c +++ b/src/ap/accounting.c @@ -52,21 +52,6 @@ static struct radius_msg * accounting_msg(struct hostapd_data *hapd, if (sta) { radius_msg_make_authenticator(msg, (u8 *) sta, sizeof(*sta)); - - if ((hapd->conf->wpa & 2) && - !hapd->conf->disable_pmksa_caching && - sta->eapol_sm && sta->eapol_sm->acct_multi_session_id) { - os_snprintf(buf, sizeof(buf), "%016lX", - (long unsigned int) - sta->eapol_sm->acct_multi_session_id); - if (!radius_msg_add_attr( - msg, RADIUS_ATTR_ACCT_MULTI_SESSION_ID, - (u8 *) buf, os_strlen(buf))) { - wpa_printf(MSG_INFO, - "Could not add Acct-Multi-Session-Id"); - goto fail; - } - } } else { radius_msg_make_authenticator(msg, (u8 *) hapd, sizeof(*hapd)); } diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c index 0c25f49..037a8f9 100644 --- a/src/ap/ieee802_1x.c +++ b/src/ap/ieee802_1x.c @@ -448,6 +448,21 @@ static int add_common_radius_sta_attr(struct hostapd_data *hapd, } } + if ((hapd->conf->wpa & 2) && + !hapd->conf->disable_pmksa_caching && + sta->eapol_sm && sta->eapol_sm->acct_multi_session_id) { + os_snprintf(buf, sizeof(buf), "%016lX", + (long unsigned int) + sta->eapol_sm->acct_multi_session_id); + if (!radius_msg_add_attr( + msg, RADIUS_ATTR_ACCT_MULTI_SESSION_ID, + (u8 *) buf, os_strlen(buf))) { + wpa_printf(MSG_INFO, + "Could not add Acct-Multi-Session-Id"); + return -1; + } + } + #ifdef CONFIG_IEEE80211R if (hapd->conf->wpa && wpa_key_mgmt_ft(hapd->conf->wpa_key_mgmt) && sta->wpa_sm &&