here�are�attached�files.

>�At�10:38�AM�9/10/2003,[EMAIL PROTECTED]:
>>sorry�i�made�a�mistake,�i�am�using�the�latest�snapshot�for�freeradius.
>>�but
>>still�i�got�errors�on�accounting.�it�doesnt�insert�any�on�the�db�when�i
>>try�to�use�accounting�start.
>�
>�What�does�the�debug�output�say?��(�running�the�server�'radiusd�-x�-x'�)
>�
>�-Chris
>�--
>  ���\\\|||///��\       ���StarNet�Inc.   ���\      ���Chris�Parker
>  ���\�~���~�/���\    ���WX�*is*�Wireless! ���\���Director,�Engineering
>  ���|[EMAIL PROTECTED]@�| ���\���http://www.starnetwx.net�\   ���(847)�963-0116
>�oOo---(_)---oOo--\------------------------------------------------------
>                 ���\�Wholesale�Internet�Services�-�http://www.megapop.net
>�
>�
>�
>�-
>�List�info/subscribe/unsubscribe?�See
>�http://www.freeradius.org/list/users.html
>�

<br><br>
<table border="0" width="100%" height="9">
  <tr>
    <td width="100%" height="9">
    <font face="Arial" 
color="#006600">-----------------------------------------------------<br>
    <i>Bringing First World Technology Closer to You.</i><br>
    <b>http://www.1asialink.com</b></font></td>
  </tr>
</table>
Starting - reading configuration files ...
reread_config:  reading radiusd.conf
Config:   including file: /usr/local/etc/raddb/proxy.conf
Config:   including file: /usr/local/etc/raddb/clients.conf
Config:   including file: /usr/local/etc/raddb/snmp.conf
Config:   including file: /usr/local/etc/raddb/sql.conf
 main: prefix = "/usr/local"
 main: localstatedir = "/usr/local/var"
 main: logdir = "/usr/local/var/log/radius"
 main: libdir = "/usr/local/lib"
 main: radacctdir = "/usr/local/var/log/radius/radacct"
 main: hostname_lookups = no
 main: max_request_time = 30
 main: cleanup_delay = 5
 main: max_requests = 1024
 main: delete_blocked_requests = 0
 main: port = 0
 main: allow_core_dumps = no
 main: log_stripped_names = no
 main: log_file = "/usr/local/var/log/radius/radius.log"
 main: log_auth = no
 main: log_auth_badpass = no
 main: log_auth_goodpass = no
 main: pidfile = "/usr/local/var/run/radiusd/radiusd.pid"
 main: user = "radius"
 main: group = "radius"
 main: usercollide = no
 main: lower_user = "no"
 main: lower_pass = "no"
 main: nospace_user = "no"
 main: nospace_pass = "no"
 main: checkrad = "/usr/local/sbin/checkrad"
 main: proxy_requests = yes
 proxy: retry_delay = 5
 proxy: retry_count = 3
 proxy: synchronous = no
 proxy: default_fallback = yes
 proxy: dead_time = 120
 proxy: post_proxy_authorize = yes
 proxy: wake_all_if_all_dead = no
 security: max_attributes = 200
 security: reject_delay = 1
 security: status_server = no
 main: debug_level = 0
read_config_files:  reading dictionary
read_config_files:  reading naslist
Using deprecated naslist file.  Support for this will go away soon.
read_config_files:  reading clients
Using deprecated clients file.  Support for this will go away soon.
read_config_files:  reading realms
Using deprecated realms file.  Support for this will go away soon.
radiusd:  entering modules setup
Module: Library search path is /usr/local/lib
Module: Loaded expr 
Module: Instantiated expr (expr) 
Module: Loaded PAP 
 pap: encryption_scheme = "crypt"
Module: Instantiated pap (pap) 
Module: Loaded CHAP 
Module: Instantiated chap (chap) 
Module: Loaded MS-CHAP 
 mschap: use_mppe = yes
 mschap: require_encryption = no
 mschap: require_strong = no
 mschap: passwd = "(null)"
 mschap: authtype = "MS-CHAP"
Module: Instantiated mschap (mschap) 
Module: Loaded preprocess 
 preprocess: huntgroups = "/usr/local/etc/raddb/huntgroups"
 preprocess: hints = "/usr/local/etc/raddb/hints"
 preprocess: with_ascend_hack = no
 preprocess: ascend_channels_per_line = 23
 preprocess: with_ntdomain_hack = no
 preprocess: with_specialix_jetstream_hack = no
 preprocess: with_cisco_vsa_hack = no
