Subject: Re: [quicwg/base-drafts] all HTTP/3 protocol violations should lead to connection errors (#2510)

From: Kazuho Oku <[email-masked]>
Date: Wed, 03 Apr 2019 22:25:16 -0700

The PR needs to address the following two as well (pointed out by @marten-seemann):
* a PRIORITY frame on a request stream after other frames
* a CANCEL_PUSH frame on non-control streams

-- 
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/2510#issuecomment-479754799

---

From: Mike Bishop <[email-masked]>
Date: Tue, 16 Apr 2019 20:59:13 +0000 (UTC)

MikeBishop commented on this pull request.

@kazuho, thanks for writing this up.  I'm still a little torn about making almost every possible error a connection error, but they are correctness issues.  Are you planning to address the two points you raise above?

> @@ -586,10 +586,10 @@ using a Stream ID of 0, as in QUIC stream 0 carries a valid HTTP request.  The
 root of the tree cannot be reprioritized.  A PRIORITY frame sent on a request
 stream with the Prioritized Element Type set to any value other than `11` or
 which expresses a dependency on a request with a greater Stream ID than the
-current stream MUST be treated as a stream error of type HTTP_MALFORMED_FRAME.
-Likewise, a PRIORITY frame sent on a control stream with the Prioritized Element
-Type set to `11` MUST be treated as a connection error of type
-HTTP_MALFORMED_FRAME.
+current stream MUST be treated as a connection error of type
+HTTP_MALFORMED_FRAME.  Likewise, a PRIORITY frame sent on a control stream with
+the Prioritized Element Type set to `11` MUST be treated as a connection error
+of type HTTP_MALFORMED_FRAME.

Since this paragraph is structured as "things that cause a stream error" and "things that cause a connection error," I suspect we could fold everything together if everything is going to be a connection error.  Maybe even something like:

```
The following situations MUST be treated as connection errors of type HTTP_MALFORMED_FRAME:
  - A PRIORITY frame sent on a request stream with the Prioritized Element
    Type set to any value other than `11`
  - A PRIORITY frame which expresses a dependency on a request with a 
    greater Stream ID than the	current stream  
  - A PRIORITY frame sent on a control stream with the Prioritized Element
    Type set to `11`
```

-- 
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/2510#pullrequestreview-227427686