(RADIATOR) weird setup

Hugh Irvine hugh at open.com.au
Mon Oct 21 05:28:52 CDT 2002


Hello Bogdan -

You will need to write a PostAuthHook to do what you describe.

There are some example hooks in the file "goodies/hooks.txt" in the 
Radiator 3.3.1 distribution.

regards

Hugh


On Monday, October 21, 2002, at 07:42 PM, Bogdan TARU wrote:

>
>
> 	Hi Hugh & all,
>
>  Unfortunately, my problem is getting complicated. I need a setup like:
> the DEFAULT user gets a random value for the Session-Timeout, and all 
> the
> other users have a defined Session-Timeout value.
>
>  Up until now, I made something like:
>
>  select concat (attribute,round((rand()*540)+60)) from users where \
> 	user='%0'
>
>  to get the random value. But now, I don't know how to implement the 
> new
> scenario... I thought about making two entries,
>
> User	|	Attribute
> -----------------------------------------------------------------
> DEFAULT | Service-Type=Framed-User,Framed-Protocol=PPP
> -----------------------------------------------------------------
> user1	| 
> Service-Type=Framed-User,Framed-Protocol=PPP,Session-Timeout=3600
>
>
>  But I really don't have any idea on how to add a random value to 
> Default
> (AddToReplyIfNotExist doesn't accept perl functions or sql statements 
> in
> it, does it?
>
>  Could you give me some ideas about this?
>
>  Thanks,
>  bogdan
>
>
> ----------------------------
> iCom Media AG
> Kirchweg 36
> Koln, 50858
> Germany
>
> Phone: +49-(0)221-485-689-16
> Fax  : +49-(0)221-485-689-20
> Mobile:+49-(0)173-906-46-01
>
> On Fri, 18 Oct 2002, Hugh Irvine wrote:
>
>>
>> Hello Bogdan -
>>
>> I would use a DEFAULT entry together with the specific users in your
>> database:
>>
>> USERNAME		REPLYATTRS
>>
>> DEFAULT			Session-Timeout=2700
>>
>> userb			Session-Timeout=3600
>>
>> userc			........
>>
>>
>> Then your Radiator configuration file would look like this:
>>
>> # define Realm or Handler
>>
>> <Realm ....>
>> 	<AuthBy SQL>
>> 		DBSource .....
>> 		DBUsername ....
>> 		DBAuth ....
>>
>> 		AuthSelect select REPLYATTRS from USERS where USERNAME = %0
>>
>> 		AuthColumnDef 0, GENERIC, reply
>>
>> 		AddToReply Service-Type = Framed-User, \
>> 			Framed-Protocol = PPP
>>
>> 	</AuthBy>
>> </Realm>
>>
>> If the user is found directly, the REPLYATTRS for that user will be
>> used, if the user is not found, a second lookup for "DEFAULT" will be
>> done automatically.
>>
>> If you have any other questions, please don't hesitate to ask.
>>
>> regards
>>
>> Hugh
>>
>>
>> On Friday, October 18, 2002, at 03:07 AM, Bogdan TARU wrote:
>>
>>>
>>> 	Hi guys,
>>>
>>>  I have a weirdo requirement and don't know how to implement it in 
>>> the
>>> radiator. So this were the requirements up until now:
>>>
>>> 1. all users should go through. No authentification is done.
>>> 2. the users should be disconnected after, let's say, 45 minutes
>>>
>>>  That mean I had a row in a mysql database saying:
>>>
>>> User | attribute
>>> dc   |
>>> Service-Type=Framed-User,Framed-Protocol=PPP,Session-Timeout=2700
>>>
>>>  And in the radiator I had the setting:
>>>
>>>  AuthSelect select attribute from users where user='dc'
>>>
>>>  That meant the Cisco dialin machine got an answer to disconnect the
>>> user
>>> after 45 minutes.
>>>
>>>  The new requirement is that we should have some special 'usernames',
>>> which get disconnected after, let's say, an hour. Making a new realm
>>> setting for them is out of the question (don't ask why). So, if the
>>> user
>>> 'a' can surf net only for 45minutes, the user 'b' should be able to
>>> surf
>>> the net for 60minutes.
>>>
>>>  What I could do is create a new row in the database, so that I'll
>>> have:
>>>
>>> User | attribute
>>> dc   |
>>> Service-Type=Framed-User,Framed-Protocol=PPP,Session-Timeout=2700
>>> b    |
>>> Service-Type=Framed-User,Framed-Protocol=PPP,Session-Timeout=3600
>>>
>>>  But I don't know how to construct a query in MySQL to return me
>>> attribute_2700 in case user != 'b' and attribute_3600 if user == 'b'.
>>> Of
>>> course, mysql doesn't support subselects, and changing the database 
>>> is
>>> not
>>> really an option.
>>>
>>>  So, could you enlighten me and tell me what's the easiest way of 
>>> doing
>>> this?
>>>
>>>  Thanks,
>>>  bogdan
>>>
>>> ----------------------------
>>> iCom Media AG
>>> Kirchweg 36
>>> Koln, 50858
>>> Germany
>>>
>>> Phone: +49-(0)221-485-689-16
>>> Fax  : +49-(0)221-485-689-20
>>> Mobile:+49-(0)173-906-46-01
>>>
>>> ===
>>> Archive at http://www.open.com.au/archives/radiator/
>>> Announcements on radiator-announce at open.com.au
>>> To unsubscribe, email 'majordomo at open.com.au' with
>>> 'unsubscribe radiator' in the body of the message.
>>>
>>
>
> ===
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
>
>

NB: I am travelling this week, so there may be delays in our 
correspondence.

-- 
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. Available on *NIX, *BSD, Windows 95/98/2000, NT, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.

===
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


More information about the radiator mailing list