Proxy / reply translation

Richard J Palmer richard at merula.net
Thu Nov 9 14:19:24 CET 2017


HI

This is where my skills are not great (regex) most other areas I can 
work with. Ultimately I am happy to pay someone to help write the 
little bit of code that does this. I do need to cope with Netmasks 
from  /32 to /24 so a few switch cases.

Alternatively if someone can provide a few pointers on that bit I can 
probably build from there.

Again I am not expecting something for nothing - so if it needs an 
hour or so's work I am happy to reward for that


Richard

> --- Original message ---
> Subject: Re: Proxy / reply translation
> From: Matthew Newton <mcn at freeradius.org>
> To: FreeRadius users mailing list 
> <freeradius-users at lists.freeradius.org>
> Date: Thursday, 09/11/2017 10:31 AM
>
> 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
>
> -
> List info/subscribe/unsubscribe? See 
> http://www.freeradius.org/list/users.html



More information about the Freeradius-Users mailing list