Re: updated TURN draft
Remi Denis-Courmont <[email protected]> Wed, 27 Jul 2005 13:58:49 +0300
| Newsgroups | gmane.ietf.midcom |
|---|---|
| Organization | Nokia-NRC/Helsinki |
| Message-ID | <[email protected]> |
Hello, Le mar 26/07/2005 =C3=A0 00:04, ext Jonathan Rosenberg a =C3=A9crit : > I did an update to the turn spec. I goofed on the I-D boilerplate, so=20 > there is a good chance it won't make it into the repository, in which=20 > case I'll submit right after ietf. Either way, you can pick up the=20 > update draft here: >=20 > http://www.jdrosen.net/papers/draft-rosenberg-midcom-turn-08.txt The newly defined Set Destination Error Response message has the same ID as the older, and still present, Data Indication message. I suppose one can discriminate them by looking for a DATA attribute, but it still sounds like a mistake. Other than that, a few other minor problems: =C2=A7 7.1 The NONCE value should supposedly be checked =C2=A7 7.5 The expiry detection algorithm is designed so that it might actually take almost twice as long as LIFETIME to expire: if the last activity occurs shortly after the timer fires, the binding won't be expired on next timer firing, but only on the one after. Ok, this is not really an issue. But why not leave TURN servers implementations free to implement expiry as they want, so long as no binding is closed after at least <LIFETIME> seconds of inactivity under normal server operation? =C2=A7 8.2 Unknown error codes in the 400-499 range should be handled like 400. Alas, the behavior for error code 400 is not explicitly defined. Suggestions =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =C2=A7 9.2.7 (still in draft 08) Specify how the DATA attribute is supposed to, or not to, be aligned on a 32-bits boundary. If it has to be aligned, how should TURN client determine the actual length of the original payload if it was not a multiple of 4 bytes? =C2=A7 5 (near the end) and 7.6 (near the end) TURN servers have to close a TCP connection if the other associated TCP connection is closed. But TCP connection can be half-closed (i.e. with BSD socket call shutdown()). It might be a good idea to specify more explicitly that if some connection is half-closed, the associated one should be half-closed accordingly. There might actually be some applications that perform half-closure because they know that the TCP session will only be used in one way. =C2=A7 7.4 and 8.6 Maybe, specify that server ignores Out-of-band TCP data and client are not allowed to send Out-of-band data over TCP connections. But out-of-band is admittedly hardly ever used anyway. =C2=A7 10 It might be noted that, as other kind of proxies, operators of TURN servers should not trust network traffic sent by the system. In particular, loopback traffic, which is usually considered trustworthy might actually be controlled by any user of the server. Even though these users are authenticated, they are probably not as trustworthy as users with local accounts on the system operating the TURN server. Trivial issues =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =C2=A7 7.2.2 "(See Section 10." lacks a closing parenthesis. =C2=A7 11 The following chunk of sentence seems to be syntaxically incorrect : "through a collaborative protocol reflection mechanism RFC 3424 [12]." (DISCLAIMER: I am not a native english speaker) With all due respect, regards, --=20 R=C3=A9mi Denis-Courmont <[email protected]> Nokia-NRC/Helsinki