Dear All,

We are facing a problem due to which radiator session hangs. Actually i 
m executing few AcctSqlStatement for inserting some values in Database. 
When calculation goes to infinity like (2/3 or 1/3) ... radiator gives 
over flow error ... the other thing is that we are facing this error in 
Radiator-3.0 not in Radiator 2.17 ... I m attaching the error and our 
config file with this mail.

waiting for replies 

Mushtaque.

_______
This email and any files transmitted with it are confidential and are 
intended solely for the use of the individual or entity to which they 
are addressed. This communication represents the originator's personal 
views and opinions, which do not necessarily reflect those of eWorld 
(Pvt) Ltd. If you are not the original  / intended recipient or the 
person responsible for delivering the email to the intended recipient, 
be advised that you have received this email in error, and that any 
use, dissemination, forwarding, printing, or copying of this email is 
strictly prohibited. If you have received this email in error, we 
regret the inconvenience and request you to please immediately notify 
at [EMAIL PROTECTED] 
Sat Nov 23 13:05:41 2002: DEBUG: Handling request with Handler 'Realm=DEFAULT'
Sat Nov 23 13:05:41 2002: DEBUG:  Deleting session for nawaz32, 202.63.217.241, 47
Sat Nov 23 13:05:41 2002: DEBUG: Handling with Radius::AuthEMERALD
Sat Nov 23 13:05:41 2002: DEBUG: Handling accounting with Radius::AuthEMERALD
Sat Nov 23 13:05:41 2002: DEBUG: do query is: update scratchcustomer set 
timeleft=timeleft-('015553'/60) where scratchcustomer.username ='nawaz32'

Sat Nov 23 13:05:41 2002: DEBUG: do query is: update scratchcustomer set 
expire_date=dateadd(m,1,getdate()),expirevalue=1,activation_date=getdate() where 
username='nawaz32' and expirevalue=0

Sat Nov 23 13:05:41 2002: DEBUG: do query is: update customer set 
amount=amount-('015553'/3600.00)*Monthlyprice from e30TimeYearly,customer where 
customer.username ='nawaz32' and customer.accttype='e30TimeYearly'