Module: Instantiated preprocess (preprocess) 
Module: Loaded SQL 
 sql: driver = "rlm_sql_postgresql"
 sql: server = "localhost"
 sql: port = ""
 sql: login = "radius"
 sql: password = "radius2k3"
 sql: radius_db = "radius"
 sql: acct_table = "radacct"
 sql: acct_table2 = "radacct"
 sql: authcheck_table = "radcheck"
 sql: authreply_table = "radreply"
 sql: groupcheck_table = "radgroupcheck"
 sql: groupreply_table = "radgroupreply"
 sql: usergroup_table = "usergroup"
 sql: nas_table = "nas"
 sql: dict_table = "dictionary"
 sql: sqltrace = yes
 sql: sqltracefile = "/usr/local/var/log/radius/sqltrace.sql"
 sql: deletestalesessions = yes
 sql: num_sql_socks = 5
 sql: sql_user_name = "%{User-Name}"
 sql: default_user_profile = ""
 sql: query_on_not_found = no
 sql: authorize_check_query = "SELECT id, UserName, Attribute, Value, Op ??FROM 
radcheck ??WHERE Username = '%{SQL-User-Name}' ??ORDER BY id"
 sql: authorize_reply_query = "SELECT id, UserName, Attribute, Value, Op ??FROM 
radreply ??WHERE Username = '%{SQL-User-Name}' ??ORDER BY id"
 sql: authorize_group_check_query = "SELECT radgroupcheck.id, radgroupcheck.GroupName, 
??radgroupcheck.Attribute, radgroupcheck.Value,radgroupcheck.Op ??FROM radgroupcheck, 
usergroup ??WHERE usergroup.Username = '%{SQL-User-Name}' AND usergroup.GroupName = 
radgroupcheck.GroupName ??ORDER BY radgroupcheck.id"
 sql: authorize_group_reply_query = "SELECT radgroupreply.id, radgroupreply.GroupName, 
radgroupreply.Attribute, ??radgroupreply.Value, radgroupreply.Op ??FROM 
radgroupreply,usergroup ??WHERE usergroup.Username = '%{SQL-User-Name}' AND 
usergroup.GroupName = radgroupreply.GroupName ??ORDER BY radgroupreply.id"
 sql: accounting_onoff_query = "UPDATE radacct SET AcctStopTime='%S', 
AcctSessionTime=extract(epoch from (timestamp('%S') - timestamp(AcctStartTime))), 
AcctTerminateCause='%{Acct-Terminate-Cause}', AcctStopDelay = %{Acct-Delay-Time} WHERE 
AcctSessionTime=-1 AND AcctStopTime=AcctStartTime AND NASIPAddress= 
'%{NAS-IP-Address}' AND AcctStartTime <= '%S'"
 sql: accounting_update_query = "UPDATE radacct SET FramedIPAddress = 
'%{Framed-IP-Address}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = 
'%{User-Name}' AND NASIPAddress= '%{NAS-IP-Address}' and NASPortId='%{NAS-Port}' "
 sql: accounting_start_query = "INSERT into radacct (AcctSessionId, AcctUniqueId, 
UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, 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}', '%{NAS-Port-Type}', '%S', '-1', '%{Acct-Authentic}', '%{Connect-Info}', 
'', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', 
'%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Acct-Delay-Time}', '0')"
 sql: accounting_start_query_alt = "UPDATE radacct SET AcctStartTime = '%S', 
AcctStartDelay = '%{Acct-Delay-Time}', ConnectInfo_start = '%{Connect-Info}' WHERE 
AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND 
NASIPAddress = '%{NAS-IP-Address}'"
 sql: accounting_stop_query = "UPDATE radacct SET AcctStopTime = '%S', AcctSessionTime 
= '%{Acct-Session-Time}', AcctInputOctets = '%{Acct-Input-Octets}', AcctOutputOctets = 
'%{Acct-Output-Octets}', AcctTerminateCause = '%{Acct-Terminate-Cause}', AcctStopDelay 
= '%{Acct-Delay-Time}', FramedIPAddress = '%{Framed-IP-Address}', ConnectInfo_stop = 
'%{Connect-Info}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = 
'%{SQL-User-Name}' AND NASIPAddress = '%{NAS-IP-Address}' and NASPortId='%{NAS-Port}' 
and acctstarttime > (now()-interval('2 days')) "
 sql: accounting_stop_query_alt = "INSERT into radacct ( 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}', '%{NAS-Port-Type}', '0', '%S', 
