Subject: [quicwg/base-drafts] Rationalize HTTP_WRONG_SETTING_DIRECTION (#2814)

From: Lucas Pardue <[email-masked]>
Date: Wed, 19 Jun 2019 05:30:32 -0700

This fixes #2810 in a different way by subtituting the error code and not changing the requirements related to NUM_PLACEHOLDERS.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Rationalize HTTP_WRONG_SETTING_DIRECTION

-- File Changes --

    M draft-ietf-quic-http.md (13)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/2814.patch
https://github.com/quicwg/base-drafts/pull/2814.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/2814

---

From: Kazuho Oku <[email-masked]>
Date: Wed, 19 Jun 2019 05:38:36 -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/2814#pullrequestreview-251668454

---

From: Mike Bishop <[email-masked]>
Date: Wed, 19 Jun 2019 10:26:58 -0700

MikeBishop commented on this pull request.

Looks good!

> @@ -1595,9 +1595,10 @@ HTTP_NO_ERROR (0x00):
 : No error.  This is used when the connection or stream needs to be closed, but
   there is no error to signal.
 
-HTTP_WRONG_SETTING_DIRECTION (0x01):
-: A client-only setting was sent by a server, or a server-only setting by a
-  client.
+HTTP_SETTINGS_ERROR (0x01):
+: An endpoint detected an error with a SETTINGS frame: a duplicate setting was
+  detected, a client-only setting was sent by a server, or a server-only setting
+  by a client.

The suggestion to move HTTP_GENERAL_PROTOCOL_ERROR to 0x01 might be worth taking at the same time, since people are going to change which error to use for these anyway.  (Also, I just noticed that GPE is missing from the IANA table.)

> @@ -1902,7 +1903,7 @@ The entries in the following table are registered by this document.
 | Name                                | Code       | Description                              | Specification          |
 | ----------------------------------- | ---------- | ---------------------------------------- | ---------------------- |
 | HTTP_NO_ERROR                       | 0x0000     | No error                                 | {{http-error-codes}}   |
-| HTTP_WRONG_SETTING_DIRECTION        | 0x0001     | Setting sent in wrong direction          | {{http-error-codes}}   |
+| HTTP_SETTINGS_ERROR                 | 0x0001     | Setting duplication or wrong direction   | {{http-error-codes}}   |

I'd be more general -- SETTINGS frame contained invalid values, or something like that.  It's anything that could go wrong with that frame's payload.

-- 
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/2814#pullrequestreview-251852413

---

From: Lucas Pardue <[email-masked]>
Date: Wed, 19 Jun 2019 10:34:07 -0700

LPardue commented on this pull request.

That was my initial intention but I thought it might make life harder. However, life is hard regardless so I'll try it out.

> (Also, I just noticed that GPE is missing from the IANA table.)

You reminded me that I fixed this on the MALFORMED_FRAME PR. It makes sense to fix that here though while shuffling things around.

-- 
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/2814#discussion_r295420052

---

From: Lucas Pardue <[email-masked]>
Date: Wed, 19 Jun 2019 10:46:34 -0700

@LPardue pushed 1 commit.

3b9f6d809d09a1162a94e92578ac14dbd1bcbd9c  swivel SETTINGS and GPE error codes

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2814/files/9532217c37521ee1fe625d028972509ee68e3d82..3b9f6d809d09a1162a94e92578ac14dbd1bcbd9c

---

From: Lucas Pardue <[email-masked]>
Date: Wed, 19 Jun 2019 10:48:23 -0700

Thanks, fixed.

-- 
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/2814#discussion_r295426007

---

From: Lucas Pardue <[email-masked]>
Date: Wed, 19 Jun 2019 10:48:25 -0700

Thanks, fixed.

-- 
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/2814#discussion_r295426041

---

From: Kazuho Oku <[email-masked]>
Date: Wed, 19 Jun 2019 17:33:48 -0700

kazuho commented on this pull request.

> @@ -1664,9 +1664,10 @@ HTTP_UNEXPECTED_FRAME (0x0013):
 HTTP_REQUEST_REJECTED (0x0014):
 : A server rejected a request without performing any application processing.
 
-HTTP_GENERAL_PROTOCOL_ERROR (0x00FF):
-: Peer violated protocol requirements in a way which doesn't match a more
-  specific error code, or endpoint declines to use the more specific error code.
+HTTP_SETTINGS_ERROR (0x00FF):
+: An endpoint detected an error with a SETTINGS frame: a duplicate setting was

Maybe "detected an error _in the payload of_ a SETTINGS frame"?

I suggest this assuming that HTTP_MALFORMED_FRAME is the error code to be used when seeing a badly-formatted SETTINGS frame (for example a SETTINGS frame carrying one byte of data: 0xff).

-- 
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/2814#pullrequestreview-252034093

---

From: Lucas Pardue <[email-masked]>
Date: Thu, 20 Jun 2019 04:18:41 -0700

82208812268b233daac6810c44caeb58bf85fb3e  Clarify that error code is for values, not size

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2814/files/3b9f6d809d09a1162a94e92578ac14dbd1bcbd9c..82208812268b233daac6810c44caeb58bf85fb3e

---

From: Lucas Pardue <[email-masked]>
Date: Thu, 20 Jun 2019 04:20:35 -0700

I added you suggestion for payload. 

The ultimate goal is to replace MALFORMED_FRAME with FRAME_SIZE_ERROR. That should cover the case you mention. At that point in time we an add some text to suggest which type of error code should be used.

-- 
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/2814#discussion_r295760408

---

From: Mike Bishop <[email-masked]>
Date: Thu, 27 Jun 2019 14:40:51 -0700

@MikeBishop pushed 67 commits.

9ea2836afb0ed10443ed1b926e3ea73b5f88e599  Jana's suggestion
fed5f29eb369d133f7c40d901576c9debb0be9f1  Editorial suggestions on the Streams section
84054d5a3488e897ad7ecb129c78e18312f486d6  Transport editorial suggestions
26505e3b33444fcd0f7e83570a981944f8c82438  Update draft-ietf-quic-transport.md
d42fd36b8a4c94f7f227e6911256256eabc6426a  Update draft-ietf-quic-transport.md
2d198dfffcca5ed6694f5109cb21f830bd316dda  Fix verb ownership: a packet does not process packets
9fe134fb8eb371ab40710f82e4b7b48da70c6986  fix description which token to use for Initial packets
f9c685139e55d8d824747ee306c4d3f079be257e  Update draft-ietf-quic-transport.md
9e3b8003e45b881c63118427c8a64e37db2297fa  Update draft-ietf-quic-transport.md
483a757fccc57d323349b3821f23ad7fa561ddd3  Update draft-ietf-quic-transport.md
e87958746169b877b3060c1ce5aaf7b6a020d514  Update draft-ietf-quic-transport.md
f546d201e4fb7b11a11bcafcd0a203c8e7a9a8cb  Update draft-ietf-quic-transport.md
8e41bfb039fa466061ab426f6bd171643bbfcc79  Merge pull request #2800 from marten-seemann/fix-token-usage
c4fcf6e91f544e9f56f096806dd6f7eabf5feab5  Merge pull request #2799 from dtikhonov/201906171701-packets-dont-process-packets
4c32ea380a03eedc43e7413418926bc520524724  Mike's comments
fc2f166590b73da2e81ddf5926138fdf9cd60d90  Update draft-ietf-quic-transport.md
fea52b2ff749fe073c46fb5d34656e365bec4210  Update draft-ietf-quic-transport.md
0cc930090e39796ac456591b786c0e2364503454  Make exceeding stream limits a connection error
f019459311444a7886721cb471f6c72eaf7c9506  Fix typos
615453788949232d984fd3ade7ebcfe99cba70f4  Fix title capitalization
a3f3471aa65ca6d9890c462625f843686d3a9d7c  clarify why the client MUST NOT reset the packet number after a Retry
8c0aa5131f6dec1eb4e6f59d44a0d36abac1a30b  remove misleading sentence about connection IDs after Retry
11eca04ecf0524b488bb3bdfc159ff268d60571a  remove conflicting paragraph
f8ff494ff544fb7ae4b6253d7bedd30496a883c4  fix typo
86a977d543e8571e55acafd7f02f9f0e8ce8d2cd  clarify why clients can't send Handshake packets from the beginning
ff1698fc81ef401fed5c24c60bb7a51d1a3f6363  Fix grammar in 3.2. Receiving Stream States
1a752ccc0099be5ca880848a59c9f18ea2b6203c  Fix grammar
98d4f38a6386773d3bfbae4cb72c3afcce1e8daf  Merge pull request #2835 from amirlivneh/grammar-2
4d38e6f55020714443ae5a7bddad662d1e3d7cc3  Merge pull request #2830 from monkey-mas/fix-grammar-in-3-2-ReceivingStreamStates
eb640ba08786f55498514abc5534532895a9dddc  recovery: fix dangling ref to tls
217306941a341029879362e7496d9d27a759512a  Merge pull request #2836 from reschke/patch-24
58877cfbf582e03e78d1727f27c3c008b2633f30  Merge pull request #2827 from amirlivneh/typos
b18e0baf6b2fc1e532e956c1a81ea57edf5b4777  Merge pull request #2831 from marten-seemann/pn-after-retry
c1e6e1eaa4500944f778c4cd6683861d33505e8a  Merge pull request #2833 from marten-seemann/fix-packet-buffering
63aa20accef3f5be9da50f26aab444162bd27944  Merge pull request #2731 from quicwg/ianswett-transport
bbe2b80d490c39c1d5900a5f00b4bbe11a29c4df  Update draft-ietf-quic-transport.md
dd947bce51843c3ec294b13428b47c220e6a7f41  Merge pull request #2730 from quicwg/ianswett-streams-editorial
0ba5ab23f95342b221cabac4fc96e635616be430  Merge pull request #2826 from quicwg/ianswett-exceed-stream-limits
dc9d7ebdb2f14409a4a547bd0605f2b56814f050  Remove stale text that forbids the use of TLS records carrying early data.  As
39eacb3d1b3fa7e06508cd3147faae50b7f77cc4  Merge pull request #2832 from marten-seemann/remove-misleading-retry-sentence
49065dba4cd6a61faceb53c913c86426cb07e6ef  Merge pull request #2828 from amirlivneh/capitalization
6ade931ef4ed274fb5608ab78b65279e39cabd2f  it doesn't matter what an Initial is coalesced with
429c21970577028a46aed47c41f57e6ba0c37260  Merge pull request #2845 from kazuho/kazuho/early-data-records-arnt-available
b536fb12752ec4302d7e805494a658ba9e8a27dd  Merge pull request #2846 from marten-seemann/coalesce-initial
41286c3d318a32922cb1da6bccf3135b7aee2e82  Wrap
da92b1e351dd4893bc5c702890258d24271a7b2c  Fix grammar
10f280e67cd0b564ed63dac5bb755e23347cff05  Merge pull request #2848 from amirlivneh/grammar-3
575fff7375c90039c38aed3d12c43dba8923d59d  Fix grammar
7757fa1f6f367b678118726b98f76d98f4d46657  Merge pull request #2849 from amirlivneh/grammar-4
00825b28527842415b2500bf9f8ea6cdb0c16cc7  [qpack] rewrite abstract
3db93931bff5b7873c227acc56270d022dc02591  [qpack] Minor editorial pass
204691ddd4bae68984fa44d24624024714d18612  [qpack] Prefer header blocks to H3 frame types
f31269bbaa13738634adfb1eeb1329e1195ebeeb  [qpack] Reorder sections
d24dc65ec79519ba647fce623a7190827498513d  [qpack] Editorial Clarifications
c81c290d169e2106d5b28978cd24ee233015649b  [qpack] Move some decoder text to the decoder section
e251b7dfceccb027fe462b3c5f980c29a657a314  [qpack] Move some explanatory text from Wire Format to Decoder section
71af1873f346495148acfd7ddf840237a6068f24  [qpack] Make the instruction text more consistent
971f7454bd414bca6f47a77fb0b0283bb385c5f1  [qpack] Remove redundant stream text, update TOC
33795a5fb45d8625a452703cf8df5e8d0180ab6c  [qpack] Header blocks carry representations
06d63073ae61ee043691e31c7eb53f5fb4b61b54  Review feedback from everyone
6b6fd584a5cb5ca9843e656a9531dc4c88b62af8  More feedback
805380e7d7bb9b5303461a07448e17265da1b362  Merge pull request #2847 from quicwg/tp_mandatory
01ca26ffe1e6aea3c762705af4eef7f990e257ef  transport: fix dangling reference to -tls
0d82dc3bc2d50a1094a65c00e71d735078010758  Merge pull request #2854 from reschke/patch-26
d6d6d0f81b781697d6fb55caee804abee43ce8e1  Compare H2 PROTOCOL_ERROR with HTTP_GENERAL_PROTOCOL_ERROR (#2808)
6678903c9d52ae99ec64b44e34f17d6620185ea8  Remove HTTP_PUSH_ALREADY_IN_CACHE error (#2813)
bb1170136e37f7bed5fbceac83d6dd1eb0013dff  Merge branch '2810-settings-error' of https://github.com/LPardue/base-drafts into LPardue-2810-settings-error

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2814/files/82208812268b233daac6810c44caeb58bf85fb3e..bb1170136e37f7bed5fbceac83d6dd1eb0013dff

---

From: Mike Bishop <[email-masked]>
Date: Thu, 27 Jun 2019 14:43:55 -0700

Merged #2814 into master.

-- 
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/2814#event-2445662388