New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 741032 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Send SETTINGS_MAX_HEADER_LIST_SIZE

Project Member Reported by dahollings@chromium.org, Jul 11 2017

Issue description

HTTP/2 implementation enforces 256KB header list size limit. We should consider advertising this to peers via SETTINGS_MAX_HEADER_LIST_SIZE.
 

Comment 1 by b...@chromium.org, Jul 14 2017

Owner: b...@chromium.org
Status: Started (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/48c4ddfd57b22f94ceaa778c0456d9e328f278d0

commit 48c4ddfd57b22f94ceaa778c0456d9e328f278d0
Author: Bence Béky <bnc@chromium.org>
Date: Mon Jul 24 23:14:34 2017

Advertise MAX_HEADER_LIST_SIZE in initial SETTINGS frame.

Advertise SETTINGS_MAX_HEADER_LIST_SIZE in HTTP/2 initial SETTINGS
frame.  Also, plumb this setting through the following way:
NetworkSessionConfigurator may or may not add
SETTINGS_MAX_HEADER_LIST_SIZE value to
HttpNetworkSession::Param::http2_settings based on field trials.  This
is passed on to HttpNetworkSession, which sets a default value of 256 kB
if no value is present.  (This limit has already been enforced in
HeaderCoalescer.)  This then gets passed to SpdySessionPool, then
to SpdySession, which sends it out in the initial SETTINGS frame.  Also,
SpdySession passes it so BufferedSpdyFramer, which passes this value to
SpdyFramer to HpackDecoder3 to Http2HpackDecoder to
HpackWholeEntryBuffer to limit the size of any header name or value at
the buffering stage, and also to HeaderCoalescer to enforce the limit on
the total size of the header block.

BUG= 741032 

Change-Id: I5d49e2f67357aa9936203442dd25fa71f3ca61cd
Reviewed-on: https://chromium-review.googlesource.com/571292
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Commit-Queue: Bence Béky <bnc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489130}
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/http/http_network_session.cc
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/http/http_network_session.h
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/buffered_spdy_framer.cc
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/buffered_spdy_framer.h
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/buffered_spdy_framer_unittest.cc
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/header_coalescer.cc
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/header_coalescer.h
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/header_coalescer_test.cc
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_network_transaction_unittest.cc
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_session.cc
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_session_unittest.cc
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_test_util_common.cc
[modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_test_util_common.h

Comment 3 by b...@chromium.org, Jul 24 2017

Status: Fixed (was: Started)

Sign in to add a comment