'%{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}')"
 sql: group_membership_query = ""
 sql: connect_failure_retry_delay = 60
 sql: simul_count_query = ""
 sql: simul_verify_query = ""
rlm_sql (sql): Driver rlm_sql_postgresql (module rlm_sql_postgresql) loaded and linked
rlm_sql (sql): Attempting to connect to [EMAIL PROTECTED]:/radius
rlm_sql (sql): starting 0
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #0
rlm_sql (sql): Connected new DB handle, #0
rlm_sql (sql): starting 1
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #1
rlm_sql (sql): Connected new DB handle, #1
rlm_sql (sql): starting 2
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #2
rlm_sql (sql): Connected new DB handle, #2
rlm_sql (sql): starting 3
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #3
rlm_sql (sql): Connected new DB handle, #3
rlm_sql (sql): starting 4
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #4
rlm_sql (sql): Connected new DB handle, #4
Module: Instantiated sql (sql) 
Module: Loaded Acct-Unique-Session-Id 
 acct_unique: key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, 
NAS-Port-Id"
Module: Instantiated acct_unique (acct_unique) 
Module: Loaded detail 
 detail: detailfile = 
"/usr/local/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d"
 detail: detailperm = 384
 detail: dirperm = 493
 detail: locking = no
Module: Instantiated detail (detail) 
Module: Loaded System 
 unix: cache = no
 unix: passwd = "(null)"
 unix: shadow = "(null)"
 unix: group = "(null)"
 unix: radwtmp = "/usr/local/var/log/radius/radwtmp"
 unix: usegroup = no
 unix: cache_reload = 600
Module: Instantiated unix (unix) 
Module: Loaded radutmp 
 radutmp: filename = "/usr/local/var/log/radius/radutmp"
 radutmp: username = "%{User-Name}"
 radutmp: case_sensitive = yes
 radutmp: check_with_nas = yes
 radutmp: perm = 384
 radutmp: callerid = yes
Module: Instantiated radutmp (radutmp) 
Module: Loaded eap 
 eap: default_eap_type = "md5"
 eap: timer_expire = 60
 eap: ignore_unknown_eap_types = no
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
Module: Instantiated eap (eap) 
Listening on IP address *, ports 1812/udp and 1813/udp, with proxy on 1814/udp.
Ready to process requests.
rad_recv: Access-Request packet from host 10.10.80.23:2543, id=7, length=46
        User-Name = "boggss"
        User-Password = "test"
modcall: entering group authorize
  modcall[authorize]: module "preprocess" returns ok
  modcall[authorize]: module "chap" returns noop
radius_xlat:  'boggss'
rlm_sql (sql): sql_set_user escaped user --> 'boggss'
radius_xlat:  'SELECT id, UserName, Attribute, Value, Op ??FROM radcheck ??WHERE 
Username = 'boggss' ??ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 4
rlm_sql_postgresql: query: SELECT id, UserName, Attribute, Value, Op ??FROM radcheck 
??WHERE Username = 'boggss' ??ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: affected rows = 
radius_xlat:  'SELECT radgroupcheck.id, radgroupcheck.GroupName, 
??radgroupcheck.Attribute, radgroupcheck.Value,radgroupcheck.Op ??FROM radgroupcheck, 
usergroup ??WHERE usergroup.Username = 'boggss' AND usergroup.GroupName = 
radgroupcheck.GroupName ??ORDER BY radgroupcheck.id'
rlm_sql_postgresql: query: SELECT radgroupcheck.id, radgroupcheck.GroupName, 
??radgroupcheck.Attribute, radgroupcheck.Value,radgroupcheck.Op ??FROM radgroupcheck, 
usergroup ??WHERE usergroup.Username = 'boggss' AND usergroup.GroupName = 
radgroupcheck.GroupName ??ORDER BY radgroupcheck.id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: affected rows = 
radius_xlat:  'SELECT id, UserName, Attribute, Value, Op ??FROM radreply ??WHERE 
Username = 'boggss' ??ORDER BY id'
rlm_sql_postgresql: query: SELECT id, UserName, Attribute, Value, Op ??FROM radreply 
??WHERE Username = 'boggss' ??ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: affected rows = 
radius_xlat:  'SELECT radgroupreply.id, radgroupreply.GroupName, 
radgroupreply.Attribute, ??radgroupreply.Value, radgroupreply.Op ??FROM 
radgroupreply,usergroup ??WHERE usergroup.Username = 'boggss' AND usergroup.GroupName 
= radgroupreply.GroupName ??ORDER BY radgroupreply.id'
rlm_sql_postgresql: query: SELECT radgroupreply.id, radgroupreply.GroupName, 
radgroupreply.Attribute, ??radgroupreply.Value, radgroupreply.Op ??FROM 
radgroupreply,usergroup ??WHERE usergroup.Username = 'boggss' AND usergroup.GroupName 
= radgroupreply.GroupName ??ORDER BY radgroupreply.id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: affected rows = 
rlm_sql (sql): Released sql socket id: 4
  modcall[authorize]: module "sql" returns ok
  modcall[authorize]: module "mschap" returns noop
