AcctStartTime = '%S', \
AcctStartDelay = '%{%{Acct-Delay-Time}:-0}', \
ConnectInfo_start = '%{Connect-Info}' \
- WHERE AcctSessionId = '%{Acct-Session-Id}' \
- AND UserName = '%{SQL-User-Name}' \
- AND NASIPAddress = '%{NAS-IP-Address}' \
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
AND AcctStopTime = 0"
}
UPDATE ${....acct_table1} \
SET \
FramedIPAddress = '%{Framed-IP-Address}' \
- WHERE AcctSessionId = '%{Acct-Session-Id}' \
- AND UserName = '%{SQL-User-Name}' \
- AND NASIPAddress= '%{NAS-IP-Address}' \
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
AND AcctStopTime = 0"
query = "\
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}' \
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
AND AcctStopTime = 0"
query = "\
accounting {
reference = "%{tolower:type.%{Acct-Status-Type}.query}"
- #
- # The session identifier used by all subsequent queries.
- #
- session_identifier="(acctuniqueid = '%{Acct-Unique-Session-Id}')"
-
# Write SQL queries to a logfile. This is potentially useful for bulk inserts
# when used with the rlm_sql_null driver.
# logfile = ${logdir}/accounting.sql
acctstarttime = FROM_UNIXTIME(%{integer:Event-Timestamp}), \
acctupdatetime = FROM_UNIXTIME(%{integer:Event-Timestamp}), \
connectinfo_start = '%{Connect-Info}' \
- WHERE ${...session_identifier} \
- AND username = '%{SQL-User-Name}' \
- AND nasipaddress = '%{NAS-IP-Address}'"
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
}
interim-update {
<< 32 | '%{%{Acct-Input-Octets}:-0}', \
acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' \
<< 32 | '%{%{Acct-Output-Octets}:-0}' \
- WHERE ${...session_identifier} \
- AND username = '%{SQL-User-Name}' \
- AND nasipaddress = '%{NAS-IP-Address}'"
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
#
# The update condition matched no existing sessions. Use
<< 32 | '%{%{Acct-Output-Octets}:-0}', \
acctterminatecause = '%{Acct-Terminate-Cause}', \
connectinfo_stop = '%{Connect-Info}' \
- WHERE ${...session_identifier} \
- AND username = '%{SQL-User-Name}' \
- AND nasipaddress = '%{NAS-IP-Address}'"
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
#
# The update condition matched no existing sessions. Use
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}' \
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
AND AcctStopTime IS NULL"
}
('%{%{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 NASIPAddress= '%{NAS-IP-Address}' \
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
AND AcctStopTime IS NULL"
query = "\
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}' \
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-ID}' \
AND AcctStopTime IS NULL"
query = "\
accounting {
reference = "%{tolower:type.%{%{Acct-Status-Type}:-none}.query}"
- session_identifier="(AcctUniqueId = '%{Acct-Unique-Session-Id}')"
-
-# Old method of identifying a session, should only be used for backwards
-# compatibility (and even then it's probably ok to use AcctUniqueId).
-# session_identifier="\
-# (AcctSessionId = '%{Acct-Session-Id}' \
-# AND UserName = '%{SQL-User-Name}' \
-# AND NASIPAddress = '%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}}')"
-
# Write SQL queries to a logfile. This is potentially useful for bulk inserts
# when used with the rlm_sql_null driver.
# logfile = ${logdir}/accounting.sql
AcctStartTime = TO_TIMESTAMP(%{integer:Event-Timestamp}), \
AcctUpdateTime = TO_TIMESTAMP(%{integer:Event-Timestamp}), \
ConnectInfo_start = '%{Connect-Info}' \
- WHERE ${...session_identifier} \
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}' \
AND AcctStopTime IS NULL"
# and again where we don't have "AND AcctStopTime IS NULL"
AcctStartTime = TO_TIMESTAMP(%{integer:Event-Timestamp}), \
AcctUpdateTime = TO_TIMESTAMP(%{integer:Event-Timestamp}), \
ConnectInfo_start = '%{Connect-Info}' \
- WHERE ${...session_identifier}"
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
}
interim-update {
'%{%{Acct-Input-Octets}:-0}'::bigint), \
AcctOutputOctets = (('%{%{Acct-Output-Gigawords}:-0}'::bigint << 32) + \
'%{%{Acct-Output-Octets}:-0}'::bigint) \
- WHERE ${...session_identifier} \
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}' \
AND AcctStopTime IS NULL"
query = "\
AcctTerminateCause = '%{Acct-Terminate-Cause}', \
FramedIPAddress = NULLIF('%{Framed-IP-Address}', '')::inet, \
ConnectInfo_stop = '%{Connect-Info}' \
- WHERE ${...session_identifier} \
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}' \
AND AcctStopTime IS NULL"
query = "\
AcctTerminateCause = '%{Acct-Terminate-Cause}', \
FramedIPAddress = NULLIF('%{Framed-IP-Address}', '')::inet, \
ConnectInfo_stop = '%{Connect-Info}' \
- WHERE ${...session_identifier}"
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
}
#
acctstarttime = %{%{integer:Event-Timestamp}:-date('now')}, \
acctupdatetime = %{%{integer:Event-Timestamp}:-date('now'))}, \
connectinfo_start = '%{Connect-Info}' \
- WHERE acctsessionid = '%{Acct-Session-Id}' \
- AND username = '%{SQL-User-Name}' \
- AND nasipaddress = '%{NAS-IP-Address}'"
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
}
interim-update {
<< 32 | %{%{Acct-Input-Octets}:-0}, \
acctoutputoctets = %{%{Acct-Output-Gigawords}:-0} \
<< 32 | %{%{Acct-Output-Octets}:-0} \
- WHERE acctsessionid = '%{Acct-Session-Id}' \
- AND username = '%{SQL-User-Name}' \
- AND nasipaddress = '%{NAS-IP-Address}'"
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
#
# The update condition matched no existing sessions. Use
<< 32 | %{%{Acct-Output-Octets}:-0}, \
acctterminatecause = '%{Acct-Terminate-Cause}', \
connectinfo_stop = '%{Connect-Info}' \
- WHERE acctsessionid = '%{Acct-Session-Id}' \
- AND username = '%{SQL-User-Name}' \
- AND nasipaddress = '%{NAS-IP-Address}'"
+ WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'"
#
# The update condition matched no existing sessions. Use