Hi,
I am trying to compare a variable in freeradius using unlang but it seems to not be working correctly, more than likely i've made a mistake but let me show you.
? Evaluating (control:IMS-ActiveDirectory == 0) -> FALSE
++? if (control:IMS-ActiveDirectory == 0) -> FALSE
++? if (control:IMS-Timeout < 0)
? Evaluating (control:IMS-Timeout < 0) -> FALSE
++? if (control:IMS-Timeout < 0) -> FALSE
++? elsif (control:IMS-Timeout > 0)
? Evaluating (control:IMS-Timeout > 0) -> FALSE
++? elsif (control:IMS-Timeout > 0) -> FALSE
++? if (control:IMS-Data < 0)
? Evaluating (control:IMS-Data < 0) -> TRUE
++? if (control:IMS-Data < 0) -> TRUE
++- entering if (control:IMS-Data < 0) {...}
expand: %{control:IMS-Data} Voucher Depleated -> 3221197824 Voucher Depleated
+++[reply] returns noop
+++[reject] returns reject
So as you can see it enters entering if (control:IMS-Data < 0) {...}, as it says that IMS-Data is < 0. Its not, so I echoed out the variable in the next line and its value is 3221197824...