summaryrefslogtreecommitdiffstats
path: root/net/http
diff options
context:
space:
mode:
authorjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-22 03:47:35 +0000
committerjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-22 03:47:35 +0000
commit376d38ae23c4c37dc50f7c2ed94df32f7cd5f8da (patch)
treea9ff0c922c4ce7ccd5ef0814af2fbe211876bd8e /net/http
parent1f9df715d0abe3969ed69ee02bbb98898e962fe7 (diff)
downloadchromium_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.cc6
-rw-r--r--net/http/http_network_session.h1
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;