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