Jack,

    Below you will find my config (no IP or secrets).  It should be of
some help to you.  I hope you can modify it to your needs.  :)

-Ronan

##Globabl Config Options###

DbDir /usr/local/Radiator
DictionaryFile %D/dictionary
#FingerProg /usr/bin/finger
LivingstonHole 1
LivingstonOffs 22
LogDir /usr/log/radius
LogFile %L/radius.log
#PmwhoProg /usr/local/sbin/pmwho
SnmpgetProg /usr/local/bin/snmpget
Trace 4
#AuthPort 1812
#AcctPort 1813

<Client localhost>
  Description Local Test
  DupInterval 0
  Secret xxxxxxxxx
</Client>

<Client xxx.xxx.xxx>
  Description Check Customer Time
  DupInterval 0
  Secret xxxxxxxxx
  DefaultRealm checktime
</Client>

<Client xxx.xxx.xxx>
  Description Lucent PM3
  DupInterval 2
  NasType Livingston
  Secret xxxxxxxxx
</Client>

<Client xxx.xxx.xxx>
  Description Lucent PM3
  DupInterval 2
  NasType Livingston
  Secret xxxxxxxxx
</Client>

<Client xxx.xxx.xxx>
  Description Lucent PM3
  DupInterval 2
  NasType Livingston
  Secret xxxxxxxxx
</Client>

<Client xxx.xxx.xxx>
  Description Lucent PM3
  DupInterval 2
  Secret xxxxxxxxx
</Client>

<Client xxx.xxx.xxx>
  Description Cisco AS5300 Access Server
  DupInterval 2
  NasType Cisco
  Secret xxxxxxxxx
</Client>

##AuthBy Clauses##

<AuthBy SQL>
        Identifier SUBSCRIBERS
        DBSource dbi:mysql:radius:xxx.xxx.xxx
        DBUsername xxxxxxxxx
        DBAuth xxxxxxxxx
        DefaultSimultaneousUse 1
        Description Database to use to authenticate users
        FailureBackoffTime 5
        Timeout 20
        AuthSelect select PASSWORD,PORTLIMIT,STATICIP,SIMLOGIN from
SUBSCRIBERS where USERNAME='%n' AND ACTIVE='Y'
# AuthSelect select PASSWORD from SUBSCRIBERS where USERNAME='%n'
        AuthColumnDef 0,User-Password,check
        AuthColumnDef 1,Port-Limit,reply
        AuthColumnDef 2,Framed-IP-Address,reply
        AuthColumnDef 3,Simultaneous-Use,check
        AccountingTable ACCOUNTING
        AcctColumnDef USERNAME,User-Name
        AcctColumnDef TIME_STAMP,Timestamp,integer-date
        AcctColumnDef ACCTSTATUSTYPE,Acct-Status-Type
        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
        AcctColumnDef NASIDENTIFIER,NAS-IP-Address
        AcctColumnDef NASPORT,NAS-Port,integer
        AcctColumnDef NASPORTTYPE,NAS-Port-Type
        AcctColumnDef CONNECTRATE,Connect-Info
        AcctColumnDef FRAMEDIPADDRESS,Framed-IP-Address
        AcctColumnDef SERVICETYPE,Service-Type
        AcctColumnDef CALLINGSTATIONID,Calling-Station-Id
        AcctColumnDef CALLEDSTATIONID,Called-Station-Id
        AddToReply Service-Type="Framed-User", \
        Framed-Protocol="PPP", \
        Framed-IP-Netmask = 255.255.255.255
        AddToReply Class = SUBSCRIBERS

</AuthBy>

<AuthBy SQL>
        Identifier LIMITED_20HRS
        DBSource dbi:mysql:radius:xxx.xxx.xxx
        DBUsername xxxxxxxxx
        DBAuth xxxxxxxxx
        DefaultSimultaneousUse 1
        Description Database to use to authenticate 20 Hour users
        FailureBackoffTime 5
        Timeout 10
        AuthSelect select PASSWORD,PORTLIMIT,STATICIP,SIMLOGIN,TIMELEFT
from LIMITED_20HRS where USERNAME='%n' AND ACTIVE='Y'
        AuthColumnDef 0,User-Password,check
        AuthColumnDef 1,Port-Limit,reply
        AuthColumnDef 2,Framed-IP-Address,reply
        AuthColumnDef 3,Simultaneous-Use,check
        AuthColumnDef 4,Session-Timeout,reply
        AccountingTable ACCOUNTING
        AcctColumnDef USERNAME,User-Name
        AcctColumnDef TIME_STAMP,Timestamp,integer-date
        AcctColumnDef ACCTSTATUSTYPE,Acct-Status-Type
        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
        AcctColumnDef NASIDENTIFIER,NAS-IP-Address
        AcctColumnDef NASPORT,NAS-Port,integer
        AcctColumnDef NASPORTTYPE,NAS-Port-Type
        AcctColumnDef CONNECTRATE,Connect-Info
        AcctColumnDef FRAMEDIPADDRESS,Framed-IP-Address
        AcctColumnDef SERVICETYPE,Service-Type
        AcctColumnDef CALLINGSTATIONID,Calling-Station-Id
        AcctColumnDef CALLEDSTATIONID,Called-Station-Id
        AcctSQLStatement update LIMITED_20HRS set
