[ANN] Multi-Level namespaces
a.cudbardb at freeradius.org
Thu Nov 26 19:16:23 CET 2020
Multi-level namespaces were just merged into the master branch.
If you're building from master and using nested attributes, structures, or vendor specific
attributes, this will effect the way you reference those attributes.
This work removes the dictionary specific namespace attributes were inserted into and
uses attribute specific namespaces.
These attribute specific namespaces contain the direct decedents of a given VSA, TLV,
or Vendor attribute.
# Previous referencing scheme
# New referencing scheme
- Vendor-Specific (Attribute 26, VSA) is located in the top level namespace for the RADIUS dictionary.
- Cisco (PEN 9, Vendor) is located in the Vendor-Specific namespace.
- AvPair (Attribute 1, string) is located in the Cisco namespace.
We will likely be adding aliases for the vendors so that they're accessible from the root, and
for some common nested attributes to make the new syntax less unwieldily, but in all cases the
way vendor attributes and TLVs are referenced will change.
The primary reason for the new name-spacing scheme was that grouped attributes require both the
group attribute and its child attribute to be specified.
In many cases the parent and child had a lengthy prefix to uniquely identify them in the global
namespace, combining these attributes in a reference string lead to obscenely large references
which were very hard to follow.
DHCPv4 is the next protocol to be reworked for these changes. Expect to see the "DHCP-" prefix
removed from the DHCPv4 dictionaries in the next couple of weeks.
If you want to add your own aliases before the official ones are added, the syntax is:
ALIAS <name> <OID>
It will need to be used inside a BEGIN-PROTOCOL block if you're making the changes in raddb/dictionary.
Arran Cudbard-Bell <a.cudbardb at freeradius.org>
FreeRADIUS Development Team
FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2
More information about the Freeradius-Devel