On Apr 26, 2021, at 2:46 PM, Benjamin Thompson <b.thompson@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.