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@xxxxxxxxxxxx> --- 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
From f37daa47f3d2fd1c3d6ee0ea4fe510415d7e67c2 Mon Sep 17 00:00:00 2001 From: Nick Lowe <nick.lowe@xxxxxxxxxxxx> 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@xxxxxxxxxxxx> --- 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
_______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap