Proxy / reply translation

Matthew Newton mcn at freeradius.org
Thu Nov 9 11:30:38 CET 2017


On Thu, 2017-11-09 at 10:20 +0000, Richard J Palmer wrote:
> *
> Framed-IP-Address = 1.2.3.1
>     Framed-IP-Netmask = 255.255.255.240
>     Cisco-AVPair = "ip:route=1.2.3.1 255.255.255.240"
>     Service-Type = Framed-User
> 
> However we need
> 
> Framed-IP-Address = 1.2.3.1
>     Framed-IP-Netmask = 255.255.255.240
>     Framed-Route = "1.2.3.1/28"
>     Service-Type = Framed-User
> 
> Is this relatively easy to do ?

Match on regex should work, something like

if (&Cisco-AVPair =~ /ip:route=([^ ]+) /) {
  update reply {
    Framed-Route := "%{1}/28"
  }
}

if the netmasks aren't all the same you'll need to change that as well
of course - I don't think there's anything to convert the netmask into
the number of bits, but a switch statement should do it easily for the
limited number of cases.

-- 
Matthew



More information about the Freeradius-Users mailing list