(RADIATOR) Attributes that I change in 1 handler, has changed value in another handler
gdelvalle at btl.net
gdelvalle at btl.net
Tue Jul 17 08:47:12 CDT 2007
Thanks Hugh,
I have a quick follow up question. Where can i see the general
structure of the Incoming request packet and the defined
functions for this object? Should I go and have a look in
the Radius.pm or is there a batter way?
Thanks
Giovanni
---------Included Message----------
>Date: 16-Jul-2007 17:43:27 -0600
>From: "Hugh Irvine" <hugh at open.com.au>
>To: <gdelvalle at btl.net>
>Cc: <radiator at open.com.au>
>Subject: Re: (RADIATOR) Attributes that I change in 1 handler,
has changed value in another handler
>
>
>Hello Giovanni -
>
>You should use the changeUserName() routine for this
>
> ${$_[0]}->changeUserName($username);
>
>see the code in "Radius/Radius.pm->sub changeUserName()".
>
>regards
>
>Hugh
>
>
>On 17 Jul 2007, at 00:10, gdelvalle at btl.net wrote:
>
>>
>>
>> Hello All,
>> Here is my problem in a nutshell-
>>
>> I want to add/change an attribute in a prehandler hook (
>> example- I want to strip a username joe at example.com and change
>> it to joe at realm1.com). Then this should cause radiator to send
>> that request to my Realm1.com handler. My assumption correct?
>>
>> problems I have -
>> 1) when I change an attribute it looks like it only persists for
>> the life of that subroutine that is the handler. I'd like when a
>> preauthhandler picks up the request the change I made from the
>> previous handler is still there. This is an excerpt from the
>> subroutine that is to change the attribute.
>> 2) If the changed attribute doesnt stick then it wont go to the
>> right handler.
>>
>>
>>
>> $username = $username."\@Realm1.com";
>> ${$_[0]}->change_attr('User-Name', $username);
>>
>> ###############################
>> sub
>> {
>>
>> # I used to use assign the reference to a local variable but i
>> thought this would cause the change not to be present in the
>> next handler. Atrue or false
>> #my p = ${$_[0]};
>>
>> #if this isnt an access request we dont want to run the
>> procedure any further
>> my $code = ${$_[0]}->code();
>> return unless $code eq 'Access-Request';
>>
>> my $nasaddress =
>> ${$_[0]}->getAttrByNum($Radius::Radius::NAS_IP_ADDRESS);
>> return unless $nasaddress eq '127.0.0.1';
>>
>> #Pulling some values from request structure that was passed
>> to to sub routine as a reference.
>>
>> my $username =
>> ${$_[0]}->getAttrByNum($Radius::Radius::USER_NAME);
>> my $nasport =
${$_[0]}->getAttrByNum($Radius::Radius::NAS_PORT);
>>
>> my $timestamp = localtime time;
>>
>>
>> $username = $username."\@Realm1.com";
>> ${$_[0]}->change_attr('User-Name', $username);
>>
>> }
>> ############################################
>>
>>
>> Any Ideas.
>>
>> Regards,
>> Giovanni
>>
>>
>> --
>> 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:
>
>Have you read the reference manual ("doc/ref.html")?
>Have you searched the mailing list archive
(www.open.com.au/archives/
>radiator)?
>Have you had a quick look on Google (www.google.com)?
>Have you included a copy of your configuration file (no secrets),
>together with a trace 4 debug showing what is happening?
>Have you checked the RadiusExpert wiki:
>http://www.open.com.au/wiki/index.php/Main_Page
>
>--
>Radiator: the most portable, flexible and configurable RADIUS server
>anywhere. Available on *NIX, *BSD, Windows, MacOS X.
>Includes support for reliable RADIUS transport (RadSec),
>and DIAMETER translation agent.
>-
>Nets: internetwork inventory and management - graphical, extensible,
>flexible with hardware, software, platform and database
independence.
>-
>CATool: Private Certificate Authority for Unix and Unix-like
systems.
>
>
>
>
---------End of Included 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.
More information about the radiator
mailing list