TIMELEFT=TIMELEFT-'%{Acct-Session-Time}' where USERNAME='%n' 
        AddToReply Service-Type="Framed-User", \
        Framed-Protocol="PPP", \
        Framed-IP-Netmask = 255.255.255.255
        AddToReply Class = LIMITED_20HRS

</AuthBy>

<AuthBy SQL>
        Identifier LIMITED_30HRS
        DBSource dbi:mysql:radius:xxx.xxx.xxx
        DBUsername xxxxxxxxx
        DBAuth xxxxxxxxx
        DefaultSimultaneousUse 1
        Description Database to use to authenticate 30 Hour users
        FailureBackoffTime 5
        Timeout 10
        AuthSelect select PASSWORD,PORTLIMIT,STATICIP,SIMLOGIN,TIMELEFT
from LIMITED_30HRS where USERNAME='%n' AND ACTIVE='Y'
        AuthColumnDef 0,User-Password,check
        AuthColumnDef 1,Port-Limit,reply
        AuthColumnDef 2,Framed-IP-Address,reply
        AuthColumnDef 3,Simultaneous-Use,check
        AuthColumnDef 4,Session-Timeout,reply
        AccountingTable ACCOUNTING
        AcctColumnDef USERNAME,User-Name
        AcctColumnDef TIME_STAMP,Timestamp,integer-date
        AcctColumnDef ACCTSTATUSTYPE,Acct-Status-Type
        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
        AcctColumnDef NASIDENTIFIER,NAS-IP-Address
        AcctColumnDef NASPORT,NAS-Port,integer
        AcctColumnDef NASPORTTYPE,NAS-Port-Type
        AcctColumnDef CONNECTRATE,Connect-Info
        AcctColumnDef FRAMEDIPADDRESS,Framed-IP-Address
        AcctColumnDef SERVICETYPE,Service-Type
        AcctColumnDef CALLINGSTATIONID,Calling-Station-Id
        AcctColumnDef CALLEDSTATIONID,Called-Station-Id
        AcctSQLStatement update LIMITED_30HRS set
TIMELEFT=TIMELEFT-'%{Acct-Session-Time}' where USERNAME='%n' 
        AddToReply Service-Type="Framed-User", \
        Framed-Protocol="PPP", \
        Framed-IP-Netmask = 255.255.255.255
        AddToReply Class = LIMITED_30HRS

</AuthBy>

##Authentication Log##

<AuthLog FILE>
        Identifier AuthLog
        Filename %L/authlog
        LogSuccess 0
        LogFailure 1
        SuccessFormat %l:%U:%P:OK:%1:%{Calling-Station-Id} 
        FailureFormat %l:%U:%P:FAIL:%1:%{Calling-Station-Id} 
</AuthLog>

##Handlers for handling Accounting Requests##

<Handler Request-Type = Accounting-Request, Class = SUBSCRIBERS>
        Description Handler for Handling Accounting Requests for
SUBSCRIBERS
        RewriteUsername s/^([^@]+).*/$1/
        AuthBy  SUBSCRIBERS
</Handler>

<Handler Request-Type = Accounting-Request, Class = LIMITED_20HRS>
        Description Handler for Handling Accounting Requests for
LIMITED_20HRS
        RewriteUsername s/^([^@]+).*/$1/
        AuthBy  LIMITED_20HRS
</Handler>

<Handler Request-Type = Accounting-Request, Class = LIMITED_30HRS>
        Description Handler for Handling Accounting Requests for
LIMITED_30HRS
        RewriteUsername s/^([^@]+).*/$1/
        AuthBy  LIMITED_30HRS
</Handler>

##Handler for Authentication##

<Handler>

        Description Default Handler for authenticating users
        RejectHasReason 
        RewriteUsername s/^([^@]+).*/$1/
        SessionDatabase RADONLINE
        AuthLog AuthLog
        AuthByPolicy ContinueWhileReject
        AuthBy  SUBSCRIBERS
        AuthBy  LIMITED_20HRS
        AuthBy  LIMITED_30HRS

</Handler>

##Realms##

