Subject: [TLS] Zaheduzzaman Sarker's No Objection on draft-ietf-tls-dtls13-41: (with COMMENT)

From: Zaheduzzaman Sarker via Datatracker <[email-masked]>
Date: Tue, 23 Mar 2021 10:56:54 -0700

Zaheduzzaman Sarker has entered the following ballot position for
draft-ietf-tls-dtls13-41: No Objection

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-tls-dtls13/

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

This was very well written document. Thanks for this.

Minor observations below-

* Section 3.1 :
  - Once the client has transmitted the ClientHello message, it expects to see
  a HelloRetryRequest or a ServerHello from the server. However, if the
  server's message is lost, the client knows that either the ClientHello or the
  response from the server has been lost and retransmits.

is this supposed to mean when the timer expires the client knows either the
ClientHello or the response from the server has been lost? the current text
does not imply that - the server's message is lost is an interpretation of
timer expired event.

  -  The server also maintains a retransmission timer and retransmits when that
  timer expires.

The way it is written following the previous paragraph, almost made me feel
that the server is also maintaining a timer for the client hello. It would be
nicer if some text explains the usage of timers at the server to break the
continuous read from previous paragraph.

* Section 3.3: I would add a reference to section 4.4.

* Section 4.5.2: I assume the silent discard of invalid records will not impact
the timers, is that a valid assumption? if yes, then it would be good if this
is clarified in the text.

* Section 5.8.1:

    Because DTLS clients send the first message (ClientHello), they start in
    the PREPARING state. DTLS servers start in the WAITING state, but with
    empty buffers and no retransmit timer

This is repeated twice in the section, is there any reason for that?