modcall: group authorize returns ok
  rad_check_password:  Found Auth-Type Local
auth: type Local
auth: user supplied User-Password matches local User-Password
Sending Access-Accept of id 7 to 10.10.80.23:2543
        Framed-IP-Address := 10.10.70.10
        Framed-Compression := Van-Jacobson-TCP-IP
        Framed-Protocol := PPP
        Service-Type := Framed-User
        Framed-MTU := 1500
Finished request 0
Going to the next request
--- Walking the entire request list ---
Waking up in 6 seconds...
--- Walking the entire request list ---
Cleaning up request 0 ID 7 with timestamp 3f5f4d5c
Nothing to do.  Sleeping until we see a request.
rad_recv: Accounting-Request packet from host 10.10.80.23:2544, id=8, length=40
        User-Name = "boggss"
        Acct-Status-Type = Start
        Acct-Session-Id = "2836"
modcall: entering group preacct
  modcall[preacct]: module "preprocess" returns noop
modcall: group preacct returns noop
modcall: entering group accounting
rlm_acct_unique: WARNING: Attribute NAS-Port-Id was not found in request, unique ID 
MAY be inconsistent
rlm_acct_unique: Hashing ',Client-IP-Address = 10.10.80.23,NAS-IP-Address = 
10.10.80.23,Acct-Session-Id = "2836",User-Name = "boggss"'
rlm_acct_unique: Acct-Unique-Session-ID = "3879d6b9c94adcc6".
  modcall[accounting]: module "acct_unique" returns ok
radius_xla t:  '/usr/local/var/log/radius/radacct/10.10.80.23/detail-20030911'
rlm_detail: /usr/local/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d 
expands to /usr/local/var/log/radius/radacct/10.10.80.23/detail-20030911
  modcall[accounting]: module "detail" returns ok
  modcall[accounting]: module "unix" returns noop