<Realm checktime>
  Description Realm for users to check their time
  RejectHasReason
  RewriteUsername s/^([^@]+).*/$1/
  AuthByPolicy ContinueWhileReject
  AccountingHandled
  
        <AuthBy SQL>
                Identifier CheckTime-SUBSCRIBERS
                DBSource dbi:mysql:radius:xxx.xxx.xxx
                DBUsername xxxxxxxxx
                DBAuth xxxxxxxxx
                Description Database to use to authenticate users
                FailureBackoffTime 5
                Timeout 10
                AuthSelect select PASSWORD from SUBSCRIBERS where
USERNAME='%n'
                AuthColumnDef 0,User-Password,check

        </AuthBy>

        <AuthBy SQL>
                Identifier CheckTime-LIMITED_20HRS
                DBSource dbi:mysql:radius:xxx.xxx.xxx
                DBUsername xxxxxxxxx
                DBAuth xxxxxxxxx
                Description Database to use to authenticate 20 Hour
users
                FailureBackoffTime 5
                Timeout 10
                AuthSelect select PASSWORD from LIMITED_20HRS where
USERNAME='%n'
                AuthColumnDef 0,User-Password,check

        </AuthBy>

        <AuthBy SQL>
                Identifier CheckTime-LIMITED_30HRS
                DBSource dbi:mysql:radius:xxx.xxx.xxx
                DBUsername xxxxxxxxx
                DBAuth xxxxxxxxx
                Description Database to use to authenticate 30 Hour
users
                FailureBackoffTime 5
                Timeout 10
                AuthSelect select PASSWORD from LIMITED_30HRS where
USERNAME='%n'
                AuthColumnDef 0,User-Password,check

        </AuthBy>

</Realm>


##Session Database##

<SessionDatabase SQL>
AddQuery insert into RADONLINE (USERNAME, NASIDENTIFIER, NASPORT,
CONNECTRATE, ACCTSESSIONID, TIME_STAMP, FRAMEDIPADDRESS, NASPORTTYPE,
SERVICETYPE, CALLINGSTATIONID, CALLEDSTATIONID) values ('%u', '%N',
0%{NAS-Port}, '%{Connect-Info}', '%{Acct-Session-Id}', '%o',
'%{Framed-IP-Address}', '%{NAS-Port-Type}', '%{Service-Type}',
'%{Calling-Station-Id}', '%{Called-Station-Id}')
ClearNasQuery delete from RADONLINE where NASIDENTIFIER='%N'
CountNasSessionsQuery select ACCTSESSIONID from RADONLINE where
NASIDENTIFIER='%N'
CountQuery select NASIDENTIFIER, NASPORT, ACCTSESSIONID from RADONLINE
where USERNAME='%u'
DBSource dbi:mysql:radius:xxx.xxx.xxx
DBUsername xxxxxxxxx
DBAuth xxxxxxxxx
DeleteQuery delete from RADONLINE where NASIDENTIFIER='%N' and
NASPORT=0%{NAS-Port}
Description Database of currently online sessions (users)
FailureBackoffTime 5
Identifier RADONLINE
</SessionDatabase>




-----Original Message-----
From: Jaskaran Singh [mailto:[EMAIL PROTECTED]] 
Sent: Friday, 07 June, 2002 15:43
To: 'Ronan Eckelberry'
Subject: RE: (RADIATOR) TimeBanking


Hello Ronan
 I would like to take you up on your offer, if you could send me your
config file with the secrets taken out .
Thanks
Jack
 
-----Original Message-----
From: Ronan Eckelberry [mailto:[EMAIL PROTECTED]] 
Sent: Thursday, May 30, 2002 6:33 PM
To: 'Jaskaran Singh'; [EMAIL PROTECTED]
Subject: RE: (RADIATOR) TimeBanking
 
Jack,
 
    Take a look at the mailing list archives and look for
"AcctSQLStatement"  You should find quite a few in there matching what
you are looking for.  That is the statement that is mostly used to
"update" the MySQL row when the user logs off.....If you cannot see what
you are looking for, I can send my config (Secrets and Addresses removed
to protect the guilty), and you may be able to go off of it.  I would
recommend checking the archives first though.  There is SOOOOOO much
info in there from Hugh and the other contributors.  Also, as Hugh said,
the goodies directory has a lot in it, particularly the
"/goodies/blocktime.txt" example.
 
 
-Ronan
 
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On
Behalf Of Jaskaran Singh
Sent: Thursday, 30 May, 2002 15:58
To: [EMAIL PROTECTED]
Subject: (RADIATOR) TimeBanking
Hi,
Could anyone please lead me in the direction of the documentation as to
how to setup a maximum time and time left for a user in mysql database.
Thanks 
Jack

===
Archive at http://www.open.com.au/archives/radiator/
Announcements on [EMAIL PROTECTED]
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.

Reply via email to