[RADIATOR] preClientHook problem using ClientListSQL from version 3.15 to version 4.3.1

Hugh Irvine hugh at open.com.au
Wed Jan 7 15:52:05 CST 2009


Hi Mikey -

Yup - saw that - ta.

cheers

Hugh


On 8 Jan 2009, at 08:39, Mike McCauley wrote:

> Hi Hugh,
>
> You may want to know that yesterday I added support for having  
> ClientHook in
> ClientList SQL and ClientList LDAP, at the request of Redback.
>
> Cheers.
>
>
> On Thursday 08 January 2009 07:33:28 am Hugh Irvine wrote:
>> Hello Dario -
>>
>> Can you please tell me what problems you are having?
>>
>> regards
>>
>> Hugh
>>
>> On 8 Jan 2009, at 04:49, Dario Aguilar wrote:
>>> Hi, first of all I want to clarify that I am a new user of Radiator
>>> and my
>>> knowledge of Perl language is very poor. We are trying to move from
>>> version
>>> 3.15 to 4.3.1 and some problems a problem appered to us with the old
>>> Global
>>> "preClientHook" statement in the new version. How should I call
>>> PreClientHook.cfg to work in using ClientListSQL ?. I´ve already
>>> finish
>>> reading the revision history of versions 4.3 and 4.3.1 and the
>>> reference
>>> manual but I still have very clear how to implement this in our
>>> server.
>>>
>>> Our radius.conf looks something like this:
>>> -------------------------------------------------------------
>>> <ClientListSQL>
>>>       DBSource                dbi:Oracle:%{GlobalVar:DBInstance}
>>>       DBUsername              %{GlobalVar:DBUsername}
>>>       DBAuth                  %{GlobalVar:DBAuth}
>>>       DBSource                dbi:Oracle:%{GlobalVar:DBInstance}
>>>       DBUsername              %{GlobalVar:DBUsername}
>>>       DBAuth                  %{GlobalVar:DBAuth}
>>>       GetClientQuery          SELECT nas_ip_address,secret from
>>> tbl_radclient WHERE nas_ip_address IS NOT NULL and secret IS NOT  
>>> NULL
>>>       BackupFilename
>>> %D/clientlist.%{GlobalVar:CodeType}.%{GlobalVar:IpAddress}.dat
>>>       RefreshPeriod           3600
>>>       Timeout                 2
>>>       FailureBackoffTime      0
>>>       ConnectionHook file:"%D/ConnectionHook.cfg"
>>> </ClientListSQL>
>>>
>>> PreClientHook file:"%D/PreClientHook.cfg"
>>> -------------------------------------------------
>>>
>>> PreClientHook.cfg----->>>
>>>
>>> sub {
>>>       my $p=${$_[0]};
>>>       my $nasip=$p->get_attr('NAS-IP-Address');
>>>       my $ip=&Radius::Util::format_special('%c', $p);
>>>       my $nasport=$p->get_attr('NAS-Port');
>>>       my $callid=$p->get_attr('Calling-Station-Id');
>>>
>>>       &main::log($main::LOG_DEBUG,'Into PreClientHook');
>>>       &main::log($main::LOG_DEBUG,"NASIP=[$nasip] NASPORT=[$nasport]
>>> SOURCE_IP=[$ip] CallId=[$callid]");
>>>        if($ip ne '192.168.0.1' and $ip ne '192.168.0.2') {
>>>               $p->change_attr('NAS-IP-Address',$ip) if $nasip ne  
>>> $ip;
>>>       }
>>>
>>>       $p->add_attr('NAS-Port',$callid) unless defined $nasport;
>>>       $p->delete_attr('State');
>>>       if ($p->code eq 'Accounting-Request' &&
>>> $p->get_attr('Acct-Status-Type') eq 'Stop') {
>>>               my %ascend2ietf = (
>>>                       'remoteEndHungup'       => 'User-Request',
>>>                       'pppRcvTerminate'       => 'User-Request',
>>>                       'sessTimeOut'           => 'Session-Timeout',
>>>                       '240'                   => 'Host-Request',
>>>               );
>>>
>>>               my $ascend_disconnect_cause =
>>> $p->get_attr('Ascend-Disconnect-Cause');
>>>               if($ascend_disconnect_cause) {
>>>                       my $newval=
>>> $ascend2ietf{$ascend_disconnect_cause};
>>>                       $newval='Lost-Carrier'
>>>                               unless defined $newval;
>>>                       $p->change_attr('Acct-Terminate-Cause',
>>> $newval);
>>>               }
>>>       }
>>> }
>>> -------------------------------------------
>>>
>>> thanks,
>>> Dario Aguilar
>>> --
>>> View this message in context:
>>> http://www.nabble.com/preClientHook-problem-using-ClientListSQL-from-vers
>>> ion-3.15-to-version-4.3.1-tp21336689p21336689.html Sent from the  
>>> Radiator
>>> - General mailing list archive at Nabble.com.
>>>
>>>
>>> _______________________________________________
>>> radiator mailing list
>>> radiator at open.com.au
>>> http://www.open.com.au/mailman/listinfo/radiator
>>
>> 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
>
>
>
> -- 
> Mike McCauley                               mikem at open.com.au
> Open System Consultants Pty. Ltd
> 9 Bulbul Place Currumbin Waters QLD 4223 Australia   http://www.open.com.au
> Phone +61 7 5598-7474                       Fax   +61 7 5598-7070
>
> 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, DIAMETER etc. Full source
> on Unix, Windows, MacOSX, Solaris, VMS, NetWare etc.
>
> _______________________________________________
> radiator mailing list
> radiator at open.com.au
> http://www.open.com.au/mailman/listinfo/radiator



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.





More information about the radiator mailing list