Subject: [quicwg/base-drafts] Limit connection drops from Version Negotiation (#3533)

From: Martin Thomson <[email-masked]>
Date: Wed, 18 Mar 2020 15:31:53 -0700

The text was a little too broad.  This breaks up the text and adds two
caveats to handling rules:

1. If you have handled another packet, then assume that everything is good.

2. If you the VN includes QUIC v1, then assume that something got corrupted.

The issue addresses the second, but I think we were implying the first for some time.

Closes #3532.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/3533

-- Commit Summary --

  * Limit connection drops from Version Negotiation

-- File Changes --

    M draft-ietf-quic-transport.md (24)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3533.patch
https://github.com/quicwg/base-drafts/pull/3533.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533

---

From: Christian Huitema <[email-masked]>
Date: Wed, 18 Mar 2020 16:07:29 -0700

huitema approved this pull request.

Works for me.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533#pullrequestreview-377297903

---

From: Kazuho Oku <[email-masked]>
Date: Wed, 18 Mar 2020 16:47:09 -0700

kazuho approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533#pullrequestreview-377314518

---

From: David Schinazi <[email-masked]>
Date: Wed, 18 Mar 2020 17:02:41 -0700

DavidSchinazi approved this pull request.

> -future versions of QUIC to negotiate the version in use between endpoints.
-Future versions of QUIC might change how implementations that support multiple
-versions of QUIC react to Version Negotiation packets when attempting to
-establish a connection using this version.  How to perform version negotiation
-is left as future work defined by future versions of QUIC.  In particular,
-that future work will need to ensure robustness against version downgrade
-attacks; see {{version-downgrade}}.
+Version Negotiation packets are designed to allow future versions of QUIC to
+negotiate the version in use between endpoints.  Future versions of QUIC might
+change how implementations that support multiple versions of QUIC react to
+Version Negotiation packets when attempting to establish a connection using this
+version.
+
+A client that supports only this version of QUIC MUST abandon the current
+connection attempt if it receives a Version Negotiation packet.  However, a
+client MUST discard any Version Negotiation packet if is has received and

typo: if *it* has received

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533#pullrequestreview-377319514

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 18 Mar 2020 17:07:22 -0700

janaiyengar commented on this pull request.

Some editorial suggestions.

+connection attempt if it receives a Version Negotiation packet.  However, a
+client MUST discard any Version Negotiation packet if is has received and
+successfully processed a packet.  In addition, a client MUST discard a Version
+Negotiation packet that lists the QUIC version selected by the client.

```suggestion
A client that supports only this version of QUIC MUST abandon the current
connection attempt if it receives a Version Negotiation packet, with the
following two exceptions. A client MUST discard any Version Negotiation packet
if is has received and successfully processed any other packet, including an
earlier Version Negotiation packet. A client MUST discard a Version Negotiation
packet that lists the QUIC version selected by the client.
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533#pullrequestreview-377319265

---

From: Martin Thomson <[email-masked]>
Date: Wed, 18 Mar 2020 17:19:40 -0700

@martinthomson pushed 1 commit.

0829f13f86e7b112cf5a84563565f5354718bbc5  Fixing typo

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533/files/8b9fca5fac1626c928456b70da85689113260dad..0829f13f86e7b112cf5a84563565f5354718bbc5

---

From: Martin Thomson <[email-masked]>
Date: Wed, 18 Mar 2020 17:21:26 -0700

3694163e12642a883968502c1225472f80692c16  Jana's suggestion

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533/files/0829f13f86e7b112cf5a84563565f5354718bbc5..3694163e12642a883968502c1225472f80692c16

---

From: Marten Seemann <[email-masked]>
Date: Wed, 18 Mar 2020 19:45:30 -0700

marten-seemann approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533#pullrequestreview-377387835

---

From: ianswett <[email-masked]>
Date: Sat, 21 Mar 2020 12:21:17 -0700

ianswett approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533#pullrequestreview-378944334

---

From: Mike Bishop <[email-masked]>
Date: Wed, 25 Mar 2020 12:59:13 -0700

@MikeBishop approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3533#pullrequestreview-381490100