We have a vendor product that only supports usernames shorter than 64
characters. I used the unlang expression:
if ("%{#User-Name:-0}" <= 63)
to avoid sending accounting with longer usernames to it, which yielded:
server buffered-dpi-esc4 {
+- entering group preacct {...}
++? if ("%{#User-Name:-0}" <= 63)
WARNING: Deprecated conditional expansion ":-". See "man unlang" for details
expand: %{#User-Name:-0} -> 70
? Evaluating ("%{#User-Name:-0}" <= 63) -> FALSE
++? if ("%{#User-Name:-0}" <= 63) -> FALSE
I got the ":-" expression from unlang(5), which doesn't mention that it's
deprecated. I used this expression to specify a default length of 0 since
unlang(5) states that %{#attr} returns an empty value if attr isn't present,
and I wasn't sure how FreeRADIUS would react to a numeric comparison against
an unset value.
I'm using:
if (User-Name && "%{#User-Name}" <= 63) {
instead for now, but is the ":-" expression really deprecated, and is there
an alternative equivalent? How will FreeRADIUS react to an unset value in a
numeric comparison?
john
--
John Morrissey _o /\ ---- __o
[email protected] _-< \_ / \ ---- < \,
www.horde.net/ __(_)/_(_)________/ \_______(_) /_(_)__
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html