RLM_perl and Cisco-AVPair

Alan Lumb freeradius at siblin.co.uk
Tue Jan 24 23:17:47 CET 2006


Hi everyone.

Im trying to get RLM_perl to respond with two Cisco-AVPair lines (what
would usually be done with += in users)

Unfortunately only the first seems to get sent back to the nas - debug
output follows

rlm_perl: Added pair Cisco-AVPair = ip:dns-servers=10.10.10.10 10.10.10.12
rlm_perl: Added pair Cisco-AVPair = ip:route=10.10.0.0 255.255.255.0
rlm_perl: Added pair Framed-IP-Address = 10.10.10.12
rlm_perl: Added pair Framed-IP-Netmask = 255.255.255.255
rlm_perl: Added pair Auth-Type = perl
rlm_perl: Added pair Service-Type = Framed-User
rlm_perl: Added pair Auth-Type = System
  modcall[authenticate]: module "perl" returns ok for request 25
modcall: group Auth-Type returns ok for request 25
Sending Access-Accept of id 56 to 127.0.0.1:34529
        Cisco-AVPair = "ip:dns-servers=10.10.10.10 10.10.10.12"
        Framed-IP-Address = 10.10.10.10
        Framed-IP-Netmask = 255.255.255.255
        Service-Type = Framed-User

As you can see, rlm_perl logs that it is adding the pair twice but only
the first is returned.

I've gone so far as to looking at the code for rlm_perl and it looks to me
like it should have worked from what i have done, the coder has asked for
a reference to an array.

my code basically does this

push(@avpairs,'ip:dns-servers=$dns1 $dns2');
push(@avpairs,"ip:route=$$thisroute{network} $$thisroute{subnet}");
$RAD_REPLY{'Cisco-AVPair'}=\@avpairs;

Anyone any ideas?  Doesn't look like many people use rlm_perl yet






More information about the Freeradius-Users mailing list