Removing attribute/vendor/type from valuepairs

Arran Cudbard-Bell a.cudbardb at
Sun Feb 17 00:04:35 CET 2013

Hi All,

A number of commits have been pushed to master branch to remove the attribute, vendor, type and flags fields from the VLAUE_PAIR struct.

When VALUE_PAIRs are created, the attribute number and vendor are resolved to a DICT_ATTR, the DICT_ATTR is then used as the source of type information for the VALUE_PAIR. For attributes not found in the FreeRADIUS dictionary, instances of DICT_ATTR are dynamically allocated, then freed when the VALUE_PAIR is freed.

Alan has also rewritten the RADIUS protocol decoder to better support nested attributes, which should be fully supported before 3.0 is released.

Next week work will begin on integrating talloc. talloc is a hierachical memory allocator which can dramatically simplify memory management for trees of dynamically allocated objects. This is in preparation for adding request chaining* and nested TLVs.

As talloc is small (3K LoC)  we plan to bundle it with the server, and integrate it into the new build system in a similar way to jlibtool.

As always testing is appreciated.


* Initially this will be for proxying between multiple virtual servers internally, but will make it easier to implement request trees, where a single incoming request spawns multiple child requests.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vp_collab.png
Type: image/png
Size: 16670 bytes
Desc: not available
URL: <>

More information about the Freeradius-Devel mailing list