| Re: Re: Issue 281: Backward compatibility problem | <– Date –> <– Thread –> |
|
From: Jari Arkko (jari.arkko |
|
| Date: Tue, 7 Dec 2004 06:00:29 -0500 (EST) | |
Bernard, Farid,
I would prefer #2 as well.
Slightly revised:
--Jari
2) Modify the grammar to allow the NAIRealms to be placed anywhere after displayable message.
I'd prefer this. It's more consistent with RFC 3748, as well as existing implementations.
I would prefer #2 as well.
identity-request-data = [ displayable-string ] %0x00 [ Network-Info ]
displayable-string = *CHAR
Network-Info = *OCTET ["," "NAIRealms=" realm-list "," ] *OCTET
The general approach is correct, but I'd prefer making the NAIRealms data start with either directly after the NUL character or after a comma -- not always with a comma. How about this:
Network-Info = "NAIRealms=" realm-list Network-Info =/ 1*OCTET ",NAIRealms=" realm-list Network-Info =/ "NAIRealms=" realm-list "," 1*OCTET Network-Info =/ 1*OCTET ",NAIRealms=" realm-list "," 1*OCTET
Note that this still allows multiple %0x00's to be present at various places. For instance, the following would all be legal
foo\0NAIRealms=snaap.com
bar\0NAIRealms=fryyp.com\0\0\0\0
foobar\0\0\0\0,NAIRealms=example.com
\0APQuality=0,NAIRealms=arkko.comrealm-list = realm / ( realm-list ";" realm )
The "OCTET" and "CHAR" rules are defined in [RFC2234] and the "realm" rule is defined in [rfc2486bis].
A sample hex dump of an EAP-Request/Identity packet is shown below.
01 ; Code: Request 00 ; Identifier: 0 00 43 ; Length: 67 octets 01 ; Type: Identity 48 65 6c 6c 6f 00 2C 4e ; "Hello\0,NAIRealms=example.com;mnc014. 41 49 52 65 61 6c 6d 73 ; mcc310.3gppnetwork.org," 3d 69 73 70 2e 65 78 61 6d 70 6c 65 2e 63 6f 6d 3b 6d 6e 63 30 31 34 2e 6d 63 63 33 31 30 2e 33 67 70 70 6e 65 74 77 6f 72 6b 2e 6f 72 67 2C
Ok otherwise but I'd prefer getting rid of the "," after "\0".
The Network-Info can contain NAIRealms list in addition to proprietary information. The proprietary information can be placed before or after NAIRealms list. To extract NAIRelams list, an implementation can parse the data after a NUL and look for "NAIRealms=" and then check whether the previous character was a comma. Once "NAIRealms=" immediately followed by a comma is found, the implementation can read the realms until it encounters a comma character.
Slightly revised:
The Network-Info can contain NAIRealms list in addition to proprietary information. The proprietary information can be placed before or after NAIRealms list. To extract NAIRelams list, an implementation either finds the "NAIRealms=" immediately after the NUL or seeks forward to find ",NAIRealms" somewhere in the string. The realms data ends either at first "," or at the end of the string, whichever comes first.
--Jari
- RE: Re: Issue 281: Backward compatibility problem, (continued)
- RE: Re: Issue 281: Backward compatibility problem Bernard Aboba, December 1 2004
-
RE: Re: Issue 281: Backward compatibility problem Adrangi, Farid, December 2 2004
- RE: Re: Issue 281: Backward compatibility problem Bernard Aboba, December 2 2004
-
RE: Re: Issue 281: Backward compatibility problem Adrangi, Farid, December 6 2004
- Re: Re: Issue 281: Backward compatibility problem Jari Arkko, December 7 2004
-
RE: Re: Issue 281: Backward compatibility problem Adrangi, Farid, December 7 2004
- RE: Re: Issue 281: Backward compatibility problem Bernard Aboba, December 7 2004
- RE: Re: Issue 281: Backward compatibility problem Adrangi, Farid, December 7 2004
- RE: Re: Issue 281: Backward compatibility problem Adrangi, Farid, December 13 2004
Results generated by Tiger Technologies using MHonArc.