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

Issue 920993002: Added DISABLE_ALTERNATE_PROTOCOLS load flag, and use it for DRP probe. (Closed)

Created:
5 years, 10 months ago by sclittle
Modified:
5 years, 9 months ago
Reviewers:
bengr, Ryan Hamilton, mmenke
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

Added DISABLE_ALTERNATE_PROTOCOLS load flag, and use it for DRP probe. Adds a new load flag DISABLE_ALTERNATE_PROTOCOLS to prevent use of alternate protocols for a request. This load flag is used to ensure that the Data Reduction Proxy probe request goes out over vanilla HTTP so that it can be intercepted by middleboxes. BUG=437080

Patch Set 1 #

Total comments: 2

Patch Set 2 : Addressed comments and added test #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+46 lines, -8 lines) Patch
M components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M net/base/load_flags_list.h View 1 chunk +4 lines, -0 lines 1 comment Download
M net/http/http_stream_factory_impl.h View 1 1 chunk +3 lines, -3 lines 0 comments Download
M net/http/http_stream_factory_impl.cc View 1 5 chunks +9 lines, -4 lines 0 comments Download
M net/quic/quic_network_transaction_unittest.cc View 1 2 chunks +28 lines, -0 lines 1 comment Download

Messages

Total messages: 17 (2 generated)
sclittle
bengr: components/data_reduction_proxy/* rch: net/* I don't know where/how this should be unit tested, any advice? ...
5 years, 10 months ago (2015-02-12 23:32:25 UTC) #2
Ryan Hamilton
It would be great if you could add a test in quic_network_transaction_tests.cc which verifies that ...
5 years, 10 months ago (2015-02-12 23:48:37 UTC) #3
bengr
Added mmenke, because I believe he wants to clean up the load flags.
5 years, 10 months ago (2015-02-13 16:44:34 UTC) #4
mmenke
The concern here is the probe request going over QUIC (Not HTTP/2, since anything intercepting ...
5 years, 10 months ago (2015-02-13 16:47:46 UTC) #5
mmenke
On 2015/02/13 16:47:46, mmenke wrote: > The concern here is the probe request going over ...
5 years, 10 months ago (2015-02-13 16:50:25 UTC) #6
Ryan Hamilton
On 2015/02/13 16:50:25, mmenke wrote: > > Also, if the probe requests ends up establishing ...
5 years, 10 months ago (2015-02-13 17:59:38 UTC) #8
mmenke
On 2015/02/13 17:59:38, Ryan Hamilton wrote: > On 2015/02/13 16:50:25, mmenke wrote: > > > ...
5 years, 10 months ago (2015-02-13 18:05:01 UTC) #9
Ryan Hamilton
On 2015/02/13 18:05:01, mmenke wrote: > > Ahh...And we do speak QUIC over HTTP. Indeed... ...
5 years, 10 months ago (2015-02-13 18:19:32 UTC) #10
sclittle
https://codereview.chromium.org/920993002/diff/1/net/http/http_stream_factory_impl.cc File net/http/http_stream_factory_impl.cc (right): https://codereview.chromium.org/920993002/diff/1/net/http/http_stream_factory_impl.cc#newcode159 net/http/http_stream_factory_impl.cc:159: (request_info.load_flags & LOAD_DISABLE_ALTERNATE_PROTOCOLS) == 0) { On 2015/02/12 23:48:37, ...
5 years, 10 months ago (2015-02-13 19:32:26 UTC) #11
Ryan Hamilton
https://codereview.chromium.org/920993002/diff/20001/net/base/load_flags_list.h File net/base/load_flags_list.h (right): https://codereview.chromium.org/920993002/diff/20001/net/base/load_flags_list.h#newcode106 net/base/load_flags_list.h:106: // SPDY, QUIC). Oh. If this is what the ...
5 years, 10 months ago (2015-02-13 19:44:28 UTC) #12
mmenke
On 2015/02/13 19:44:28, Ryan Hamilton wrote: > https://codereview.chromium.org/920993002/diff/20001/net/base/load_flags_list.h > File net/base/load_flags_list.h (right): > > https://codereview.chromium.org/920993002/diff/20001/net/base/load_flags_list.h#newcode106 ...
5 years, 10 months ago (2015-02-17 16:59:25 UTC) #13
mmenke
On 2015/02/17 16:59:25, mmenke wrote: > On 2015/02/13 19:44:28, Ryan Hamilton wrote: > > > ...
5 years, 10 months ago (2015-02-17 17:01:24 UTC) #14
sclittle
On 2015/02/17 17:01:24, mmenke wrote: > On 2015/02/17 16:59:25, mmenke wrote: > > On 2015/02/13 ...
5 years, 10 months ago (2015-02-17 18:46:45 UTC) #15
bengr
On 2015/02/17 18:46:45, sclittle wrote: > On 2015/02/17 17:01:24, mmenke wrote: > > On 2015/02/17 ...
5 years, 9 months ago (2015-03-09 17:50:41 UTC) #16
sclittle
5 years, 9 months ago (2015-03-09 17:51:41 UTC) #17
On 2015/03/09 17:50:41, bengr wrote:
> On 2015/02/17 18:46:45, sclittle wrote:
> > On 2015/02/17 17:01:24, mmenke wrote:
> > > On 2015/02/17 16:59:25, mmenke wrote:
> > > > On 2015/02/13 19:44:28, Ryan Hamilton wrote:
> > > > >
> > > >
> > >
> >
>
https://codereview.chromium.org/920993002/diff/20001/net/base/load_flags_list.h
> > > > > File net/base/load_flags_list.h (right):
> > > > > 
> > > > >
> > > >
> > >
> >
>
https://codereview.chromium.org/920993002/diff/20001/net/base/load_flags_list...
> > > > > net/base/load_flags_list.h:106: // SPDY, QUIC).
> > > > > Oh. If this is what the flag is supposed to do then it needs more
work.
> > All
> > > > this
> > > > > flag does is to disable support for the Alternate-Protocol header
which
> is
> > > how
> > > > > we announce QUIC. However, SPDY and HTTP/2 are done via NPN/ALPN
> > negotiation
> > > > in
> > > > > the TLS handshake. It could be possible to disable this too if you
wish,
> > but
> > > > the
> > > > > current CL would need more work. Of course, SPDY is going away in
favor
> of
> > > > > HTTP/2 and HTTP/2 is going to soon be the up-to-date standard version
of
> > > HTTP
> > > > so
> > > > > it's not much of an "alternative protocol" in that sense. If you
really
> > need
> > > > > "must be unencrypted http/1.1" perhaps the flag should have a
different
> > > name?
> > > > > 
> > > > >
> > > >
> > >
> >
>
https://codereview.chromium.org/920993002/diff/20001/net/quic/quic_network_tr...
> > > > > File net/quic/quic_network_transaction_unittest.cc (right):
> > > > > 
> > > > >
> > > >
> > >
> >
>
https://codereview.chromium.org/920993002/diff/20001/net/quic/quic_network_tr...
> > > > > net/quic/quic_network_transaction_unittest.cc:610:
> > > > > SendRequestAndExpectHttpResponse("hello world");
> > > > > Please add a comment about why this line is duplicated, since the
> > > duplication
> > > > is
> > > > > critical.
> > > > 
> > > > I don't suppose we can just disable HTTP over QUIC support for the
> flywheel
> > > > domain, server-side, and only use it for HTTPS?
> > > 
> > > At least I assume that if we're using the proxy over HTTP the reason is so
> > that
> > > the ISP can intercept requests, which it probably can't do if we're using
> > QUIC,
> > > anyways (It's technically feasible, of course, I just mean the capability
is
> > > presumably not deployed).
> > 
> > The probe request does not go through the proxy, it goes over direct.
> > 
> > Essentially what we do right now is prevent "http://check.googlezip.net"
from
> > advertising that it supports QUIC; this way ISPs and such can intercept that
> > probe.
> > 
> > This isn't really a good long-term solution though; see discussion on
> > http://crbug.com/437080.
> 
> Please close if you are abandoning this CL.

I'm abandoning this CL; tbansal@ took over in
https://codereview.chromium.org/981633002/.

Powered by Google App Engine
This is Rietveld 408576698