Sat Nov 23 13:05:42 2002: ERR: do failed for 'update customer set 
amount=amount-('015553'/3600.00)*Monthlyprice from e30TimeYearly,customer where 
customer.username ='nawaz32' and customer.accttype='e30TimeYearly'': [Microsoft][ODBC 
SQL Server Driver][SQL Server]Arithmetic overflow error converting numeric to data 
type numeric. (SQL-22003)
[Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated. 
(SQL-01000)(DBD: st_execute/SQLExecute err=-1)
Sat Nov 23 13:06:05 2002: DEBUG: Adding Clients from SQL database
Sat Nov 23 13:06:05 2002: DEBUG: Query is: select IPAddress,secret from Servers

Sat Nov 23 13:06:05 2002: INFO: Server started: Radiator 3.0 on development
Sat Nov 23 13:06:21 2002: DEBUG: Packet dump:
#RunAsDaemon: yes
# emerald.cfg
#
# Example Radiator configuration file that allows you to
# authenticate from and store accounting to the Emerald database
# from IEA (see http://www.iea-software.com), or from
# Platypus (see www.platypus.com) from Boradtown when running
# the RadiusNT compatibility mode.
# Caution: this config file and AuthBy EMERALD will not work with
# non-standard dictionary file.
#
# You should consider this file to be a starting point only
# $Id: emerald.cfg,v 1.5 2000/08/21 04:33:08 mikem Exp $

#DateFormat %b %e, %Y %H:%M:%S
Foreground
LogStdout
DbDir           .
LogDir          .
LogFile         ./detail
Trace           4

# You will probably want to change this to suit your site.
<Client DEFAULT>
        Secret  ****
        IgnoreAcctSignature
        DupInterval 2
        FramedGroupBaseAddress ***** 
</Client>

<AuthBy FILE>
                DefaultSimultaneousUse 1
                Filename %D/users
                Nocache 
                Identifier ID_1
</AuthBy>

        <AuthBy EMERALD>
                # Change DBSource, DBUsername, DBAuth for your database
                # See the reference manual
                
                # Default username and password for Platypus
                
                # Typical username and password for Emerald. Make
                # sure that you have added the users, and made their
                # default database the Emerald database
#               DBUsername      emeralduser
#               DBAuth          emeralduser

                # You can add to or change these if you want.
                DBSource        dbi:ODBC:****
                DBUsername      *******
                DBAuth          *********       
                AccountingTable Calls
                AcctColumnDef   UserName,User-Name
                AcctColumnDef   CallDate,Timestamp,integer-date
                AcctColumnDef   AcctStatusType,Acct-Status-Type,integer
                AcctColumnDef   AcctDelayTime,Acct-Delay-Time,integer
                AcctColumnDef   AcctInputOctets,Acct-Input-Octets,integer
                AcctColumnDef   AcctOutputOctets,Acct-Output-Octets,integer
                AcctColumnDef   AcctSessionId,Acct-Session-Id
                AcctColumnDef   AcctSessionTime,Acct-Session-Time,integer
                AcctColumnDef   AcctTerminateCause,Acct-Terminate-Cause,integer
                AcctColumnDef   NASIdentifier,NAS-Identifier
                AcctColumnDef   NASIdentifier,NAS-IP-Address
                AcctColumnDef   CallerID,Calling-Station-Id
                AcctColumnDef   NASPort,NAS-Port,integer  
        #       AcctColumnDef   FramedIPAddress,Framed-IP-Address
                AddToReply      Service-Type=Framed-User 
                DefaultSimultaneousUse 1
                Identifier ID_0
                # You can use this to force Radiator to limit 
                # maximum session times to how many minutes     
                # are left in subaccounts.timeleft
                TimeBanking
                
                # You can optionally honour the LoginLimit
                # column in the emerald database 
                # or any other column like this:
                AuthSelect ,sa.LoginLimit
              AuthColumnDef 0,Simultaneous-Use, check
                # Therefore you can add support for any number
                # of additional columns, if you wish.
                # Note that Platypus fixes LoginLimit at 1, so
                # if you enable this with Platypus, all your
                # users will be forced to a Sumultaneous-Use limit
                # of 1
            
AcctSQLStatement update scratchcustomer set 
timeleft=timeleft-('0%{Acct-Session-Time}'/60) where scratchcustomer.username ='%n' 

AcctSQLStatement update scratchcustomer set 
expire_date=dateadd(m,1,getdate()),expirevalue=1,activation_date=getdate() where 
username='%n' and expirevalue=0

#AcctSQLStatement update customer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*monthlyprice from 
PriceCalculationMonthly,customer where customer.username ='%n' and 
customer.accttype='eTimeMonthly'

#AcctSQLStatement update customer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
e15TimeMonthly,customer where customer.username ='%n' and 
customer.accttype='e15TimeMonthly'

#AcctSQLStatement update customer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
e30TimeMonthly,customer where customer.username ='%n' and 
customer.accttype='e30TimeMonthly'

#AcctSQLStatement update customer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
e60TimeMonthly,customer where customer.username ='%n' and 
customer.accttype='e60TimeMonthly'

#AcctSQLStatement update customer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
e90TimeMonthly,customer where customer.username ='%n' and 
customer.accttype='e90TimeMonthly'

AcctSQLStatement update customer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
e30TimeYearly,customer where customer.username ='%n' and 
customer.accttype='e30TimeYearly'

AcctSQLStatement update customer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
e60TimeYearly,customer where customer.username ='%n' and 
customer.accttype='e60TimeYearly'

AcctSQLStatement update customer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
e90TimeYearly,customer where customer.username ='%n' and 
customer.accttype='e90TimeYearly'

AcctSQLStatement update customer set 
bw=bw-('0%{Acct-Input-Octets}')+('0%{Acct-Output-Octets}')  where customer.username 
='%n' and customer.accttype='eBandwidth'
#AcctSQLStatement update scratchcustomer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
escratch5,scratchcustomer where scratchcustomer.username ='%n' and 
scratchcustomer.accttype='eScratch5'

#AcctSQLStatement update scratchcustomer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
escratch15,scratchcustomer where scratchcustomer.username ='%n' and 
scratchcustomer.accttype='eScratch15'


AcctSQLStatement update scratchcustomer set 
amount=amount-('0%{Acct-Session-Time}'/3600.00)*Monthlyprice from 
escratch30,scratchcustomer where scratchcustomer.username ='%n' and 
scratchcustomer.accttype='eScratch30'

</AuthBy>

<Log EMERALD>
        # These should probably be the same as for your AuthBy EMERALD
        DBSource        dbi:ODBC:****
        DBUsername      ******
        DBAuth          **********
        DateFormat %b %e, %Y %H:%M:%S
</Log>

<ClientListSQL>
        DBSource        dbi:ODBC:****
        DBUsername      ***********
        DBAuth          **********       
        GetClientQuery select IPAddress,secret from Servers
</ClientListSQL>

# <AuthBy NT>
                # You must set the domain name here to suit your site:
#               Domain Domain

                # ON NT, optionally specify the name of the 
                # Primary Domain Controller, including the leading
                # \\ slashes, to override the default domain controller
                # for the domain you specified above
#               DomainController \\64.86.172.39

                # On Unix, you MUST specify the Domain Controller
                # name as the NT host name of the domain controller: 
                # its not optional. This needs to be set to the NT
                # name of the Primary Domain Controller, and further
                # the NT name must be in the Unix hosts or DNS
                # DomainController romeo

                # On NT, you can optionally check the 
                # "Grant dialin permission to user" flag in the 
                # user manager. Requires the 
                # Win32-RasAdmin Perl package to be installed first
                # HonourDialinPermission

                # This will set up some standard reply items for
                # your NAS, you may need others for your NAS
#               DefaultReply 
Service-Type=Framed-User,Framed-Protocol=PPP,Framed-IP-Address = 64.86.45.250,
#               Identifier ID_2
# </AuthBy>

<Realm DEFAULT>
  AuthBy ID_0
  AuthBy ID_1
# AuthBy ID_2
  AuthByPolicy ContinueUntilAccept
  RejectHasReason 
  SessionDatabase
</Realm>

Reply via email to