From: Alan T. DeKok Date: Fri, 7 May 2010 07:18:21 +0000 (+0200) Subject: Change %{Acct-}*x -> %{%{Acct-}:-0}*x X-Git-Url: http://www.project-moonshot.org/gitweb/?p=freeradius.git;a=commitdiff_plain;h=10a9411f1116c7fdb47c69b155aa631467210983 Change %{Acct-}*x -> %{%{Acct-}:-0}*x This allows the calculation to proceed correctly when the attribute doesn't exist. This change was made for other databases, and seems to have been missed for Oracle --- diff --git a/raddb/sql/oracle/dialup.conf b/raddb/sql/oracle/dialup.conf index e0ff5b2..31a45bf 100644 --- a/raddb/sql/oracle/dialup.conf +++ b/raddb/sql/oracle/dialup.conf @@ -101,8 +101,8 @@ accounting_update_query = "UPDATE ${acct_table1} \ SET FramedIPAddress = NULLIF('%{Framed-IP-Address}', ''), \ AcctSessionTime = '%{Acct-Session-Time}', \ - AcctInputOctets = '%{Acct-Input-Octets}' + ('%{Acct-Input-Gigawords}' * 4294967296), \ - AcctOutputOctets = '%{Acct-Output-Octets}' + ('%{Acct-Output-Gigawords}' * 4294967296) \ + AcctInputOctets = '%{Acct-Input-Octets}' + ('%{%{Acct-Input-Gigawords}:-0}' * 4294967296), \ + AcctOutputOctets = '%{Acct-Output-Octets}' + ('%{%{Acct-Output-Gigawords}:-0}' * 4294967296) \ WHERE \ AcctSessionId = '%{Acct-Session-Id}' AND \ UserName = '%{SQL-User-Name}' AND \ @@ -113,8 +113,8 @@ accounting_update_query_alt = "INSERT into ${acct_table1} (RadAcctId, AcctSessio VALUES('', '%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', \ '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port-Id}', \ '%{NAS-Port-Type}', NULL, '%{Acct-Session-Time}', '%{Acct-Authentic}', '', \ - '%{Acct-Input-Octets}' + ('%{Acct-Input-Gigawords}' * 4294967296), \ - '%{Acct-Output-Octets}' + ('%{Acct-Output-Gigawords}' * 4294967296), \ + '%{Acct-Input-Octets}' + ('%{%{Acct-Input-Gigawords}:-0}' * 4294967296), \ + '%{Acct-Output-Octets}' + ('%{%{Acct-Output-Gigawords}:-0}' * 4294967296), \ '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Service-Type}', \ '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{X-Ascend-Session-Svr-Key}')" @@ -126,8 +126,8 @@ accounting_update_query_alt = "INSERT into ${acct_table1} (RadAcctId, AcctSessio accounting_stop_query = "UPDATE ${acct_table2} \ SET AcctStopTime = TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), \ AcctSessionTime = '%{Acct-Session-Time}', \ - AcctInputOctets = '%{Acct-Input-Octets}' + ('%{Acct-Input-Gigawords}' * 4294967296), \ - AcctOutputOctets = '%{Acct-Output-Octets}' + ('%{Acct-Output-Gigawords}' * 4294967296), \ + AcctInputOctets = '%{Acct-Input-Octets}' + ('%{%{Acct-Input-Gigawords}:-0}' * 4294967296), \ + AcctOutputOctets = '%{Acct-Output-Octets}' + ('%{%{Acct-Output-Gigawords}:-0}' * 4294967296), \ AcctTerminateCause = '%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time:-0}', ConnectInfo_stop = '%{Connect-Info}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress = '%{NAS-IP-Address}' AND AcctStopTime IS NULL" # Optional Query - pnixon @@ -137,8 +137,8 @@ accounting_stop_query_alt = "INSERT into ${acct_table2} (RadAcctId, AcctSessionI VALUES('', '%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', \ '%{NAS-IP-Address}', '%{NAS-Port-Id}', '%{NAS-Port-Type}', NULL, TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), \ '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{Connect-Info}', \ - '%{Acct-Input-Octets}' + ('%{Acct-Input-Gigawords}' * 4294967296), \ - '%{Acct-Output-Octets}' + ('%{Acct-Output-Gigawords}' * 4294967296), \ + '%{Acct-Input-Octets}' + ('%{%{Acct-Input-Gigawords}:-0}' * 4294967296), \ + '%{Acct-Output-Octets}' + ('%{%{Acct-Output-Gigawords}:-0}' * 4294967296), \ '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', \ '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{Acct-Delay-Time:-0}')"