From 0596502a1d16aced3c2968b8c0ff223fbaebeef2 Mon Sep 17 00:00:00 2001 From: jdegraeve Date: Tue, 7 Feb 2006 16:03:23 +0000 Subject: [PATCH] Merge code from the current radius_accounting.inc into the radius_accounting_nas_ip.inc to reflect changes made to it for current release git-svn-id: https://svn.m0n0.ch/wall/trunk@54 e36fee2c-cc09-0410-a7cc-ebac5c6737de --- captiveportal/radius_accounting_nas_ip.inc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/captiveportal/radius_accounting_nas_ip.inc b/captiveportal/radius_accounting_nas_ip.inc index 720879a..d928524 100644 --- a/captiveportal/radius_accounting_nas_ip.inc +++ b/captiveportal/radius_accounting_nas_ip.inc @@ -170,10 +170,11 @@ function RADIUS_ACCOUNTING_START($ruleno,$username,$sessionid,$radiusip,$radiusp // See RFC2866 for this. } -function RADIUS_ACCOUNTING_STOP($ruleno,$username,$sessionid,$start_time,$radiusip,$radiusport,$radiuskey,$clientip,$clientmac,$interimupdate=false, $radius_term_cause = 1) { +function RADIUS_ACCOUNTING_STOP($ruleno,$username,$sessionid,$start_time,$radiusip,$radiusport,$radiuskey,$clientip,$clientmac, $term_cause = 1, $interimupdate=false,$stop_time = null) { # $debug = 1 ; global $config; + $stop_time = (empty($stop_time)) ? time() : $stop_time; exec("/bin/hostname", $nasHostname) ; if(!$nasHostname[0]) $nasHostname[0] = "quewall" ; @@ -204,6 +205,7 @@ function RADIUS_ACCOUNTING_STOP($ruleno,$username,$sessionid,$start_time,$radius $nas_port = $ruleno - 10000; $nas_mac = get_interface_mac($config['interfaces']['wan']['if']); $ip_exp=explode(".",$clientip); + $session_time = $stop_time - $start_time; $radiusvendor = $config['captiveportal']['radiusvendor'] ? $config['captiveportal']['radiusvendor'] : null; switch($radiusvendor) { @@ -268,8 +270,8 @@ function RADIUS_ACCOUNTING_STOP($ruleno,$username,$sessionid,$start_time,$radius 40,6,0,0,0,$acctstatustype, // Acct Status Type 45,6,0,0,0,1, // Acct RADIUS Authenticated 44,2+strlen($sessionid),$sessionid, // Acct Session ID - 49,6,$radius_term_cause, // Acct Terminate = User Request - 46,6,time() - $start_time, // Session Time + 49,6,$term_cause, // Acct Terminate + 46,6,$session_time, // Session Time 42,6,$input_bytes, // Input Octets 47,6,$input_pkts, // Input Packets 52,6,$input_gigawords, // Input Gigawords @@ -298,8 +300,8 @@ function RADIUS_ACCOUNTING_STOP($ruleno,$username,$sessionid,$start_time,$radius 40,6,0,0,0,$acctstatustype, // Acct Status Type 45,6,0,0,0,1, // Acct RADIUS Authenticated 44,2+strlen($sessionid),$sessionid, // Acct Session ID - 49,6,$radius_term_cause, // Acct Terminate = User Request - 46,6,time() - $start_time, // Session Time + 49,6,$term_cause, // Acct Terminate = User Request + 46,6,$session_time, // Session Time 42,6,$input_bytes, // Input Octets 47,6,$input_pkts, // Input Packets 52,6,$input_gigawords, // Input Gigawords -- 2.25.1