radius_xlat:  'boggss'
rlm_sql (sql): sql_set_user escaped user --> 'boggss'
radius_xlat:  'INSERT into radacct (AcctSessionId, AcctUniqueId, UserName, Realm, 
NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctSessionTime, AcctAuthentic, 
ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, 
CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, 
FramedIPAddress, AcctStartDelay, AcctStopDelay) values('2836', '3879d6b9c94adcc6', 
'boggss', '', '10.10.80.23', '', '', '2003-09-11 00:12:19', '-1', '', '', '', '0', 
'0', '', '', '', '', '', '', '', '0')'
radius_xlat:  '/usr/local/var/log/radius/sqltrace.sql'
rlm_sql (sql): Reserving sql socket id: 3
rlm_sql_postgresql: query: INSERT into radacct (AcctSessionId, AcctUniqueId, UserName, 
Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctSessionTime, 
AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, 
CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, 
FramedIPAddress, AcctStartDelay, AcctStopDelay) values('2836', '3879d6b9c94adcc6', 
'boggss', '', '10.10.80.23', '', '', '2003-09-11 00:12:19', '-1', '', '', '', '0', 
'0', '', '', '', '', '', '', '', '0')
rlm_sql_postgresql: Status: PGRES_FATAL_ERROR
rlm_sql_postgresql: affected rows = 
rlm_sql_postgresql: Postgresql check_error: PGRES_FATAL_ERROR, returning SQL_DOWN
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #3
rlm_sql (sql): Connected new DB handle, #3
rlm_sql_postgresql: query: INSERT into radacct (AcctSessionId, AcctUniqueId, UserName, 
Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctSessionTime, 
AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, 
CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, 
FramedIPAddress, AcctStartDelay, AcctStopDelay) values('2836', '3879d6b9c94adcc6', 
'boggss', '', '10.10.80.23', '', '', '2003-09-11 00:12:19', '-1', '', '', '', '0', 
'0', '', '', '', '', '', '', '', '0')
rlm_sql_postgresql: Status: PGRES_FATAL_ERROR
rlm_sql_postgresql: affected rows = 
rlm_sql_postgresql: Postgresql check_error: PGRES_FATAL_ERROR, returning SQL_DOWN
rlm_sql (sql): failed after re-connect
rlm_sql (sql): Couldn't update SQL accounting for START packet - ERROR:  pg_atoi: 
zero-length string 
radius_xlat:  'UPDATE radacct SET AcctStartTime = '2003-09-11 00:12:19', 
AcctStartDelay = '', ConnectInfo_start = '' WHERE AcctSessionId = '2836' AND UserName 
= 'boggss' AND NASIPAddress = '10.10.80.23''
radius_xlat:  '/usr/local/var/log/radius/sqltrace.sql'
rlm_sql_postgresql: query: UPDATE radacct SET AcctStartTime = '2003-09-11 00:12:19', 
AcctStartDelay = '', ConnectInfo_start = '' WHERE AcctSessionId = '2836' AND UserName 
= 'boggss' AND NASIPAddress = '10.10.80.23'
rlm_sql_postgresql: Status: PGRES_FATAL_ERROR
rlm_sql_postgresql: affected rows = 
rlm_sql_postgresql: Postgresql check_error: PGRES_FATAL_ERROR, returning SQL_DOWN
rlm_sql (sql): Attempting to connect rlm_sql_postgresql #3
rlm_sql (sql): Connected new DB handle, #3
rlm_sql_postgresql: query: UPDATE radacct SET AcctStartTime = '2003-09-11 00:12:19', 
AcctStartDelay = '', ConnectInfo_start = '' WHERE AcctSessionId = '2836' AND UserName 
= 'boggss' AND NASIPAddress = '10.10.80.23'
rlm_sql_postgresql: Status: PGRES_FATAL_ERROR
rlm_sql_postgresql: affected rows = 
rlm_sql_postgresql: Postgresql check_error: PGRES_FATAL_ERROR, returning SQL_DOWN
rlm_sql (sql): failed after re-connect
rlm_sql (sql): Couldn't update SQLaccounting START record - ERROR:  Bad int8 external 
representation "" 
rlm_sql (sql): Released sql socket id: 3
  modcall[accounting]: module "sql" returns fail
modcall: group accounting returns fail
Finished request 1
Going to the next request
--- Walking the entire request list ---
Cleaning up request 1 ID 8 with timestamp 3f5f4d63
Nothing to do.  Sleeping until we see a request. 
#       Id: postgresql.conf,v 1.8.2.11 2003/07/15 11:15:43 pnixon Exp $
#
#  Configuration for the SQL module, when using Postgresql.
#
#  The database schema is available at:
#
#  src/radiusd/src/modules/rlm_sql/drivers/rlm_sql_postgresql/db_postgresql.sql
#



