diff options
author | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-22 03:47:35 +0000 |
---|---|---|
committer | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-22 03:47:35 +0000 |
commit | 376d38ae23c4c37dc50f7c2ed94df32f7cd5f8da (patch) | |
tree | a9ff0c922c4ce7ccd5ef0814af2fbe211876bd8e /net/http | |
parent | 1f9df715d0abe3969ed69ee02bbb98898e962fe7 (diff) | |
download | chromium_src-376d38ae23c4c37dc50f7c2ed94df32f7cd5f8da.zip chromium_src-376d38ae23c4c37dc50f7c2ed94df32f7cd5f8da.tar.gz chromium_src-376d38ae23c4c37dc50f7c2ed94df32f7cd5f8da.tar.bz2 |
On Windows, avoid QUIC UDP-port selection in Stable and Beta channels
We need to avoid instigating security dialogs on Stable or Beta
under Windows. The port selection feature is helping us appraise
0-RTT connectivity in QUIC by "usually" hitting the same server
when the same destination IP is used (because the source IP and
consistently-selected port will usually be sharded by load balancers
to the same machine each time).
Hopefully, we'll soon have a way to detect that it is safe to use
port selection on Stable and Beta, because the installer will try to
create a security rule allowing port selection. Until then, we just
decline to use this feature.
r=rch
BUG=329255
Review URL: https://codereview.chromium.org/141803006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246230 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r-- | net/http/http_network_session.cc | 6 | ||||
-rw-r--r-- | net/http/http_network_session.h | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc index ec1de26..ebab397 100644 --- a/net/http/http_network_session.cc +++ b/net/http/http_network_session.cc @@ -82,6 +82,7 @@ HttpNetworkSession::Params::Params() time_func(&base::TimeTicks::Now), enable_quic(false), enable_quic_https(false), + enable_quic_port_selection(true), quic_clock(NULL), quic_random(NULL), quic_max_packet_length(kDefaultMaxPacketSize), @@ -117,7 +118,8 @@ HttpNetworkSession::HttpNetworkSession(const Params& params) params.quic_clock ? params. quic_clock : new QuicClock(), params.quic_max_packet_length, - params.quic_supported_versions), + params.quic_supported_versions, + params.enable_quic_port_selection), spdy_session_pool_(params.host_resolver, params.ssl_config_service, params.http_server_properties, @@ -200,6 +202,8 @@ base::Value* HttpNetworkSession::QuicInfoToValue() const { dict->Set("sessions", quic_stream_factory_.QuicStreamFactoryInfoToValue()); dict->SetBoolean("quic_enabled", params_.enable_quic); dict->SetBoolean("quic_enabled_https", params_.enable_quic_https); + dict->SetBoolean("enable_quic_port_selection", + params_.enable_quic_port_selection); dict->SetString("origin_to_force_quic_on", params_.origin_to_force_quic_on.ToString()); return dict; diff --git a/net/http/http_network_session.h b/net/http/http_network_session.h index 40d022d..7e8ff17 100644 --- a/net/http/http_network_session.h +++ b/net/http/http_network_session.h @@ -88,6 +88,7 @@ class NET_EXPORT HttpNetworkSession std::string trusted_spdy_proxy; bool enable_quic; bool enable_quic_https; + bool enable_quic_port_selection; HostPortPair origin_to_force_quic_on; QuicClock* quic_clock; // Will be owned by QuicStreamFactory. QuicRandom* quic_random; |