Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(470)

Issue 2028473003: Move header-ordering validation from hpack decoder to header validator. (Closed)

Created:
4 years, 6 months ago by yinjie
Modified:
4 years, 6 months ago
Reviewers:
Bence
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Move header-ordering validation from hpack decoder to header validator. The HTTP/2 spec (not the HPACK spec) demands that pseudoheaders appearing after regular headers in a header block should result in a RST_STREAM with PROTOCOL_ERROR. This CL lands server change 123039286 by dahollings. BUG=488484 Committed: https://crrev.com/3992fd06cd7ff06861ccee38a02bd568f61e4d52 Cr-Commit-Position: refs/heads/master@{#400824}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Removes tests and HpackDecoder::regular_header_seen_. Adds header validation into HeaderCoalescer. #

Patch Set 3 : Removes tests and HpackDecoder::regular_header_seen_. Adds header validation into HeaderCoalescer. #

Patch Set 4 : Removes tests and HpackDecoder::regular_header_seen_. Adds header validation into HeaderCoalescer. #

Patch Set 5 : Removes tests and HpackDecoder::regular_header_seen_. Adds header validation into HeaderCoalescer. #

Patch Set 6 : Removes tests and HpackDecoder::regular_header_seen_. Adds header validation into HeaderCoalescer. #

Total comments: 1

Patch Set 7 : Introduce SPDY version information to HeaderCoalescer, as it is needed in HeaderCoalescer::OnHeader… #

Patch Set 8 : Introduce SPDY version information to HeaderCoalescer, as it is needed in HeaderCoalescer::OnHeader… #

Patch Set 9 : Introduce SPDY version information to HeaderCoalescer, as it is needed in HeaderCoalescer::OnHeader… #

Patch Set 10 : Rebase #

Patch Set 11 : Rebase #

Patch Set 12 : Fix lint errors. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -34 lines) Patch
M net/spdy/buffered_spdy_framer.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M net/spdy/header_coalescer.h View 1 2 3 4 5 6 7 8 9 2 chunks +5 lines, -1 line 0 comments Download
M net/spdy/header_coalescer.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +11 lines, -1 line 0 comments Download
M net/spdy/hpack/hpack_decoder.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -3 lines 0 comments Download
M net/spdy/hpack/hpack_decoder.cc View 1 2 3 4 5 6 7 8 9 3 chunks +0 lines, -14 lines 0 comments Download
M net/spdy/hpack/hpack_decoder_test.cc View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -14 lines 0 comments Download

Messages

Total messages: 35 (16 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2028473003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2028473003/1
4 years, 6 months ago (2016-05-30 21:31:13 UTC) #2
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-05-30 22:51:26 UTC) #4
yinjie
4 years, 6 months ago (2016-05-30 22:52:12 UTC) #6
Bence
This validation should happen somewhere in Chromium. I think you should implement it in HeaderCoalescer: ...
4 years, 6 months ago (2016-05-31 15:57:02 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2028473003/40001
4 years, 6 months ago (2016-06-19 06:41:29 UTC) #9
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/187966)
4 years, 6 months ago (2016-06-19 07:03:25 UTC) #11
Bence
LGTM with nit. Thank you. https://codereview.chromium.org/2028473003/diff/100001/net/spdy/header_coalescer.cc File net/spdy/header_coalescer.cc (right): https://codereview.chromium.org/2028473003/diff/100001/net/spdy/header_coalescer.cc#newcode11 net/spdy/header_coalescer.cc:11: void HeaderCoalescer::OnHeader(base::StringPiece key, base::StringPiece ...
4 years, 6 months ago (2016-06-20 12:11:27 UTC) #12
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2028473003/120001
4 years, 6 months ago (2016-06-20 18:27:28 UTC) #14
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios-device on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/23432) ios-device-gn on ...
4 years, 6 months ago (2016-06-20 18:29:32 UTC) #16
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2028473003/140001
4 years, 6 months ago (2016-06-20 18:35:00 UTC) #18
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios-device on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/23434) ios-device-gn on ...
4 years, 6 months ago (2016-06-20 18:37:29 UTC) #20
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2028473003/180001
4 years, 6 months ago (2016-06-20 20:29:14 UTC) #22
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/178584) ios-device-gn on ...
4 years, 6 months ago (2016-06-20 20:38:32 UTC) #24
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2028473003/220001
4 years, 6 months ago (2016-06-20 20:57:35 UTC) #26
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_clang on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/40290)
4 years, 6 months ago (2016-06-20 21:29:13 UTC) #28
yinjie
On 2016/06/20 12:11:27, Bence wrote: > LGTM with nit. Thank you. > > https://codereview.chromium.org/2028473003/diff/100001/net/spdy/header_coalescer.cc > ...
4 years, 6 months ago (2016-06-20 22:58:25 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2028473003/220001
4 years, 6 months ago (2016-06-20 22:59:30 UTC) #32
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years, 6 months ago (2016-06-20 23:06:22 UTC) #33
commit-bot: I haz the power
4 years, 6 months ago (2016-06-20 23:07:49 UTC) #35
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/3992fd06cd7ff06861ccee38a02bd568f61e4d52
Cr-Commit-Position: refs/heads/master@{#400824}

Powered by Google App Engine
This is Rietveld 408576698