upgrade unlang from 2.1.12 to 3.0.14
Alan DeKok
aland at deployingradius.com
Wed Jul 5 13:22:16 CEST 2017
On Jul 5, 2017, at 3:07 AM, <adrian.p.smith at bt.com> <adrian.p.smith at bt.com> wrote:
> We have config similar to:
>
> if ( !(Cisco-SSG-Service-Info) && ("%{Tunnel-Type}" != "VLAN") ) {
First, you don't have to quote everything. Just:
... (Tunnel-Type != VLAN)
will work.
> and
>
> if ( ("%{Acct-Status-Type}" == "Stop") && ("%{Tunnel-Type}" == "VLAN") && ("%{client:operator}" != "WLC") ) {
> ...
The same applies here. Attributes and their values don't need to be quoted. Only string expansions.
> But are seeing error messages such as:
>
> ERROR: Failed retrieving values required to evaluate condition
Then the attributes being looked at don't exist in the packet
> So questions are:
>
> 1. Testing presence of an attribute I think is now "if ( &Cisco-SSG-Service-Info )" ?
Yes.
> 2. Can I test presence of and value of an attribute of a variable at the same time, i.e. "if (&Cisco-SSG-Service-Info = "fred" )" ?
You can do that, but if Cisco-SSG-Service-Info doesn'tt exist, it will result in the above error.
> 3. How can I now do "client:operator" ?
That still works.
Alan DeKok.
More information about the Freeradius-Users
mailing list