3gpp2 parameter starts with '\0'

Alan DeKok aland at deployingradius.com
Mon Jan 12 10:09:18 CET 2009


lamersons wrote:
> I need to store ESN value to my database, but it comes in format[3GPP2-ESN =
> "\000\000\000\000\000\000\00000BBF636"].

  Change the dictionary to make it type "octets".  That's likely the
simplest fix.

> Freeradius counts '\0' as the end
> of the line and puts blank instead of actual parameter value. Not only ESN
> comes in that format but [Acct-Session-Id = "0000000\000"] does too. 

  The NAS is broken.  The Acct-Session-Id attribute is *supposed* to be
UTF-8 text.  NASes are *not* supposed to terminte strings with a NUL byte.

> Does any1 have any ideas about this ?

 File a bug with the NAS vendor about the Acct-Session-Id attribute with
the NAS vendor.  State that RFC 2866, Section 5.2 says that that the
Acct-Session-Id is UTF-8 text.  RFC 2865 Section 5 specifically states
that this practice is wrong:

      Note that none of the types in RADIUS terminate with a NUL (hex
      00).  In particular, types "text" and "string" in RADIUS do not
      terminate with a NUL (hex 00).

  File a bug with the NAS about the 3GPP2-ESN attribute,too.  The 3GPP2
specification (X.S0011-005-C_v2.0_050708.pdf) states (Page 12):

	...
	A2 ESN 26/52 15 string 3GPP2_ESN ASCII string of ESN. See [4].
	...
	C1 Account Session ID 44 8 string Acct-Session-Id ASCII string of
session ID


  So the NAS breaks both the IETF specifications and the 3GPP2
specifications.

  Who builds this stuff?

  Alan DeKok.



More information about the Freeradius-Users mailing list