On Mon, 26 Apr 2021 at 18:05, Alan DeKok <aland@deployingradius.com> wrote:
On Apr 26, 2021, at 9:29 AM, Benjamin Thompson <b.thompson@latera.ru> wrote:
I am working with some Telrad equipment and have found that it uses attributes with vendor ID 5323 and which have the continuation field (format=1,1,c) as used in WiMAX attributes.
OMG what a terrible idea. This is one of the worst things I've seen in years.
I tried to add a dictionary with this format string but FreeRADIUS refused to start with the error "Only WiMAX VSAs can have continuations".
Yes. The source is hard-coded to use the WiMAX vendor ID.
I traced the error to this section of code (dict.c line 2097):
if ((*pvalue != VENDORPEC_WIMAX) || (type != 1) || (length != 1)) { fr_strerror_printf("dict_init: %s[%d]: Only WiMAX VSAs can have continuations", fn, line); return -1; }
There's a lot more to it than that. See src/lib/radius.c, and look for WiMAX.
I would like to ask whether it would be OK to allow continuations for other vendors too here (I am happy to submit a patch).
Sure.
Do you have dictionary file that you can share?
Hi Alan This is what I have: VENDOR Telrad 5323 format=1,1,c BEGIN-VENDOR Telrad ATTRIBUTE Telrad-TSDF-Table 1 tlv ATTRIBUTE Telrad-Item-Identity 1.1 byte ATTRIBUTE Telrad-Reference-VPWS-PDN-Name 1.2 octets ATTRIBUTE Telrad-TSDF-Parameters 1.3 tlv ATTRIBUTE Telrad-C-VLAN-ID 1.3.1 integer ATTRIBUTE Telrad-C-VLAN-ID-Retag 1.3.2 integer ATTRIBUTE Telrad-S-VLAN-ID 1.3.3 integer ATTRIBUTE Telrad-Reference-QOS-Profile-Name 1.3.4 string END-VENDOR Telrad