(RADIATOR) Truncation error in AuthBy SQL - MySQL to MSSQL
Randall
radiator at diskserv.com
Sun Apr 10 14:22:07 CDT 2005
Hello, Mike and Hugh!
Don't know if you have had many questions from folks like me who have been
using Radiator with MySQL very successfully, but who now want for various
reasons to switch to MS SQL. I need to switch in order to get
transaction-based replication between two live redundant database servers,
and avoid the crummy master-slave aspects of MySQL 4.x. Of course, MySQL 5
will not appear in stable form in time for me to wait for it :-) The
conversion is almost complete, except for one little thing. I am getting a
baffling truncation error in <AuthBy SQL>. Maybe it is because I have the
CHECKATTR and REPLYATTR fields defined as TEXT ?
I have appended, as Mike and Hugh recommend, full Trace Level 4 debug
output, and our config code, as well as an Include file for this
code. Could you please point me in the right direction to resolve this
truncation error? I have pored over the help files on your web site to no
avail :-(
Question 1.) Is there a string length limit for this to work?
I have very long Reply Attribute Strings in some cases, over 255 characters.
It worked just fine as TINYTEXT fields in MySQL. But MSSQL does not have
TINYTEXT.
Question 2.) Could this be a limitation of the MS SQL Server ODBC, or is it
a limitation of Radiator?
I am using Version 2000.85.1025.00.
Question 3.) Do you have recommended settings that I can see or use for the
MS SQL ODBC DSN Configuration?
(I mean ODBC DSN Settings like Use ANSI nulls, paddings and warnings, etc)
Thanks, everyone!
Randall
<rep at ms.edu>
--- Start SQL Database design for <AuthBy SQL> ---------------------
1 USERNAME varchar 50 0
0 PASSWORD varchar 50 1
0 ENCRYPTEDPASSWORD varchar 50 1
0 CHECKATTR text 16 1
0 REPLYATTR text 16 1
0 TIMELEFT int 4 1
0 TIMEBANKED int 4 0
0 TIMEBANKED_MONTHLY int 4 1
0 MONTHLY_USAGE_CAP int 4 1
--- End SQL Database design for <AuthBy SQL> ---------------------
----------- Start Trace ------------------------------------------
Sun Apr 10 12:27:36 2005: DEBUG: Packet dump:
*** Received from 192.168.1.5 port 3028 ....
Code: Access-Request
Identifier: 5
Authentic: 1234567890123456
Attributes:
User-Name = "test at xyz.com"
Service-Type = Framed-User
NAS-IP-Address = 66.99.29.1
NAS-Port = 1234
Called-Station-Id = "123456789"
Calling-Station-Id = "987654321"
NAS-Port-Type = Async
CHAP-Password =
5tT<11><149><245>n<175>Wr<29><192><142><199><142><132><1
70>
CHAP-Challenge = 1234567890123456
Sun Apr 10 12:27:36 2005: DEBUG: Rewrote user name to test at xyz.com
Sun Apr 10 12:27:36 2005: DEBUG: Handling request with Handler 'Realm=xyz.com'
Sun Apr 10 12:27:36 2005: DEBUG: Radonline Deleting session for
test at xyz.com, 66
.99.29.1, 1234
Sun Apr 10 12:27:36 2005: DEBUG: do query is: 'delete from RADONLINE where
USERN
AME = 'test at xyz.com'':
Sun Apr 10 12:27:36 2005: DEBUG: Handling with Radius::AuthSQL
Sun Apr 10 12:27:36 2005: DEBUG: Handling with Radius::AuthSQL
Sun Apr 10 12:27:36 2005: DEBUG: Handling with Radius::AuthGROUP
Sun Apr 10 12:27:36 2005: DEBUG: Handling with Radius::AuthSQL
Sun Apr 10 12:27:36 2005: DEBUG: Handling with Radius::AuthSQL: RejectUsers
Sun Apr 10 12:27:36 2005: DEBUG: Query is: 'select "Reject:User is Suspended or
reached Realm or User Cap Limit" from Reject_Users where
USERNAME='test at xyz.com'
':
Sun Apr 10 12:27:36 2005: DEBUG: Radius::AuthSQL looks for match with
test at xyz.c
om
Sun Apr 10 12:27:36 2005: DEBUG: Handling with PORTLIMITCHECK:
Sun Apr 10 12:27:36 2005: DEBUG: Query is: 'select Count(*) from RADONLINE
where
realm = 'xyz.com'':
Sun Apr 10 12:27:36 2005: DEBUG: PORTLIMITCHECK got a current session count
of 0
Sun Apr 10 12:27:36 2005: DEBUG: Handling with Radius::AuthSQL
Sun Apr 10 12:27:36 2005: DEBUG: Handling with Radius::AuthSQL:
Sun Apr 10 12:27:36 2005: DEBUG: Query is: 'select PASSWORD, CHECKATTR,
REPLYATTR from xyzcom_subscribers where USERNAME= 'test at xyz.com'':
DBD::ODBC::st fetchrow failed: [Microsoft][ODBC SQL Server Driver]String
data, right truncation (SQL-01004)(DBD: st_fetch/SQLFetch (long truncated
DBI attribute LongTruncOk not set and/or LongReadLen too small) err=-1) at
C:/Perl/site/lib/Radius/SqlDb.pm line 267.
Sun Apr 10 12:27:36 2005: DEBUG: Radius::AuthSQL looks for match with
test at xyz.c
om
Sun Apr 10 12:27:36 2005: DEBUG: Query is: 'select PASSWORD, CHECKATTR,
REPLYATT
R from xyzcom_subscribers where USERNAME= 'DEFAULT'':
Sun Apr 10 12:27:36 2005: INFO: Access rejected for test at xyz.com: No such user
Sun Apr 10 12:27:36 2005: DEBUG: do query is: 'insert into xyzcom_authlog
(TIME_
STAMP, USERNAME, TYPE, REASON, REQUESTPASSWORD, PRIORITY, EVENTTIME, NASIP,
NASI
D, NASIDENTIFIER, TESTTYPE, CORRECTPASSWORD) values (1113154056,
'test at xyz.com',
0, 'No such user', '', 1, 'Apr 10, 2005 12:27:36', '66.99.29.1',
1082727681, '
', 'Access-Request', NULL)':
Sun Apr 10 12:27:36 2005: DEBUG: Packet dump:
*** Sending to 192.168.1.5 port 3028 ....
Code: Access-Reject
Identifier: 5
Authentic: 1234567890123456
Attributes:
Reply-Message = "No such user"
Sun Apr 10 12:27:36 2005: DEBUG: Packet dump:
*** Received from 192.168.1.5 port 3028 ....
Code: Accounting-Request
Identifier: 6
Authentic: <231><7>(<224><214>!tFq<208><203><161>#a :
Attributes:
User-Name = "test at xyz.com"
Service-Type = Framed-User
NAS-IP-Address = 66.99.29.1
NAS-Port = 1234
NAS-Port-Type = Async
Acct-Session-Id = "00001234"
Acct-Status-Type = Start
Called-Station-Id = "123456789"
Calling-Station-Id = "987654321"
Acct-Delay-Time = 0
Sun Apr 10 12:27:36 2005: DEBUG: Rewrote user name to test at xyz.com
Sun Apr 10 12:27:36 2005: WARNING: Bad authenticator in request from
DEFAULT (66
.99.29.1)
Sun Apr 10 12:27:41 2005: DEBUG: Packet dump:
*** Received from 192.168.1.5 port 3028 ....
Code: Accounting-Request
Identifier: 7
Authentic: <131><231>R<5><252><200><<160><146><7><138><194><194><131><17><255>
Attributes:
User-Name = "test at xyz.com"
Service-Type = Framed-User
NAS-IP-Address = 66.99.29.1
NAS-Port = 1234
NAS-Port-Type = Async
Acct-Session-Id = "00001234"
Acct-Status-Type = Stop
Called-Station-Id = "123456789"
Calling-Station-Id = "987654321"
Acct-Delay-Time = 0
Acct-Session-Time = 1000
Acct-Input-Octets = 20000
Acct-Output-Octets = 30000
Sun Apr 10 12:27:41 2005: DEBUG: Rewrote user name to test at xyz.com
Sun Apr 10 12:27:41 2005: WARNING: Bad authenticator in request from
DEFAULT (66
.99.29.1)
--------- End Trace
---------------------------------------------------------------
---------- Start Config (Main)
--------------------------------------------------------
# windows.cfg
# Revised January 13, 2005
#
BindAddress 192.168.1.5
AuthPort 1645
AcctPort 1646
# Define Globals
# Master Radius Database
DefineFormattedGlobalVar MSSQLServer MSRadius
DefineFormattedGlobalVar MSSQLUser User
DefineFormattedGlobalVar MSSQLPassword Password
# Read Only Slave Radius Database
Foreground
LogStdout
# %L in any file name path
LogDir c:\Radlogs
LogFile %L/logfile-64-137-27-1-%Y%m%d.log
# %D in any file name path
DbDir c:\Radius
# DictionaryFile %D/dictionary,%D/dictionary.ascend
# For AASP Use the Following
DictionaryFile %D/dictionary
# Rewrite Username to be all Lower Case
RewriteUsername tr/{A-Z]/[a-z]/
# RewriteUserName to have UserName portion case sensitive and realm portion
lower case
#RewriteUsername s/(?<=@)(.*)$/lc($1)/e
# This will log at DEBUG level: very verbose
# User a lower trace level in production systems, typically use 3
Trace 4
# Monitor connection
<Monitor>
BindAddress 192.168.1.5
Port xxxx
Username xxxxx
Password xxxxxxxxx
</Monitor>
# SessionDatabase SQL entries
#' Set override of SessionDatabase Queries
<SessionDatabase SQL>
DBSource dbi:ODBC:%{GlobalVar:MSSQLServer}
DBUsername %{GlobalVar:MSSQLUser}
DBAuth %{GlobalVar:MSSQLPassword}
Identifier Radonline
AddQuery insert into
RADONLINE(USERNAME,NASIDENTIFIER,NASPORT,ACCTSESSIONID,TIME_STAMP,FRAMEDIPADDRESS,NASPORTTYPE,SERVICETYPE,
Calling_Station_Id, Called_Station_Id, Framed_Protocol, Realm) values
('%u','%1',%2,%3,%{Timestamp},'%{Framed-IP-Address}','%{NAS-Port-Type}','%{Service-Type}',
'%{Calling-Station-Id}', '%{Called-Station-Id}', '%{Framed-Protocol}', '%W')
DeleteQuery delete from RADONLINE where USERNAME = '%u'
ClearNasQuery
CountQuery select Count(*) from RADONLINE where USERNAME='%u'
</SessionDatabase>
# Trace level log file with messages
<Log SQL>
DBSource dbi:ODBC:%{GlobalVar:MSSQLServer}
DBUsername %{GlobalVar:MSSQLUser}
DBAuth %{GlobalVar:MSSQLPassword}
Table radlog
Identifier RadLog
LogQuery insert into %3 (TIME_STAMP,PRIORITY,MESSAGE, USERNAME,
REALM) values (%t, %0, %2, %u, %W)
</LOG>
<StatsLog SQL>
Identifier RadStatsLog
DBSource dbi:ODBC:%{GlobalVar:MSSQLServer}
DBUsername %{GlobalVar:MSSQLUser}
DBAuth %{GlobalVar:MSSQLPassword}
# The logging interval in seconds (Default 600 Seconds or 10 Mins)
Interval 1800
# You can configure the SQL query to be used for each log.
# %0, %1 etc are replaced by each statistic, in alphabetical order
# of their name.This example just logs the time, object type, id and
# average responseTime
InsertQuery insert into radstatslog
(TIME_STAMP,TYPE,IDENTIFIER,ACCESSACCEPTS,ACCESSCHALLENGES,ACCESSREJECTS,ACCESSREQUESTS,
\
ACCOUNTINGREQUESTS,ACCOUNTINGRESPONSES,BADAUTHACCESSREQUESTS,BADAUTHACCOUNTINGREQUESTS,BADAUTHREQUESTS,DROPPEDACCESSREQUESTS,
\
DROPPEDACCOUNTINGREQUESTS,DROPPEDREQUESTS,DUPACCESSREQUESTS,DUPACCOUNTINGREQUESTS,DUPLICATEREQUESTS,MALFORMEDACCESSREQUESTS,
\
MALFORMEDACCOUNTINGREQUESTS,PROXIEDNOREPLY,PROXIEDREQUESTS,REQUESTS,RESPONSETIME)
values \
(%0, '%1', '%2', %3, %4, %5, %6, %7, %8, %9, %10, %11, %12, %13,
%14, %15, %16, %17, %18, %19, %20, %21, %22, %23)
</StatsLog>
#' Enabled Client List from SQL database
<ClientListSQL>
DBSource dbi:ODBC:%{GlobalVar:MSSQLServer}
DBUsername %{GlobalVar:MSSQLUser}
DBAuth %{GlobalVar:MSSQLPassword}
GetClientQuery select NASIDENTIFIER,SECRET,IGNOREACCTSIGNATURE, \
DUPINTERVAL,DEFAULTREALM,NASTYPE,SNMPCOMMUNITY,LIVINGSTONOFFS, \
LIVINGSTONHOLE,NULL,NULL, \
REWRITEUSERNAME,NOIGNOREDUPLICATES,PREHANDLERHOOK, \
IDENTIFIER,DEFAULTREPLY,NULL,STRIPFROMREPLY, \
ALLOWINREPLY,ADDTOREPLY,ADDTOREPLYIFNOTEXIST,DYNAMICREPLY FROM
RADCLIENTS
</ClientListSQL>
<Realm DEFAULT>
<AuthBy INTERNAL>
AuthResult REJECT
AcctStopResult ACCEPT
AcctStartResult ACCEPT
DefaultResult REJECT
</AuthBy>
</Realm>
<AuthBy SQL>
Identifier RejectUsers
DBSource dbi:ODBC:%{GlobalVar:MSSQLServer}
DBUsername %{GlobalVar:MSSQLUser}
DBAuth %{GlobalVar:MSSQLPassword}
DateFormat '%b $d,%Y %H:%M:%S'
AuthSelect select "Reject:User is Suspended or reached Realm or User
Cap Limit" from Reject_Users where USERNAME=%0
AuthColumnDef 0, Auth-Type, check
AcceptIfMissing
NoDefault
</AuthBy>
# Authenticate realms with this
# Manual location 6.15
Include %D/Includes/xyz.com.cfg
--------- End Config (Main) -------------------------------------------
-------- Start Config (Include) ---------------------------------------
<Realm xyz.com>
# MaxSessions 1
# Log accounting to a detail file. %D is replaced by DbDir above
AcctLogFileName %L/%W_Detail-%Y%m%d.log
# Log for all authentication attemps
PasswordLogFileName %L/%W_Password-%Y%m%d.log
AuthByPolicy ContinueAlways
AccountingHandled
RejectHasReason
<AuthLog SQL>
DBSource dbi:ODBC:%{GlobalVar:MSSQLServer}
DBUsername %{GlobalVar:MSSQLUser}
DBAuth %{GlobalVar:MSSQLPassword}
Table xyzcom_authlog
Identifier xyzcomAuthLogID
SuccessQuery insert into xyzcom_authlog (TIME_STAMP, USERNAME,
TYPE, REASON, REQUESTPASSWORD, PRIORITY, EVENTTIME, NASIP, NASID,
NASIDENTIFIER, TESTTYPE, CORRECTPASSWORD) values (%t, '%n', 1, %1, '%P',
%0, '%G', '%N', %I, '%{Client:IDENTIFIER}', '%T', %3)
FailureQuery insert into xyzcom_authlog (TIME_STAMP, USERNAME,
TYPE, REASON, REQUESTPASSWORD, PRIORITY, EVENTTIME, NASIP, NASID,
NASIDENTIFIER, TESTTYPE, CORRECTPASSWORD) values (%t, '%n', 0, %1, '%P',
%0, '%G', '%N', %I, '%{Client:IDENTIFIER}', '%T', %3)
LogFailure 1
LogSuccess 1
</AuthLog>
<AuthBy SQL>
# SQLRecoveryFile is Version 3.8 or higher
SQLRecoveryFile %L/%W_SQLRecoveryFile
DBSource dbi:ODBC:%{GlobalVar:MSSQLServer}
DBUsername %{GlobalVar:MSSQLUser}
DBAuth %{GlobalVar:MSSQLPassword}
DateFormat '%b $d,%Y %H:%M:%S'
HandleAcctStatusTypes Start
AcctInsertQuery insert into %0(%1) values (%2)
AuthSelect
AccountingTable xyzcom_accounting
AcctColumnDef User_Name,User-Name
AcctColumnDef Start_Time,Timestamp
AcctColumnDef Stop_Time,Timestamp
AcctColumnDef State,State
AcctColumnDef Password,Password
AcctColumnDef Expiration,Expiration
AcctColumnDef Service_Type,Service-Type
AcctColumnDef Framed_Protocol,Framed-Protocol
AcctColumnDef Ascend_Assign_IP_Pool,Ascend-Assign-IP-Pool
AcctColumnDef Ascend_Idle_Limit,Ascend-Idle-Limit
AcctColumnDef Ascend_Maximum_Channels,Ascend-Maximum-Channels
AcctColumnDef Ascend_Minimum_Channels,Ascend-Minimum-Channels
AcctColumnDef Framed_IP_Address,Framed-IP-Address
AcctColumnDef Framed_IP_Netmask,Framed-IP-Netmask
AcctColumnDef NAS_IP_Address,NAS-IP-Address
AcctColumnDef NAS_Port,NAS-Port
AcctColumnDef NAS_Port_Type,NAS-Port-Type
AcctColumnDef Acct_Status_Type,Acct-Status-Type
AcctColumnDef Acct_Delay_Time,Acct-Delay-Time
AcctColumnDef Acct_Session_Id,Acct-Session-Id
AcctColumnDef Acct_Authentic,Acct-Authentic
AcctColumnDef Acct_Session_Time,Acct-Session-Time
AcctColumnDef Acct_Input_Octets,Acct-Input-Octets
AcctColumnDef Acct_Output_Octets,Acct-Output-Octets
AcctColumnDef Acct_Input_Packets,Acct-Input-Packets
AcctColumnDef Acct_Output_Packets,Acct-Output-Packets
AcctColumnDef Ascend_Disconnect_Cause,Ascend-Disconnect-Cause
AcctColumnDef Ascend_Connect_Progress,Ascend-Connect-Progress
AcctColumnDef Ascend_Xmit_Rate,Ascend-Xmit-Rate
AcctColumnDef Ascend_Data_Rate,Ascend-Data-Rate
AcctColumnDef Ascend_PreSession_Time,Ascend-PreSession-Time
AcctColumnDef Ascend_Pre_Input_Octets,Ascend-Pre-Input-Octets
AcctColumnDef Ascend_Pre_Output_Octets,Ascend-Pre-Output-Octets
AcctColumnDef Ascend_Pre_Input_Packets,Ascend-Pre-Input-Packets
AcctColumnDef Ascend_Pre_Output_Packets,Ascend-Pre-Output-Packets
AcctColumnDef Ascend_First_Dest,Ascend-First-Dest
AcctColumnDef Ascend_Multilink_ID,Ascend-Multilink-ID
AcctColumnDef Ascend_Num_In_Multilink,Ascend-Num-In-Multilink
AcctColumnDef Acct_Link_Count,Acct-Link-Count
AcctColumnDef Acct_Multi_Session_Id,Acct-Multi-Session-Id
AcctColumnDef Ascend_Modem_PortNo,Ascend-Modem-PortNo
AcctColumnDef Ascend_Modem_SlotNo,Ascend-Modem-SlotNo
AcctColumnDef Calling_Station_Id,Calling-Station-Id
AcctColumnDef Called_Station_Id,Called-Station-Id
AcctColumnDef CHAP_Password,CHAP-Password
AcctColumnDef Connect_Info,Connect-Info
AcctColumnDef Ascend_Handle_IPX,Ascend-Handle-IPX
AcctColumnDef NAS_Identifier,NAS-Identifier
AcctColumnDef CHAP_Challenge,CHAP-Challenge
AcctColumnDef Ascend_Netware_timeout,Ascend-Netware-timeout
AcctColumnDef Proxy_State,Proxy-State
AcctColumnDef Class,Class
AcctColumnDef Framed_Compression,Framed-Compression
AcctColumnDef Port_Limit,Port-Limit
AcctColumnDef Acct_Terminate_Cause,Acct-Terminate-Cause
AcctColumnDef CVX_SS7_Session_ID_Type,CVX-SS7-Session-ID-Type
AcctColumnDef CVX_Terminate_Cause,CVX-Terminate-Cause
AcctColumnDef Login_IP_Host,Login-IP-Host
AcctColumnDef User_Password,User-Password
AcctColumnDef Framed_Routing,Framed-Routing
AcctColumnDef Filter_Id,Filter-Id
AcctColumnDef Framed_MTU,Framed-MTU
AcctColumnDef Login_Service,Login-Service
AcctColumnDef Login_TCP_Port,Login-TCP-Port
AcctColumnDef Framed_Route,Framed-Route
AcctColumnDef Framed_IPX_Network,Framed-IPX-Network
AcctColumnDef Termination_Action,Termination-Action
AcctColumnDef Vendor_specific,Vendor-specific
AcctColumnDef Acct_Input_Gigawords,Acct-Input-Gigawords
AcctColumnDef Acct_Output_Gigawords,Acct-Output-Gigawords
AcctColumnDef Old_Password,Old-Password
AcctColumnDef Reply_Message,Reply-Message
AcctColumnDef Callback_Number,Callback-Number
AcctColumnDef Callback_ID,Callback-ID
AcctColumnDef User_Realm,User-Realm
AcctColumnDef CVX_Identification,CVX-Identification
AcctColumnDef Ascend_Source_Auth,Ascend-Source-Auth
AcctColumnDef Session_Authentic,Session-Authentic
AcctColumnDef Event_Timestamp,Event-Timestamp
AcctColumnDef cvx_ppp_inactivity_limit,CVX-PPP-Inactivity-Limit
AcctColumnDef GRIC_Timestamp,GRIC-Timestamp
AcctColumnDef Ascend_Modem_ShelfNo,Ascend-Modem-ShelfNo
AcctColumnDef Ascend_Owner_IP_Addr,Ascend-Owner-IP-Addr
AcctColumnDef Tunnel_Client_Endpoint,Tunnel-Client-Endpoint
AcctColumnDef Tunnel_Server_Endpoint,Tunnel-Server-Endpoint
AcctColumnDef Idle_Timeout,Idle-Timeout
AcctColumnDef Tunnel_Type,Tunnel-Type
AcctColumnDef Class_1,Class-1
AcctColumnDef Tunnel_ID,Tunnel-ID
AcctColumnDef Ascend_FR_Direct,Ascend-FR-Direct
AcctColumnDef CVX_VPOP_ID,CVX-VPOP-ID
AcctColumnDef CVX_Terminate_Component,CVX-Terminate-Component
AcctColumnDef Timestamp,Timestamp
</AuthBy>
<AuthBy SQL>
# SQLRecoveryFile is Version 3.8 or higher
SQLRecoveryFile %L/%W_SQLRecoveryFile
DBSource dbi:ODBC:%{GlobalVar:MSSQLServer}
DBUsername %{GlobalVar:MSSQLUser}
DBAuth %{GlobalVar:MSSQLPassword}
DateFormat '%b $d,%Y %H:%M:%S'
HandleAcctStatusTypes Stop
AcctInsertQuery update %0 set Acct_Status_Type =
'%{Acct-Status-Type}', \
Acct_Delay_Time = '%{Acct-Delay-Time}', Acct_Input_Octets =
'%{Acct-Input-Octets}', \
Acct_Output_Octets = '%{Acct-Output-Octets}', Acct_Authentic =
'%{Acct-Authentic}', \
Acct_Session_Time = '%{Acct-Session-Time}', Stop_Time =
'%{Timestamp}', \
Acct_Input_Packets = '%{Acct-Input-Packets}',
Acct_Output_Packets = '%{Acct-Output-Packets}', \
Acct_Terminate_Cause = '%{Acct-Terminate-Cause}', \
Ascend_Pre_Input_Octets = '%{Ascend-Pre-Input-Octets}', \
Ascend_Pre_Output_Octets = '%{Ascend-Pre-Output-Octets}',
Ascend_Pre_Input_Packets = '%{Ascend-Pre-Input-Packets}', \
Ascend_Pre_Output_Packets = '%{Ascend-Pre-Output-Packets}',
Ascend_Disconnect_Cause = '%{Ascend-Disconnect-Cause}', \
Ascend_Connect_Progress = '%{Ascend-Connect-Progress}',
Ascend_Data_Rate = '%{Ascend-Data-Rate}', \
Ascend_PreSession_Time = '%{Ascend-PreSession-Time}',
Ascend_Xmit_Rate = '%{Ascend-Xmit-Rate}', Realm = '%W' \
where Acct_Session_Id = '%{Acct-Session-Id}'
AuthSelect
AcctSQLStatement delete from RADONLINE where USERNAME = '%u'
AccountingTable xyzcom_accounting
AcctColumnDef User_Name,User-Name
AcctColumnDef Start_Time
AcctColumnDef Stop_Time,Timestamp
AcctColumnDef State,State
AcctColumnDef Password,Password
AcctColumnDef Expiration,Expiration
AcctColumnDef Service_Type,Service-Type
AcctColumnDef Framed_Protocol,Framed-Protocol
AcctColumnDef Ascend_Assign_IP_Pool,Ascend-Assign-IP-Pool
AcctColumnDef Ascend_Idle_Limit,Ascend-Idle-Limit
AcctColumnDef Ascend_Maximum_Channels,Ascend-Maximum-Channels
AcctColumnDef Ascend_Minimum_Channels,Ascend-Minimum-Channels
AcctColumnDef Framed_IP_Address,Framed-IP-Address
AcctColumnDef Framed_IP_Netmask,Framed-IP-Netmask
AcctColumnDef NAS_IP_Address,NAS-IP-Address
AcctColumnDef NAS_Port,NAS-Port
AcctColumnDef NAS_Port_Type,NAS-Port-Type
AcctColumnDef Acct_Status_Type,Acct-Status-Type
AcctColumnDef Acct_Delay_Time,Acct-Delay-Time
AcctColumnDef Acct_Session_Id,Acct-Session-Id
AcctColumnDef Acct_Authentic,Acct-Authentic
AcctColumnDef Acct_Session_Time,Acct-Session-Time
AcctColumnDef Acct_Input_Octets,Acct-Input-Octets
AcctColumnDef Acct_Output_Octets,Acct-Output-Octets
AcctColumnDef Acct_Input_Packets,Acct-Input-Packets
AcctColumnDef Acct_Output_Packets,Acct-Output-Packets
AcctColumnDef Ascend_Disconnect_Cause,Ascend-Disconnect-Cause
AcctColumnDef Ascend_Connect_Progress,Ascend-Connect-Progress
AcctColumnDef Ascend_Xmit_Rate,Ascend-Xmit-Rate
AcctColumnDef Ascend_Data_Rate,Ascend-Data-Rate
AcctColumnDef Ascend_PreSession_Time,Ascend-PreSession-Time
AcctColumnDef Ascend_Pre_Input_Octets,Ascend-Pre-Input-Octets
AcctColumnDef Ascend_Pre_Output_Octets,Ascend-Pre-Output-Octets
AcctColumnDef Ascend_Pre_Input_Packets,Ascend-Pre-Input-Packets
AcctColumnDef Ascend_Pre_Output_Packets,Ascend-Pre-Output-Packets
AcctColumnDef Ascend_First_Dest,Ascend-First-Dest
AcctColumnDef Ascend_Multilink_ID,Ascend-Multilink-ID
AcctColumnDef Ascend_Num_In_Multilink,Ascend-Num-In-Multilink
AcctColumnDef Acct_Link_Count,Acct-Link-Count
AcctColumnDef Acct_Multi_Session_Id,Acct-Multi-Session-Id
AcctColumnDef Ascend_Modem_PortNo,Ascend-Modem-PortNo
AcctColumnDef Ascend_Modem_SlotNo,Ascend-Modem-SlotNo
AcctColumnDef Calling_Station_Id,Calling-Station-Id
AcctColumnDef Called_Station_Id,Called-Station-Id
AcctColumnDef CHAP_Password,CHAP-Password
AcctColumnDef Connect_Info,Connect-Info
AcctColumnDef Ascend_Handle_IPX,Ascend-Handle-IPX
AcctColumnDef NAS_Identifier,NAS-Identifier
AcctColumnDef CHAP_Challenge,CHAP-Challenge
AcctColumnDef Ascend_Netware_timeout,Ascend-Netware-timeout
AcctColumnDef Proxy_State,Proxy-State
AcctColumnDef Class,Class
AcctColumnDef Framed_Compression,Framed-Compression
AcctColumnDef Port_Limit,Port-Limit
AcctColumnDef Acct_Terminate_Cause,Acct-Terminate-Cause
AcctColumnDef CVX_SS7_Session_ID_Type,CVX-SS7-Session-ID-Type
AcctColumnDef CVX_Terminate_Cause,CVX-Terminate-Cause
AcctColumnDef Login_IP_Host,Login-IP-Host
AcctColumnDef User_Password,User-Password
AcctColumnDef Framed_Routing,Framed-Routing
AcctColumnDef Filter_Id,Filter-Id
AcctColumnDef Framed_MTU,Framed-MTU
AcctColumnDef Login_Service,Login-Service
AcctColumnDef Login_TCP_Port,Login-TCP-Port
AcctColumnDef Framed_Route,Framed-Route
AcctColumnDef Framed_IPX_Network,Framed-IPX-Network
AcctColumnDef Termination_Action,Termination-Action
AcctColumnDef Vendor_specific,Vendor-specific
AcctColumnDef Acct_Input_Gigawords,Acct-Input-Gigawords
AcctColumnDef Acct_Output_Gigawords,Acct-Output-Gigawords
AcctColumnDef Old_Password,Old-Password
AcctColumnDef Reply_Message,Reply-Message
AcctColumnDef Callback_Number,Callback-Number
AcctColumnDef Callback_ID,Callback-ID
AcctColumnDef User_Realm,User-Realm
AcctColumnDef CVX_Identification,CVX-Identification
AcctColumnDef Ascend_Source_Auth,Ascend-Source-Auth
AcctColumnDef Session_Authentic,Session-Authentic
AcctColumnDef Event_Timestamp,Event-Timestamp
AcctColumnDef cvx_ppp_inactivity_limit,CVX-PPP-Inactivity-Limit
AcctColumnDef GRIC_Timestamp,GRIC-Timestamp
AcctColumnDef Ascend_Modem_ShelfNo,Ascend-Modem-ShelfNo
AcctColumnDef Ascend_Owner_IP_Addr,Ascend-Owner-IP-Addr
AcctColumnDef Tunnel_Client_Endpoint,Tunnel-Client-Endpoint
AcctColumnDef Tunnel_Server_Endpoint,Tunnel-Server-Endpoint
AcctColumnDef Idle_Timeout,Idle-Timeout
AcctColumnDef Tunnel_Type,Tunnel-Type
AcctColumnDef Class_1,Class-1
AcctColumnDef Tunnel_ID,Tunnel-ID
AcctColumnDef Ascend_FR_Direct,Ascend-FR-Direct
AcctColumnDef CVX_VPOP_ID,CVX-VPOP-ID
AcctColumnDef CVX_Terminate_Component,CVX-Terminate-Component
AcctColumnDef Timestamp,Timestamp
</AuthBy>
<AuthBy GROUP>
AuthByPolicy ContinueUntilReject
AuthBy RejectUsers
<AuthBy PORTLIMITCHECK>
SessionLimit 999999
CountQuery select Count(*) from RADONLINE where realm = '%W'
</AuthBy>
<AuthBy SQL>
# SQLRecoveryFile is Version 3.8 or higher
SQLRecoveryFile %L/%W_SQLRecoveryFile
DBSource dbi:ODBC:%{GlobalVar:MSSQLServer}
DBUsername %{GlobalVar:MSSQLUser}
DBAuth %{GlobalVar:MSSQLPassword}
DateFormat '%b $d,%Y %H:%M:%S'
AuthSelect select PASSWORD, CHECKATTR, REPLYATTR from
xyzcom_subscribers where USERNAME= %0
AuthColumnDef 0, User-Password, check
AuthColumnDef 1, GENERIC, check
AuthColumnDef 2, GENERIC, reply
AuthColumnDef 3, Session-Timeout, reply
DefaultSimultaneousUse 2
RejectEmptyPassword
</AuthBy>
</AuthBy GROUP>
</Realm>
-------- End Config (Include) ---------------------------------------
Thank You;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.open.com.au/pipermail/radiator/attachments/20050410/ec8fd035/attachment.html>
More information about the radiator
mailing list