commit | 78de17c053dd5f476d7c1cb986eb49d3fdc6d679 | [log] [tgz] |
---|---|---|
author | Bence Béky <bnc@chromium.org> | Thu Feb 14 17:01:14 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Feb 14 17:01:14 2019 |
tree | 68295f35027c63fbf029c578b068f13a7a79472f | |
parent | 6cf9dcc6ecad24b3d09b5c5398c8695a2c3867b7 [diff] |
Reject HTTP/2 pushed stream with status code other than 2xx, 3xx, 416. Pushed stream validation happened in two different places: SpdySession::TryCreatePushedStream() does validation based on information in the pushed request, like method. SpdyHttpStream::ValidatePushedHeaders() does validation based on pushed request headers, pushed response headers, and client request headers. The logic that this CL introduces, however, does not fit into either of these places: it requires the pushed response but not the client request. Therefore I am adding it to SpdyStream::SaveResponseHeaders(), and making it execute regardless of weather the delegate is attached yet (that is, regardless of whether a client request has been matched with the pushed stream yet). This allows the pushed stream with invalid status code to be reset as soon as that status code is received. Bug: 903737 Change-Id: I8be128826eb75e384fe7ffb48763b0c0259ccd06 Reviewed-on: https://chromium-review.googlesource.com/c/1377522 Commit-Queue: Bence Béky <bnc@chromium.org> Reviewed-by: Asanka Herath <asanka@chromium.org> Cr-Commit-Position: refs/heads/master@{#632252}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .