We have a Radius definition almost ready for release. This is a very comprehensive definition that is able to decode most vendor and standard attribute-value-pairs (AVPs). The definition actually reads in the FreeRadius vendor definitions at initialization, so there is a 1-2 second delay at the beginning when the Radius class first loads, from static initializer, as it parses the hundreds of dictionary files with AVP/VSA declarations.
It will be released with next 1.4 update. Here are a few printouts of some radius traffic. I've been testing it with variety of traffic and not only standard AVPs but lots of vendor AVPs as well:
Udp: ******* Udp offset=34 (0x22) length=8 Udp: Udp: source = 32782 Udp: destination = 1812 Udp: length = 270 Udp: checksum = 0x8273 (33395) [correct] Udp: Radius: ******* Radius - "Remote Authentication Dial-In User Service" - offset=42 (0x2A) length=262 Radius: Radius: code = 1 [ACCESS_REQUEST] Radius: identifier = 38 Radius: length = 262 bytes Radius: authenticator = 33f2e4d31c71774aa206d4222fb4583f Radius: = = = = = = = = = = = = = = = = = = = = = = = = = = = Radius: User-Name = firstname.lastname@example.org Radius: NAS-IP-Address = 127.0.0.1 Radius: Calling-Station-Id = 02-00-00-00-00-01 Radius: Framed-MTU = 1400 Radius: NAS-Port-Type = 19 [Wireless-802.11] Radius: Connect-Info = CONNECT 11Mbps 802.11b Radius: EAP-Message = 0201007d190016030100720100006e030147308f6d66ec9a224702f96.... Radius: State = f4536ad18d663369beb023e8f2954cfb Radius: Message-Authenticator = edec93aa5e41940a41ee3aa3dece67de Radius:
Udp: ******* Udp offset=34 (0x22) length=8 Udp: Udp: source = 1812 Udp: destination = 32782 Udp: length = 210 Udp: checksum = 0x7720 (30496) [correct] Udp: Radius: ******* Radius - "Remote Authentication Dial-In User Service" - offset=42 (0x2A) length=202 Radius: Radius: code = 11 [ACCESS_CHALLENGE] Radius: identifier = 38 Radius: length = 202 bytes Radius: authenticator = aee5254c2073ea0011fc3596c055fdfb Radius: = = = = = = = = = = = = = = = = = = = = = = = = = = = Radius: EAP-Message = 010200901900160301004a02000046030147308f53faf558918d4830.... Radius: Message-Authenticator = 3305680dd6bbea35e56de75234fa1228 Radius: State = e840d8dfd332d323cbf2732dcd5610c8 Radius:
And so on.