From e6bd231242cb43ad7e8fca8635d6adcb17f38186 Mon Sep 17 00:00:00 2001 From: Ermal Date: Fri, 15 Jul 2011 08:01:52 +0000 Subject: Fixes #1618. Always convert the NAS_PORT value to int in php and pass the attribute type during encoding to guarantee that it is encoded as an integer. --- usr/local/captiveportal/radius_accounting.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'usr/local/captiveportal') diff --git a/usr/local/captiveportal/radius_accounting.inc b/usr/local/captiveportal/radius_accounting.inc index 2e18979..704c229 100644 --- a/usr/local/captiveportal/radius_accounting.inc +++ b/usr/local/captiveportal/radius_accounting.inc @@ -56,7 +56,7 @@ function RADIUS_ACCOUNTING_START($ruleno, $username, $sessionid, $radiusservers, $retvalue = array(); $nas_mac = mac_format(get_interface_mac("wan")); $clientmac = mac_format($clientmac); - $nas_port = $ruleno; + $nas_port = intval($ruleno); $radiusvendor = $config['captiveportal']['radiusvendor'] ? $config['captiveportal']['radiusvendor'] : null; switch($radiusvendor) { @@ -171,7 +171,7 @@ function RADIUS_ACCOUNTING_STOP($ruleno,$username,$sessionid,$start_time,$radius $retvalue = array(); $nas_mac = mac_format(get_interface_mac("wan")); $clientmac = mac_format($clientmac); - $nas_port = $ruleno; + $nas_port = intval($ruleno); $radiusvendor = $config['captiveportal']['radiusvendor'] ? $config['captiveportal']['radiusvendor'] : null; $stop_time = (empty($stop_time)) ? time() : $stop_time; $session_time = $stop_time - $start_time; @@ -233,7 +233,7 @@ function RADIUS_ACCOUNTING_STOP($ruleno,$username,$sessionid,$start_time,$radius // Default attributes $racct->putAttribute(RADIUS_SERVICE_TYPE, RADIUS_LOGIN); $racct->putAttribute(RADIUS_NAS_PORT_TYPE, RADIUS_ETHERNET); - $racct->putAttribute(RADIUS_NAS_PORT, $nas_port); + $racct->putAttribute(RADIUS_NAS_PORT, $nas_port, 'integer'); $racct->putAttribute(RADIUS_ACCT_SESSION_ID, $sessionid); // Extra data to identify the client and nas -- cgit v1.1