]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
decode continued attributes into the correct parent
authorAlan T. DeKok <aland@freeradius.org>
Mon, 23 Feb 2026 17:07:19 +0000 (12:07 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 23 Feb 2026 18:40:03 +0000 (13:40 -0500)
src/protocols/radius/decode.c
src/tests/unit/protocols/radius/wimax.txt

index a4198616de3533255b199fe5ac0f00b417fa5f6b..a72b601006212e1cc67d81621e50d6e9f7db0856 100644 (file)
@@ -1261,7 +1261,7 @@ static ssize_t decode_wimax(TALLOC_CTX *ctx, fr_pair_list_t *out,
 
                FR_PROTO_TRACE("WiMAX decode concatenated");
                FR_PROTO_HEX_DUMP(head, wimax_len, "%s", __FUNCTION__ );
-               ret = fr_radius_decode_pair_value(ctx, out,
+               ret = fr_radius_decode_pair_value(vendor, &vendor->vp_group,
                                                  da, head, wimax_len, packet_ctx);
 
                packet_ctx->end = tmp;
index ed3f6ae7cbf5d12bf06befbe4181e7a91f662a08..5b736996b154e09c67436ebbfe6327fe4cf829a3 100644 (file)
@@ -197,11 +197,12 @@ match Vendor-Specific = { WiMAX = { Packet-Flow-Descriptor-v2 = { Classifier = {
 # This means that 26.24757.84.9.9.3 is invalid.
 decode-pair 1a 17 00 00 60 b5 54 11 00 09 0e 09 0c 03 05 01 02 37 03 05 02 03 54
 match Vendor-Specific = { WiMAX = { Packet-Flow-Descriptor-v2 = { Classifier = { Classifier-Eth-Option = { raw.Eth-Priority-Range = 0x010237, Eth-Priority-Range = { High = 84 } } } } } }
+
 #
 #  Simple test for continued attributes
 #
 decode-pair 1a 0e 00 00 60 b5 01 08 80 01 05 31 2e 30 1a 0c 00 00 60 b5 01 06 00 02 03 00
-match Vendor-Specific = { WiMAX = { } }, Vendor-Specific.WiMAX.Capability = { Release = "1.0", Accounting-Capabilities = ::No-Accounting }
+match Vendor-Specific = { WiMAX = { Capability = { Release = "1.0", Accounting-Capabilities = ::No-Accounting } } }
 
 #
 #  See if encoding multiple attributes works
@@ -263,7 +264,7 @@ encode-pair Vendor-Specific.WiMAX.Capability.Release = "xxxxxxxxxxxxxxxxxxxxxxxx
 match 1a ff 00 00 60 b5 01 f9 80 01 fd 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 1a 10 00 00 60 b5 01 0a 00 78 78 78 78 78 78 78
 
 decode-pair -
-match Vendor-Specific = { WiMAX = { } }, Vendor-Specific.WiMAX.Capability = { Release = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }
+match Vendor-Specific = { WiMAX = { Capability = { Release = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } } }
 
 #
 #  If you're a vendor, don't use the WiMAX format.  It's annoying.