using unlang to call a stored procedure

Phil Mayers p.mayers at imperial.ac.uk
Mon May 20 18:16:29 CEST 2013


On 20/05/13 16:55, Alex Sharaz wrote:

> In this case I've got
>
>        Tmp-String-0 := "%{sql:call get_vlan_id('%{NAS-IP-Address}','%{User-Name}')}"
>
> get_vlan_id accepts two varchar arguments.
>
> Which, when I run radiusd -X -d /etc/freeradius  gives me
>
> /etc/freeradius/sites-enabled/default[248]: Unknown action '%{sql:CALL get_vlan_id('%{NAS-IP-Address}','%{User-Name}')}'.

Which version of FreeRADIUS is this?

 From the source, the error "Unknown action" suggests you've got a 
syntax error. Remember you need to wrap this in an "update" block, like so:

authorize {
   ...
   update control {
     Tmp-String-0 := "%{sql:....}"
   }
   if (control:Tmp-String-0 =~ /.../) {
   }
   ...
}


More information about the Freeradius-Users mailing list