From f37daa47f3d2fd1c3d6ee0ea4fe510415d7e67c2 Mon Sep 17 00:00:00 2001
From: Nick Lowe <nick.lowe@lugatech.com>
Date: Sat, 13 Feb 2016 20:29:47 +0000
Subject: [PATCH] Acct-Session-Id and Acct-Multi-Session-Id must be printed as
64-bit values rather than 32-bit values.
Signed-off-by: Nick Lowe <nick.lowe@lugatech.com>
---
src/ap/accounting.c | 12 ++++++------
src/ap/hostapd.c | 8 ++++----
src/ap/ieee802_1x.c | 16 ++++++++--------
src/ap/pmksa_cache_auth.c | 4 ++--
4 files changed, 20 insertions(+), 20 deletions(-)
@@ -218,8 +218,8 @@ void accounting_sta_start(struct hostapd_data *hapd, struct sta_info *sta)
hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_RADIUS,
HOSTAPD_LEVEL_INFO,
- "starting accounting session %016lX",
- (long unsigned int) sta->acct_session_id);
+ "starting accounting session %016llX",
+ (unsigned long long) sta->acct_session_id);
os_get_reltime(&sta->acct_session_start);
sta->last_rx_bytes = sta->last_tx_bytes = 0;
@@ -356,8 +356,8 @@ void accounting_sta_stop(struct hostapd_data *hapd, struct sta_info *sta)
eloop_cancel_timeout(accounting_interim_update, hapd, sta);
hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_RADIUS,
HOSTAPD_LEVEL_INFO,
- "stopped accounting session %016lX",
- (long unsigned int) sta->acct_session_id);
+ "stopped accounting session %016llX",
+ (unsigned long long) sta->acct_session_id);
sta->acct_session_started = 0;
}
}
@@ -416,8 +416,8 @@ static void accounting_report_state(struct hostapd_data *hapd, int on)
if (hapd->acct_session_id) {
char buf[20];
- os_snprintf(buf, sizeof(buf), "%016lX",
- (long unsigned int) hapd->acct_session_id);
+ os_snprintf(buf, sizeof(buf), "%016llX",
+ (unsigned long long) hapd->acct_session_id);
if (!radius_msg_add_attr(msg, RADIUS_ATTR_ACCT_SESSION_ID,
(u8 *) buf, os_strlen(buf)))
wpa_printf(MSG_ERROR, "Could not add Acct-Session-Id");
@@ -683,8 +683,8 @@ static struct sta_info * hostapd_das_find_sta(struct hostapd_data *hapd,
for (sta = hapd->sta_list; sta; sta = sta->next) {
if (!sta->radius_das_match)
continue;
- os_snprintf(buf, sizeof(buf), "%016lX",
- (long unsigned int) sta->acct_session_id);
+ os_snprintf(buf, sizeof(buf), "%016llX",
+ (unsigned long long) sta->acct_session_id);
if (os_memcmp(attr->acct_session_id, buf, 16) != 0)
sta->radius_das_match = 0;
else
@@ -716,8 +716,8 @@ static struct sta_info * hostapd_das_find_sta(struct hostapd_data *hapd,
sta->radius_das_match = 0;
continue;
}
- os_snprintf(buf, sizeof(buf), "%016lX",
- (long unsigned int)
+ os_snprintf(buf, sizeof(buf), "%016llX",
+ (unsigned long long)
sta->eapol_sm->acct_multi_session_id);
if (os_memcmp(attr->acct_multi_session_id, buf, 16) !=
0)
@@ -446,8 +446,8 @@ static int add_common_radius_sta_attr(struct hostapd_data *hapd,
}
if (sta->acct_session_id) {
- os_snprintf(buf, sizeof(buf), "%016lX",
- (long unsigned int) sta->acct_session_id);
+ os_snprintf(buf, sizeof(buf), "%016llX",
+ (unsigned long long) sta->acct_session_id);
if (!radius_msg_add_attr(msg, RADIUS_ATTR_ACCT_SESSION_ID,
(u8 *) buf, os_strlen(buf))) {
wpa_printf(MSG_ERROR, "Could not add Acct-Session-Id");
@@ -458,8 +458,8 @@ 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)
+ os_snprintf(buf, sizeof(buf), "%016llX",
+ (unsigned long long)
sta->eapol_sm->acct_multi_session_id);
if (!radius_msg_add_attr(
msg, RADIUS_ATTR_ACCT_MULTI_SESSION_ID,
@@ -2518,12 +2518,12 @@ int ieee802_1x_get_mib_sta(struct hostapd_data *hapd, struct sta_info *sta,
/* TODO: dot1xAuthSessionOctetsTx */
/* TODO: dot1xAuthSessionFramesRx */
/* TODO: dot1xAuthSessionFramesTx */
- "dot1xAuthSessionId=%016lX\n"
+ "dot1xAuthSessionId=%016llX\n"
"dot1xAuthSessionAuthenticMethod=%d\n"
"dot1xAuthSessionTime=%u\n"
"dot1xAuthSessionTerminateCause=999\n"
"dot1xAuthSessionUserName=%s\n",
- (long unsigned int) sta->acct_session_id,
+ (unsigned long long) sta->acct_session_id,
(wpa_key_mgmt_wpa_ieee8021x(
wpa_auth_sta_key_mgmt(sta->wpa_sm))) ?
1 : 2,
@@ -2535,8 +2535,8 @@ int ieee802_1x_get_mib_sta(struct hostapd_data *hapd, struct sta_info *sta,
if (sm->acct_multi_session_id) {
ret = os_snprintf(buf + len, buflen - len,
- "authMultiSessionId=%016lX\n",
- (long unsigned int)
+ "authMultiSessionId=%016llX\n",
+ (unsigned long long)
sm->acct_multi_session_id);
if (os_snprintf_error(buflen - len, ret))
return len;
@@ -471,8 +471,8 @@ static int das_attr_match(struct rsn_pmksa_cache_entry *entry,
if (attr->acct_multi_session_id_len != 16)
return 0;
- os_snprintf(buf, sizeof(buf), "%016lX",
- (long unsigned int) entry->acct_multi_session_id);
+ os_snprintf(buf, sizeof(buf), "%016llX",
+ (unsigned long long) entry->acct_multi_session_id);
if (os_memcmp(attr->acct_multi_session_id, buf, 16) != 0)
return 0;
match++;
--
2.5.0
Acct-Session-Id and Acct-Multi-Session-Id must be printed as 64-bit values rather than 32-bit values. Signed-off-by: Nick Lowe <nick.lowe@lugatech.com> --- src/ap/accounting.c | 12 ++++++------ src/ap/hostapd.c | 8 ++++---- src/ap/ieee802_1x.c | 16 ++++++++-------- src/ap/pmksa_cache_auth.c | 4 ++-- 4 files changed, 20 insertions(+), 20 deletions(-) match++;