Filter-Id SQL xlat function

Ljupco Vangelski ljupco.vangelski at gmail.com
Wed Oct 15 16:10:30 CEST 2008


Alan DeKok напиша:
> Ljupco Vangelski wrote:
>   
>> I want FreeRADIUS to return the Filter-Id attribute, on behalf of a
>> service of the client which is in another table (not in radreply or
>> radgroupreply). The idea is to have a different Filter-Id depending on
>> the region the client is connecting to (which means depending on the
>> CallingStation-Id parameter). So I have a separate table in which
>> CallingStation-Ids and Filter-Ids are mapped.
>>     
>
>   That should work.
>
>  > Now if I put that query in the Filter-Id, the XLAT function doesn't get
>   
>> executed:
>> ==In radreply=====================================
>> UserName......Attribute..........op.........Value
>> ljupco............Filter-Id.............=.........%{sql:select service
>> from userinfo where username='ljupco' limit 1;}
>>     
>
>   This doesn't work.  You will have to put the Filter-Id in the "users"
> file, and put back-tics around it.  Or, put it in the configuration file
> via "unlang".  See "man unlang" for examples.
>
>   Alan DeKok.
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
>
>   

Thanks Alan, it works great. I tried unlang with freeradius 2.0.5, in 
the authorize section:

authorize {
...
update reply {
Filter-Id = "%{sql:select MYFIELD from MYTABLE where 
username='%{User-Name}';}"
}
...
}

Another great feature, thanks again!

-- 
Ljupco 





More information about the Freeradius-Users mailing list