WiMAX style continuation field used by other vendor
Alan DeKok
aland at deployingradius.com
Mon Apr 26 21:47:35 CEST 2021
On Apr 26, 2021, at 2:46 PM, Benjamin Thompson <b.thompson at latera.ru> wrote:
> If I understood the code correctly, the "flags.wimax = dv->flags;" line
> 1067 of dict.c should cause the attribute to be encoded as a WiMax
> attribute in radius.c at line 1498:
>
> if (vp->da->flags.wimax) {
> return rad_vp2wimax(packet, original, secret, pvp, ptr, room);
> }
See also
/*
* WiMAX craziness
*/
if ((vendor == VENDORPEC_WIMAX) && dv->flags) {
rcode = data2vp_wimax(ctx, packet, original, secret, vendor,
data, attrlen, packetlen, pvp);
return rcode;
}
And it would be _very_ good to add tests in src/test/unit/wimax.txt
And it turns out that this came up before. See src/lib/dict.c:
/*
* <sigh> Alvarion, being *again* a horribly
* broken vendor, has re-used the WiMAX format in
* their proprietary vendor space. This re-use
* means that there are *multiple* conflicting
* Alvarion dictionaries.
*/
"git annotate" says I added that comment in 2011. So It's perhaps understandable that I've completely forgotten that particular kind of breakage.
I've pushed the dictionary, some code fixes, and some tests.
Alan DeKok.
More information about the Freeradius-Users
mailing list