sql {



        # Database type
        # Current supported are: rlm_sql_mysql, rlm_sql_postgresql, rlm_sql_iodbc, 
rlm_sql_oracle
        driver = "rlm_sql_postgresql"



        # Connect info
        server = "localhost"
        # The following credentials will most likely work on a default install of 
Postgresql
        # If they do work however, it means that you have a HUGE GAPING SECURITY RISK 
on your
        # server! Please change the "postgres" users password and setup a separate 
radius user.
        login = "test"
        password = "test"



        # Database table configuration
        radius_db = "radius"



        # If you want both stop and start records logged to the
        # same SQL table, leave this as is.  If you want them in
        # different tables, put the start table in acct_table1
        # and stop table in acct_table2
        acct_table1 = "radacct"
        acct_table2 = "radacct"



        authcheck_table = "radcheck"
        authreply_table = "radreply"



        groupcheck_table = "radgroupcheck"
        groupreply_table = "radgroupreply"



        usergroup_table = "usergroup"



        # Remove stale session if checkrad does not see a double login
        deletestalesessions = yes



        # Print all SQL statements when in debug mode (-x)
        sqltrace = yes
        sqltracefile = ${logdir}/sqltrace.sql



        # number of sql connections to make to server
        num_sql_socks = 5



        #######################################################################
        #  Query config:  Username
        #######################################################################
        # This is the username that will get substituted, escaped, and added 
        # as attribute 'SQL-User-Name'.  '%{SQL-User-Name}' should be used below 
        # everywhere a username substitution is needed so you you can be sure 
        # the username passed from the client is escaped properly.  
        #
        #  Uncomment the next line, if you want the sql_user_name to mean:
        #
        #    Use Stripped-User-Name, if it's there.
        #    Else use User-Name, if it's there,
        #    Else use hard-coded string "none" as the user name.
        #
        #sql_user_name = "%{Stripped-User-Name:-%{User-Name:-none}}"
        #
        sql_user_name = "%{User-Name}"




        #######################################################################
        #  Authorization Queries
        #######################################################################
        #  These queries compare the check items for the user
        #  in ${authcheck_table} and setup the reply items in 
        #  ${authreply_table}.  You can use any query/tables
        #  you want, but the return data for each row MUST 
        #  be in the  following order:
        #
        #  0. Row ID (currently unused)
        #  1. UserName/GroupName
        #  2. Item Attr Name
        #  3. Item Attr Value
        #######################################################################
        # Use these for case sensitive usernames. WARNING: Slower queries!
        #authorize_check_query = "SELECT id,UserName,Attribute,Value,Op FROM 
${authcheck_table} WHERE STRCMP(Username, '%{SQL-User-Name}') =  ORDER BY id"
        #authorize_reply_query = "SELECT id,UserName,Attribute,Value,Op FROM 
${authreply_table} WHERE STRCMP(Username, '%{SQL-User-Name}') =  ORDER BY id"



        authorize_check_query = "SELECT id, UserName, Attribute, Value, Op \
                FROM ${authcheck_table} \
                WHERE Username = '%{SQL-User-Name}' \
                ORDER BY id"



        authorize_reply_query = "SELECT id, UserName, Attribute, Value, Op \
                FROM ${authreply_table} \
                WHERE Username = '%{SQL-User-Name}' \
                ORDER BY id"



        # Use these for case sensitive usernames. WARNING: Slower queries!
        #authorize_group_check_query = "SELECT 
${groupcheck_table}.id,${groupcheck_table}.GroupName,${groupcheck_table}.Attribute,${groupcheck_table}.Value,${groupcheck_table}.Op
 FROM ${groupcheck_table},${usergroup_table} WHERE STRCMP(${usergroup_table}.Username, 
'%{SQL-User-Name}') =  AND ${usergroup_table}.GroupName = 
${groupcheck_table}.GroupName ORDER BY ${groupcheck_table}.id"
        #authorize_group_reply_query = "SELECT 
${groupreply_table}.id,${groupreply_table}.GroupName,${groupreply_table}.Attribute,${groupreply_table}.Value,${groupreply_table}.Op
 FROM ${groupreply_table},${usergroup_table} WHERE STRCMP(${usergroup_table}.Username, 
'%{SQL-User-Name}') =  AND ${usergroup_table}.GroupName = 
${groupreply_table}.GroupName ORDER BY ${groupreply_table}.id"



        authorize_group_check_query = "SELECT ${groupcheck_table}.id, 
${groupcheck_table}.GroupName, \
                ${groupcheck_table}.Attribute, 
${groupcheck_table}.Value,${groupcheck_table}.Op \
                FROM ${groupcheck_table}, ${usergroup_table} \
                WHERE ${usergroup_table}.Username = '%{SQL-User-Name}' AND 
${usergroup_table}.GroupName = ${groupcheck_table}.GroupName \
                ORDER BY ${groupcheck_table}.id"



        authorize_group_reply_query = "SELECT ${groupreply_table}.id, 
${groupreply_table}.GroupName, ${groupreply_table}.Attribute, \
                ${groupreply_table}.Value, ${groupreply_table}.Op \
                FROM ${groupreply_table},${usergroup_table} \
                WHERE ${usergroup_table}.Username = '%{SQL-User-Name}' AND 
${usergroup_table}.GroupName = ${groupreply_table}.GroupName \
                ORDER BY ${groupreply_table}.id"




        #######################################################################
        #  Authentication Query
        #######################################################################
        # This query is used only to get the Password for the
        # user we want to authenticate.  The password MUST
        # be the first field in the return row data.
        #######################################################################



        authenticate_query = "SELECT Value,Attribute FROM ${authcheck_table} \
                WHERE UserName = '%{User-Name}' AND ( Attribute = 'User-Password' OR 
Attribute = 'Crypt-Password' ) \
                ORDER BY Attribute DESC"



        #######################################################################
        # Simultaneous Use Checking Queries
        #######################################################################
        # simul_count_query     - query for the number of current connections
        #                       - If this is not defined, no simultaneouls use checking
        #                       - will be performed by this module instance
      &n bsp; # simul_verify_query    - query to return details of current connections 
