[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