Fix bitwise operations. (Turns out that they are NOT Postgresql compatible)
authorpnixon <pnixon>
Tue, 18 Sep 2007 06:08:36 +0000 (06:08 +0000)
committerpnixon <pnixon>
Tue, 18 Sep 2007 06:08:36 +0000 (06:08 +0000)
raddb/sql/oracle/dialup.conf

index b63e574..7c5eef7 100644 (file)
 accounting_update_query = "UPDATE ${acct_table1} \
     SET FramedIPAddress = NULLIF('%{Framed-IP-Address}', ''), \
     AcctSessionTime = '%{Acct-Session-Time}', \
-    AcctInputOctets     = '%{%{Acct-Input-Gigawords}:-0}'  << 32 | \
-                          '%{%{Acct-Input-Octets}:-0}', \
-    AcctOutputOctets    = '%{%{Acct-Output-Gigawords}:-0}' << 32 | \
-                          '%{%{Acct-Output-Octets}:-0}' \
+    AcctInputOctets = '%{Acct-Input-Octets}' + ('%{Acct-Input-Gigawords}' * 4294967296), \
+    AcctOutputOctets = '%{Acct-Output-Octets}' +  ('%{Acct-Output-Gigawords}' * 4294967296) \
     WHERE \
     AcctSessionId = '%{Acct-Session-Id}' AND \
     UserName = '%{SQL-User-Name}' AND \
@@ -120,8 +118,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-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', \
-    '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', \
+    '%{Acct-Input-Octets}' + ('%{Acct-Input-Gigawords}' * 4294967296), \
+    '%{Acct-Output-Octets}' +  ('%{Acct-Output-Gigawords}' * 4294967296), \
     '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Service-Type}', \
     '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{X-Ascend-Session-Svr-Key}')"
 
@@ -130,12 +128,24 @@ accounting_update_query_alt = "INSERT into ${acct_table1} (RadAcctId, AcctSessio
 
        accounting_start_query_alt  = "UPDATE ${acct_table1} SET AcctStartTime = TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), AcctStartDelay = '%{Acct-Delay-Time:-0}', ConnectInfo_start = '%{Connect-Info}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress = '%{NAS-IP-Address}' AND AcctStopTime IS NULL"
 
-       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}', AcctOutputOctets = '%{Acct-Output-Octets}', 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"
+       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), \
+    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
        #accounting_stop_query =3D "UPDATE ${acct_table2} SET AcctStopTime = TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), AcctSessionTime = (substr((sysdate-acctstarttime),instr((sysdate-acctstarttime),' ')+7,2) + substr((sysdate-acctstarttime),instr((sysdate-acctstarttime),' ')+4,2)*60 + substr((sysdate-acctstarttime),instr((sysdate-acctstarttime),' ')+1,2)*3600 + trunc(to_number(substr((sysdate-acctstarttime),1,instr(sysdate-acctstarttime,' '))))*86400), AcctInputOctets = '%{Acct-Input-Octets}', AcctOutputOctets = '%{Acct-Output-Octets}', AcctTerminateCause = '%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time}', ConnectInfo_stop = '%{Connect-Info}' WHERE AcctSessionId =3D '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress = '%{NAS-IP-Address}' AND AcctStopTime IS NULL" 
 
-       accounting_stop_query_alt = "INSERT into ${acct_table2} (RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctStopTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay) 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-Output-Octets}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{Acct-Delay-Time:-0}')"
+accounting_stop_query_alt = "INSERT into ${acct_table2} (RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctStopTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay) \
+    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), \
+    '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', \
+    '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{Acct-Delay-Time:-0}')"
 
        #######################################################################
        # Simultaneous Use Checking Queries