for verification
        #                       - Leave blank or commented out to disable verification 
step
        #                       - Note that the returned field order should not be 
changed.
        #######################################################################



        # Uncomment simul_count_query to enable simultaneous use checking
        # simul_count_query = "SELECT COUNT(*) FROM ${acct_table1} WHERE 
UserName='%{SQL-User-Name}' AND AcctStopTime IS NULL"
        # simul_verify_query = "SELECT RadAcctId, AcctSessionId, UserName, 
NASIPAddress, NASPortId, FramedIPAddress, CallingStationId, FramedProtocol FROM 
${acct_table1} WHERE UserName='%{SQL-User-Name}' AND AcctStopTime IS NULL"



 



        #######################################################################
        #  Accounting Queries
        #######################################################################
        # accounting_onoff_query        - query for Accounting On/Off packets 
        # accounting_update_query       - query for Accounting update packets 
        # accounting_start_query        - query for Accounting start packets 
        # accounting_start_query_alt    - query for Accounting start packets 
        #                               (alternate in case first query fails)
        # accounting_stop_query         - query for Accounting stop packets 
        # accounting_stop_query_alt     - query for Accounting start packets 
        #                               (alternate in case first query doesn't
        #                                affect any existing rows in the table)
        #######################################################################
        accounting_onoff_query = "UPDATE ${acct_table1} SET AcctStopTime='%S', 
AcctSessionTime=extract(epoch from (timestamp('%S') - timestamp(AcctStartTime))), 
AcctTerminateCause='%{Acct-Terminate-Cause}', AcctStopDelay = %{Acct-Delay-Time} WHERE 
AcctSessionTime=-1 AND AcctStopTime=AcctStartTime AND NASIPAddress= 
'%{NAS-IP-Address}' AND AcctStartTime <= '%S'"
        accounting_update_query = "UPDATE ${acct_table1} SET FramedIPAddress = 
'%{Framed-IP-Address}' WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = 
'%{User-Name}' AND NASIPAddress= '%{NAS-IP-Address}' and NASPortId='%{NAS-Port}' "
        accounting_start_query = "INSERT into radacct (AcctSessionId, AcctUniqueId, 
UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, 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}', '%{NAS-Port-Type}', '%S', '-1', '%{Acct-Authentic}', '%{Connect-Info}', 
'', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', 
'%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Acct-Delay-Time}', '0')"
        accounting_start_query_alt  = "UPDATE ${acct_table1} SET AcctStartTime = '%S', 
AcctStartDelay = '%{Acct-Delay-Time}', ConnectInfo_start = '%{Connect-Info}' WHERE 
AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND 
NASIPAddress = '%{NAS-IP-Address}'"
        accounting_stop_query = "UPDATE ${acct_table1} SET AcctStopTime = '%S', 
AcctSessionTime = '%{Acct-Session-Time}', AcctInputOctets = '%{Acct-Input-Octets}', 
AcctOutputOctets = '%{Acct-Output-Octets}', AcctTerminateCause = 
'%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time}', FramedIPAddress = 
'%{Framed-IP-Address}', ConnectInfo_stop = '%{Connect-Info}' WHERE AcctSessionId = 
'%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' AND NASIPAddress = 
'%{NAS-IP-Address}' and NASPortId='%{NAS-Port}' and acctstarttime > (now()-interval('2 
days')) "
        accounting_stop_query_alt = "INSERT into radacct ( 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}', '%{NAS-Port-Type}', '0', '%S', '%{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}')"




}

Reply via email to