Subject: [quicwg/base-drafts] fd458d: Rework cleartext packet descriptions

From: Martin Thomson <[email-masked]>
Date: Wed, 03 May 2017 03:36:36 -0700

Branch: refs/heads/invert_connection_id
  Home:   https://github.com/quicwg/base-drafts
  Commit: fd458d542c0bbd38da4d0ac43520da8d11b20c66
      https://github.com/quicwg/base-drafts/commit/fd458d542c0bbd38da4d0ac43520da8d11b20c66
  Author: Martin Thomson <[email-masked]>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Rework cleartext packet descriptions

This defines a new packet type for the initial client cleartext packet, and
stateless rejects.  The remaining packets that carry cleartext messages remain
the same.  The final packet from the server is removed; instead the server
cleartext packet carries the server-selected connection ID.  The server can
propose a new connection ID in any of its cleartext packets, including the
version negotiation packet.

This will need to roll up changes from stateless rejects.  I'll merge that
branch after this commit.

Things that I might do differently: require the client to send an initial
packet after version negotiation on the basis that version negotiation is a
complete do-over.  Maybe also after a stateless reject, which would mean that
all packets containing the ClientHello would use that "initial" type.  That
would mean that only the initial type would have packet size restrictions,
which is nice.

Those alternatives give the server more options for changing connection ID as
well, but it also removes the ability for a server-side load balancer to easily
distinguish between connection IDs that the client proposes and those that the
server has provided.  Not sure which way that goes, I've opted to keep the
signal in place until we've had some more discussion.

  Commit: 1d8b01d7a13f36b94bef172c59b8168ec10519a9
      https://github.com/quicwg/base-drafts/commit/1d8b01d7a13f36b94bef172c59b8168ec10519a9
  Author: Martin Thomson <[email-masked]>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M draft-ietf-quic-tls.md

  Log Message:
  -----------
  Merge branch 'stateless_reject' into invert_connection_id

  Commit: beb33da6b62830f8ded373982f1178450e8732d2
      https://github.com/quicwg/base-drafts/commit/beb33da6b62830f8ded373982f1178450e8732d2
  Author: Martin Thomson <[email-masked]>
  Date:   2017-05-03 (Wed, 03 May 2017)

  Changed paths:
    M draft-ietf-quic-tls.md

  Log Message:
  -----------
  Expand on HelloRetryRequest rules

Compare: https://github.com/quicwg/base-drafts/compare/fd458d542c0b^...beb33da6b628