Hello German -
If you call $p->get_attr(..) in a list context instead of a scalar context, you will get the complete list.
Have a look at the code in Radius/AttrVal.pm.
regards
Hugh
On Thursday, November 7, 2002, at 07:56 AM, GermanG wrote:
Hello,NB: I am travelling this week, so there may be delays in our correspondence.
I would like to save Radius accounting tickets from a Cisco AS5300 in a SQL
database but Cisco AS5300 is sending multiple attributes cisco-avpair. I
would like to save all cisco-avpair so I need to rename them.
For example,
An original cisco-avpair like this:
cisco-avpair = "connect-progress=41"
I want it like this:
cisco-avpair-connect-progress = "41"
or just
connect-progress = "41"
I made a hook (based on /goddies/hooks.txt) for add a new attribute for each
cisco-avpair.
But this hook only catch the first cisco-avpair and I can not find the way
to analize the rest of cisco-avpair.
Hook code:
############################
# -*- mode: Perl -*-
# Converts cisco-avpair into different attributes
#
sub
{
my $p = ${$_[0]};
my $ciscoavpair;
my $ciscoavpair_name;
my $ciscoavpair_value;
if ($ciscoavpair = $p->get_attr('cisco-avpair'))
{
$ciscoavpair =~ /=/;
$ciscoavpair_name = $`;
$ciscoavpair_value = $';
$p->add_attr("cisco-avpair-$ciscoavpair_name", $ciscoavpair_value)
}
return;
}
#
############################
I�ve read the "sub get_attr" from /Radius/AttrVal.pm and found that if you
ask for
an attribute in a scalar context only returns the first one (that�s my
case!).
How can I ask for an attribute in another way? (maybe as an array but, How?)
Does anyboby have anything that could help on this?
I�ve tried with a "while" instead of an "if" , the result was a loop with
the same (first) cisco-avpair.
If I add a "->delete_attr" after the add, the result (as said in
/Radius/AttrVal.pm ) deletes all cisco-avpair.
Best Regards,
German Gatica
===
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.
--
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 [EMAIL PROTECTED]
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.
