This may not be worth much, but... You might consider deleting each cisco-avpair attribute from the list after you recode it, and then add it back in "the right way", such as cisco-avpair-connect-progress = "41". That way, you'll get the next one in line the next time you call get_attr() because the first one will be gone.
Dave :) > -----Original Message----- > From: GermanG [mailto:gaticag@;hotmail.com] > Sent: Wednesday, November 06, 2002 3:56 PM > To: [EMAIL PROTECTED] > Subject: (RADIATOR) Renaming cisco-avpair > > > Hello, > > 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. > === 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.
