On 03/06/2013 03:57 PM, Thomas Kurian wrote:

> 1. After receiving a accounting start packet , If (switched=false 
> ,type=Q and quotacounter> or = quotamax)
> The above values are to be compared with the current values of these 
> fields in a sql table called quotasubscribers (field names are 
> switched,type , quotacounter and quotamax).



> 2. If the above conditions matches, then a perl script is to be run . ( 
> Which type of hook is to be called when the scenario is "after an 
> accounting stack packet is received"?)

You could user PreProcessingHook or PostAuthHook in a Handler. The first
runs before the packet is processed, and e.g., before AcctSQLStatement
is run, and the second runs after AuthBy has done all its work.

> The following is my current radiator configuration (for reference with 
> the above) , kindly answer with respect to below and add required config 
> lines to the below config.

If PostAuthHook should do the work, the config would like this:


<Handler Request-Type = Accounting-Request>
  PreProcessingHook file:"/etc/radiator/createavpairs.pl"
  <AuthBy SQL>
    # ...
  </AuthBy>
  PostAuthHook file:"/etc/radiator/..."
</Handler>

Note: the order of parameters does not matter. Placing PostAuthHook
after the AuthBy clause is just to remind it runs *after* the AuthBy.
Likewise for PreProcessingHook which runs *before* the AuthBy.

If you want to use PreProcessingHook, you could move createavpairs to
e.g., ClientHook or just incorporate this code into your hook.

Thanks,
Heikki



> AcctPort 1813
> BindAddress 0.0.0.0
> 
> LogDir /var/log/radius
> DbDir /etc/radiator
> # Use a low trace level in production systems. Increase
> # it to 4 or 5 for debugging, or use the -trace flag to radiusd
> Trace 4
> 
> # You will probably want to add other Clients to suit your work site,
> # one for each NAS you want to work with
> 
> 
> <Client DEFAULT>
> Secret XXXX
> DupInterval 0
> </Client>
> 
> 
> <Client 10.50.1.4>
> Secret XXXX
> DupInterval 0
> NasType Cisco
> IgnoreAcctSignature
> </Client>
> 
> # Accept processing of other accounting requests of the genre stop
> 
> 
> <Handler Request-Type = Accounting-Request>
> PreProcessingHook file:"/etc/radiator/createavpairs.pl"
> <AuthBy SQL>
> 
> DBSource dbi:ODBC:IRONMAN
> DBUsername XXXXX
> DBAuth XXXX
> 
> 
> #AccountingStopsOnly
> AccountingTable ACCOUNTING
> AcctColumnDef USERNAME, User-Name
> AcctColumnDef ACCTSTATUSTYPE,Acct-Status-Type
> AcctColumnDef FRAMEDIPADDRESS,Framed-IP-Address
> AcctColumnDef ACCTINPUTOCTETS,Acct-Input-Octets,integer
> AcctColumnDef ACCTOUTPUTOCTETS,Acct-Output-Octets,integer
> AcctColumnDef TIME_STAMP,Event-Timestamp,integer-date
> AcctColumnDef ACCTSESSIONTIME,Acct-Session-Time,integer
> AcctColumnDef ACCTDELAYTIME,Acct-Delay-Time,integer
> AcctColumnDef ACCTSESSIONID,Acct-Session-Id
> AcctColumnDef ACCTTERMINATECAUSE,Acct-Terminate-Cause
> AcctColumnDef NASIDENTIFIER,NAS-Identifier
> AcctColumnDef NASPORT,NAS-Port,integer
> AcctColumnDef PARENTSESSIONID,parent-session-id
> 
> AcctSQLStatement update quotasubscribers set monthlycounter = 
> monthlycounter + 0%{Acct-Output-Octets}, totalcounter = totalcounter + 
> 0%{Acct-Output-Octets}, timestamp = %{Event-Timestamp} \
> where username='%n' \
> And Type = 'Q'
> 
> 
> 
> </AuthBy>
> #Log accounting to a detail file
> AcctLogFileName %L/detail
> 
> 
> </Handler>
> 
> 
> 
> 
> <Handler Request-Type=Disconnect-Request>
> <AuthBy RADIUS>
> 
> <Host 10.50.1.4>
> Secret XXXX
> </Host>
> </AuthBy>
> </Handler>
> 


-- 
Heikki Vatiainen <[email protected]>

Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
TTLS, PEAP, TNC, WiMAX, RSA, Vasco, Yubikey, MOTP, HOTP, TOTP,
DIAMETER etc. Full source on Unix, Windows, MacOSX, Solaris, VMS,
NetWare etc.
_______________________________________________
radiator mailing list
[email protected]
http://www.open.com.au/mailman/listinfo/radiator

Reply via email to