Possible bug in unlang?

Phil Mayers p.mayers at imperial.ac.uk
Thu Jul 31 14:51:49 CEST 2008

Alan DeKok wrote:
> Phil Mayers wrote:
>> We've recently moved our servers to FreeRadius 2, and we've been having
>> reports of some problems with our wireless service.
> ...
>> ...specifically, it seems that the xlat of this string is treating
>> embedded "\" as escape characters.
>   That needs to be fixed.  I'll take a look next week, as I'm away at a
> conference right now.

I'm also seeing this problem with rlm_sql_log and rlm_sqlippool it 
seems, though I'm amazed I haven't seen it before.

I've had a dig in the guts of radius_xlat (yikes, complex) and done some 
testing with "user\random" e.g.:

update reply {
   # works
   My-Attr-1 = "%{User-Name}"

   # works
   My-Attr-1 = "%u"

   # works
   My-Attr-1 = "%{Stripped-User-Name:-%{User-Name:-none}}"

   # fails, "user\random" turns to "user<cr>andom"
   My-Attr-1 = "%{SQL-User-Name}"

...so I think this means the issue must be in lib/valuepair.c, 
specifically the "pairparsevalue" function (called from pairmake, called 
from sql_set_user)?

Similarly I presume setting the "User-Name" in the reply items from 
unlang calls pairmake and the same code path.

I'm not sure what the best way to proceed with regards fixing it - most 
of the ideas I had were hacks. If you have any pointers I'm happy to 
take a look.

More information about the Freeradius-Users mailing list