(RADIATOR) time-based access and radiator
Ayotunde Itayemi
aitayemi at metrong.com
Thu Apr 3 07:13:14 CST 2003
Hi All, Hi Hugh,
Seems like I am having a major brain block.
I am trying to implement a config which allows both time-based (prepaid) access
and unlimited access (just two options). The description of my subscribers table is given
below.
I am having problems configuring radiator. Simply stated what I want it as follows:
a user attempts to connect:
1. radiator checks subscribers table to see if he is prepaid -in which case it returns a
the amount of time (in secs) left as the max amount of time the user can stay online
to the NAS/RAS otherwise (the user is allowed unlimited access)
Of course if the TIMELEFT field is zero for prepaid client, the user is not allowed to connect.
2. when the user disconnects (if prepaid, his TIMELEFT field is reduced by the amount
of time he stayed online) - this does not affect "unlimited" clients or else there would be
negative values in the TIMELEFT column
I have attached my proposed radius config file which i am sure is far from being complete or correct.
I think the above should be simple but I cant seem to get my mind around it.
Other issue is that I have to get the accouting data back into my accouting package called optigold.
I was thinking of getting the radius parser file from optigold to parse the radius accounting logfile.
Any suggestions/ideas will be appreciated. Is there anybody on this list using radiator and optigold
for acccouting etc?
Hope to hear from you very soon.
Thanks.
Tunde Itayemi.
==============================================================
USERNAME varchar(100) primary key,-- Users login name, including realm
PASSWORD varchar(30), -- Cleartext password
CHECKATTR varchar(200), -- Optional check radius attributes
REPLYATTR varchar(200), -- Optional reply radius attributes
TIMELEFT int,
ISPREPAID int, -- 0 for unlimited and 1 for prepaid
EMAILATTR varchar(200),
STATUS varchar(10), -- Optional (used for enable/disable)
FULLNAME varchar(60) -- Optional user fullname
==============================================================
<SessionDatabase SQL>
Identifier SDB1
DBSource dbi:Oracle:radius00
DBUsername
DBAuth
DeleteQuery
</SessionDatabase>
# =================== CLIENTs =================================
<Client x.x.x.x>
Secret patt123
DupInterval 0
NasType Patton
SNMPCommunity public
Identifier pattonrases
</Client>
<Client b.b.b.b>
# (surgemail) mail server
Secret surge at mail!
DupInterval 0
Identifier mailserver
</Client>
# =================== AUTH BYs =================================
<AuthBy SQL>
Identifier SQLClientauth
NoDefault
DBSource dbi:Oracle:radius11
DBUsername
DBAuth
AuthSelect select PASSWORD, TIMELEFT*ISPREPAID from SUBSCRIBERS \
where USERNAME='%n' and (TIMELEFT > 0 or ISPREPAID=0) and STATUS = 'Enabled'
AuthColumnDef 0, User-Password, check
AuthColumnDef 1, GENERIC, check
AuthColumnDef 2, GENERIC, check
AutoMPPEKeys Yes
DefaultSimultaneousUse 1
</Auth>
<AuthBy SQL>
Identifier SQLmailauth
NoDefault
DBSource dbi:Oracle:radius00
DBUsername nitelradius
DBAuth radius4nitel
AuthSelect select PASSWORD, CHECKATTR, EMAILATTR \
from SUBSCRIBERS where USERNAME = '%n'
AuthColumnDef 0, User-Password, check
AuthColumnDef 1, GENERIC, check
AuthColumnDef 2, Vendor-Specific, reply
DefaultSimultaneousUse 1
</Auth>
#=================== HANDLERs ================================
<Handler Client-Identifier=pattonrases>
AuthByPolicy ContinueWhileAccept
RewriteUsername s/^([^@]+).*/$1/
RewriteUsername tr/A-Z/a-z/
UsernameCharset a-zA-Z0-9\._ at -
AcctLogFileName %L/account.log
PasswordLogFileName %L/password.log
SessionDatabase SDB1
AuthBy SQLClientauth
# Adjust the time left when they log out
AccountingStopsOnly
AcctSQLStatement update SUBSCRIBERS set TIMELEFT=TIMELEFT-0%{Acct-Session-Time} \
where USERNAME='%n' and ISPREPAID = 1
</Handler>
<Handler Client-Identifier=mailserver>
AuthByPolicy ContinueWhileAccept
RewriteUsername tr/A-Z/a-z/
UsernameCharset a-zA-Z0-9\._ at -
AuthBy SQLmailauth
</Handler>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.open.com.au/pipermail/radiator/attachments/20030403/6e0e5bef/attachment.html>
More information about the radiator
mailing list