freeradius3: filling vp_strvalue for INTEGER attributes - off by default?

Alan DeKok aland at deployingradius.com
Fri Feb 26 15:04:46 CET 2016


On Feb 26, 2016, at 8:59 AM, Boris Lytochkin <lytboris at yandex-team.ru> wrote:
> Yep, I did a fix and the code now works correctly. Still the question is unanswered - why 2.1 code had correct vp_strvalue and 3.0 does not.
> Funny thing, VALUE_PAIR_DATA in 2.1 is a union too so I have no idea how the code below ever worked. :)

  In 2.0, vp_strvalue was a fixed-length array in all VALUE_PAIRs.  So it's possible to put a string value there for non-string attributes.  The problem was that the array was fixed length. So longer attributes were impossible.  Even ones which were used internally, and didn't go into a RADIUS packet.

  In 3.0, vp_strvalue is a pointer to a character array.  That character array can be any length.   As a result, we can have attributes of any length.

  But... there's no longer a fixed-length array associated with an "integer" attribute.  So you can't look at the vp_strvalue, because it doesn't exist.

  Alan DeKok.




More information about the Freeradius-Devel mailing list