[PATCH] Acct-Session-Id and Acct-Multi-Session-Id must be printed as 64-bit values rather than 32-bit values.
Nick Lowe
nick.lowe at lugatech.com
Sat Feb 13 12:34:14 PST 2016
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 at 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(-)
diff --git a/src/ap/accounting.c b/src/ap/accounting.c
index 2702356..b74b286 100644
--- a/src/ap/accounting.c
+++ b/src/ap/accounting.c
@@ -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");
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
index a848f35..dd2dc17 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -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)
diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c
index 7e99684..c917e29 100644
--- a/src/ap/ieee802_1x.c
+++ b/src/ap/ieee802_1x.c
@@ -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;
diff --git a/src/ap/pmksa_cache_auth.c b/src/ap/pmksa_cache_auth.c
index eb37c78..5096cfa 100644
--- a/src/ap/pmksa_cache_auth.c
+++ b/src/ap/pmksa_cache_auth.c
@@ -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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Acct-Session-Id-and-Acct-Multi-Session-Id-must-be-pr.patch
Type: text/x-patch
Size: 5949 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/hostap/attachments/20160213/63fe6441/attachment.bin>
More information about the Hostap
mailing list