client_query = "SELECT id, nasname, shortname, type, secret, server FROM ${client_table}" sql_user_name = "%{User-Name}" authorize_check_query = "SELECT id, username, attribute, value, op FROM ${authcheck_table} WHERE username = BINARY '%{SQL-User-Name}' ORDER BY id" group_membership_query = "SELECT groupname FROM ${usergroup_table} WHERE username = BINARY '%{SQL-User-Name}' ORDER BY priority" authorize_group_check_query = "SELECT id, groupname, attribute, Value, op FROM ${groupcheck_table} WHERE groupname = '%{Sql-Group}' ORDER BY id" authorize_group_reply_query = "SELECT id, groupname, attribute, value, op FROM ${groupreply_table} WHERE groupname = '%{Sql-Group}' ORDER BY id" accounting { reference = "%{tolower:type.%{Acct-Status-Type}.query}" column_list = "acctsessionid, acctuniqueid, username, nasipaddress, acctstarttime, acctstoptime, acctsessiontime, acctinputoctets, acctoutputoctets, callingstationid, acctterminatecause, framedipaddress" type { accounting-on { query = "UPDATE ${....acct_table1} SET acctstoptime = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime = '%{integer:Event-Timestamp}' - UNIX_TIMESTAMP(acctstarttime), acctterminatecause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WHERE acctstoptime IS NULL AND nasipaddress = '%{NAS-IP-Address}' AND acctstarttime <= FROM_UNIXTIME(%{integer:Event-Timestamp})" } accounting-off { query = "${..accounting-on.query}" } start { query = "INSERT INTO ${....acct_table1} (${...column_list}) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{NAS-IP-Address}', FROM_UNIXTIME(%{integer:Event-Timestamp}), NULL, '0', '0', '0', '%{Calling-Station-Id}', '', '%{Framed-IP-Address}')" query = "UPDATE ${....acct_table1} SET acctstarttime = FROM_UNIXTIME(%{integer:Event-Timestamp}) WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'" } interim-update { query = "UPDATE ${....acct_table1} SET acctsessiontime = %{%{Acct-Session-Time}:-NULL}, acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}' WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'" query = "INSERT INTO ${....acct_table1} (${...column_list}) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{NAS-IP-Address}', FROM_UNIXTIME(%{integer:Event-Timestamp} - %{%{Acct-Session-Time}:-0}), NULL, %{%{Acct-Session-Time}:-NULL}, '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', '%{Calling-Station-Id}', '', '%{Framed-IP-Address}')" } stop { query = "UPDATE ${....acct_table2} SET acctstoptime = FROM_UNIXTIME(%{integer:Event-Timestamp}), acctsessiontime = %{%{Acct-Session-Time}:-NULL}, acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', acctterminatecause = '%{Acct-Terminate-Cause}' WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'" query = "INSERT INTO ${....acct_table2} (${...column_list}) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{NAS-IP-Address}', '%{%{NAS-Port-ID}:-%{NAS-Port}}', '%{NAS-Port-Type}', FROM_UNIXTIME(%{integer:Event-Timestamp} - %{%{Acct-Session-Time}:-0}), FROM_UNIXTIME(%{integer:Event-Timestamp}), FROM_UNIXTIME(%{integer:Event-Timestamp}), %{%{Acct-Session-Time}:-NULL}, '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Framed-IP-Address}')" } } } post-auth { }