Subject: [quicwg/base-drafts] 3fb601: wip

From: Martin Thomson <[email-masked]>
Date: Thu, 01 Mar 2018 23:37:14 -0800

Branch: refs/heads/symmetric-connection-id
  Home:   https://github.com/quicwg/base-drafts
  Commit: 3fb601c3b1dbea55e6ffcf48c732163b0b9325df
      https://github.com/quicwg/base-drafts/commit/3fb601c3b1dbea55e6ffcf48c732163b0b9325df
  Author: Martin Thomson <[email-masked]>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

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

  Log Message:
  -----------
  wip

  Commit: e2ead3c32008e026a77712a0fcfb4a3db7eb4da2
      https://github.com/quicwg/base-drafts/commit/e2ead3c32008e026a77712a0fcfb4a3db7eb4da2
  Author: Martin Thomson <[email-masked]>
  Date:   2018-03-02 (Fri, 02 Mar 2018)

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

  Log Message:
  -----------
  Symmetric connection IDs

Lots of changes here.

Obviously people will feel inclined to nitpick at the length encoding.  Feel
free, but I think that I have good reasons for my choices there.

The NEW_CONNECTION_ID thing is tricky.  As was the analysis around the
handshake packet keys.  Also, note the trick in Version Negotiation packets
about swapping the connection IDs.  That makes client packet handling much
simpler.

The big loss is in stateless reset, which I think that I've covered well
enough.

Closes #1101.

Compare: https://github.com/quicwg/base-drafts/compare/3fb601c3b1db^...e2ead3c32008