I think an optional length of Outer TLV field (controlled by the flag bit) would be preferable.
On 10/9/12 7:37 PM, "Jim Schaad" <i...@augustcellars.com> wrote: >I would be really against the idea that I needed to crack the TLS data >blob >to figure this out. Either adding a length for the TLS data field, or a >length of the Outer TLV data would be preferable to me. If you did the >second, then it would only affect processing on the first two messages. > >Jim > >> -----Original Message----- >> From: Hao Zhou (hzhou) [mailto:hz...@cisco.com] >> Sent: Tuesday, October 09, 2012 12:46 PM >> To: Jim Schaad; emu@ietf.org; draft-ietf-emu-eap-tunnel- >> met...@tools.ietf.org >> Subject: Re: [Emu] More comments for eap-tunnel-method >> >> That is the current thinking, and the only concrete use case for Outer >>TLV >> now is in the 1st message from server to peer with no TLS data. I am ok >with >> adding another optional TLS data length field. >> >> On 10/9/12 3:31 PM, "Jim Schaad" <i...@augustcellars.com> wrote: >> >> >There does not seem to be anything in the TEAP document about the >> >length of >> >the TLS data. Are you suggesting that one should crack the TLS data >blob >> >to find the length of that data blob? >> > >> >Jim >> > >> > >> >> -----Original Message----- >> >> From: Hao Zhou (hzhou) [mailto:hz...@cisco.com] >> >> Sent: Tuesday, October 09, 2012 11:43 AM >> >> To: Jim Schaad; emu@ietf.org; draft-ietf-emu-eap-tunnel- >> >> met...@tools.ietf.org >> >> Subject: Re: [Emu] More comments for eap-tunnel-method >> >> >> >> Jim: >> >> >> >> Please see comments inline below. >> >> >> >> On 10/8/12 1:11 AM, "Jim Schaad" <i...@augustcellars.com> wrote: >> >> >> >> > >> >> > >> >> >> -----Original Message----- >> >> >> From: Hao Zhou (hzhou) [mailto:hz...@cisco.com] >> >> >> Sent: Thursday, October 04, 2012 2:56 PM >> >> >> To: Jim Schaad; emu@ietf.org; draft-ietf-emu-eap-tunnel- >> >> >> met...@tools.ietf.org >> >> >> Subject: Re: [Emu] More comments for eap-tunnel-method >> >> >> >> >> >> Jim: >> >> >> >> >> >> Thanks for the review. Please see my comments below. >> >> >> >> >> >> On 9/30/12 2:01 PM, "Jim Schaad" <i...@augustcellars.com> wrote: >> >> >> >> >> >> >1. Should the Message Length field be present if the TLS Data >> >> >> >field is absent? >> >> >> [HZ] According to the text in the draft, the message length field >> >> >> should >> >> >only >> >> >> be present if the L bit is set, usually for fragmented packets. In >> >> >> those >> >> >cases, >> >> >> the TLS data field will be present, not absent. The only case TLS >> >> >> data >> >> >will be >> >> >> absent is when empty TEAP packet it is used to >> >> >> indicate TEAP acknowledgement for either a fragmented >> >>message, >> >> >> a TLS Alert message or a TLS Finished message. So the >> >> >> message >> >> >length >> >> >> field is not needed. We can clarify that in the draft. >> >> >> >> >> > >> >> >[JLS] I am not clear - are you saying that the first sever message >> >> >sent with just TLVs cannot be fragmented? >> >> [HZ] No, they can be fragmented. However, currently, Outer TLVs are >> >>only allowed in the first 2 messages in TEAP exchanges, 1st server to >> >>peer with TEAP start, and 2nd message client to server with >> >>Client_hello. It is >> >unlikely >> >> the first server message will have lots of outer TLVs that needs the >> >>fragmentation (only one or two outer TLV is being defined so far). The >> >>2nd message from client to server with client _hello might if the >> >>ticket >> >extension >> >> is too big, but unlikely. >> >> >> >> > >> >> >[JLS] There is a potential issue in the way that the Message Length >> >> >field is described. For finding the location of the Outer TLVs it >> >> >provides the length of the TLS Data field, but the internal >> >> >description says that it gives the length of the message data in the >> >> >event of a >> >> fragmented message. >> >> >If the first client response message is both fragmented on length >> >> >and contains TLVs, then the message length field must be the length >> >> >of the TLS data in order to find the Outer TLV data but that means >> >> >it is not the length of all of the fragmented data. This is not an >> >> >issue after the first pair of messages as the Outer TLVs are no >> >> >longer allowed at that point. >> >> [HZ] The message length is the total length of the TEAP packet if >> >fragmented, >> >> to provide a hint for the peer to allocate the buffer. The start of >> >> the >> >outer >> >> TLV can be calculated from the EAP message length and length field >> >>inside the TLS data, not dependent on the Message Length field. The >> >>current draft text in Section 4.1 Outer TLVs description incorrectly >> >>refers to message length field, will need to be corrected. >> >> Since Outer TLVs only occur in the first 2 TEAP exchanges, the TLS >> >>data is >> >one >> >> type and relatively simple, it should not be too hard to figure out >> >> the >> >start. >> >> > >> >> >[JLS] I presume that the Length needs to be present only if the >> >> >message is fragmented as a hint to the receiver on the length of the >> >> >buffer to allocate as I don't remember any error checks that the >> >> >length of the message match the re-constructed message from the >> >> >fragments (and if it did then the previous paragraph makes that >> >> >faulty). Should there be an error check on the message length w/ >> >> >the length of the re-constructed buffer? >> >> [HZ] I don't know if current TLS implementations do check for that >> >>error. >> >> Message length is only used for a hint. The EAP-TLS RFC doesn't cover >> >>that either. Thought it did provide more detailed description of the >> >>message length and L bit description, something we could use for the >> >>TEAP draft. >> >> > >> >> > >> >> >> > >> >> >> >2. There is nothing to say which TLVs can and cannot occur in >> >> >> >the Outer TLVs in any easily findable method. Either a table or >> >> >> >the string outer in descriptions would be helpful. As an >> >> >> >example, does the Authority-ID TLV in the outer TLV make sense? >> >> >> [HZ] We will add that table. >> >> >> > >> >> >> >3. I have gone through the fragmentation and did an >> >> >> >implementation rather than just reading it. The questions that I >> >> >> >have on it now are slightly different. Do TLVs need to be on a >> fragment boundary? >> >> >> >Or do we just build the entire message, fragment it into >> >> >> >convenient sizes regardless of the actual content of the message >> >> >> >contents and sent the pieces across? If so then the text should >> >> >> >probably be re-written to be clearer. Specifically, the message >> >> >> >length is not useful for allocating the buffer on the first round >> >> >> >trip of messages where one can have a TLV >> >> >> added in to the content. >> >> >> >[HZ] Message length covers the whole TEAP packet even if >> fragmented. >> >> >> >TLVs do not need to be on a fragment boundary. Just build the >> >> >> >whole message contents and send the pieces across. We will >> >> >> >provide some text to clarify this. >> >> > >> >> >[JLS] - see note above about finding the start of the Outer TLV data >> >> >block on the first pair of messages. >> >> > >> >> >> > >> >> >> > >> >> >> >_______________________________________________ >> >> >> >Emu mailing list >> >> >> >Emu@ietf.org >> >> >> >https://www.ietf.org/mailman/listinfo/emu >> >> > >> > > _______________________________________________ Emu mailing list Emu@ietf.org https://www.ietf.org/mailman/listinfo/emu