summaryrefslogtreecommitdiffstats
path: root/net/http/http_stream_factory_impl_job.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/http/http_stream_factory_impl_job.cc')
-rw-r--r--net/http/http_stream_factory_impl_job.cc26
1 files changed, 24 insertions, 2 deletions
diff --git a/net/http/http_stream_factory_impl_job.cc b/net/http/http_stream_factory_impl_job.cc
index 7a2aa87..15cba9d 100644
--- a/net/http/http_stream_factory_impl_job.cc
+++ b/net/http/http_stream_factory_impl_job.cc
@@ -1071,8 +1071,30 @@ void HttpStreamFactoryImpl::Job::InitSSLConfig(
ssl_config->false_start_enabled = false;
}
- UMA_HISTOGRAM_ENUMERATION("Net.ConnectionUsedSSLv3Fallback",
- static_cast<int>(ssl_config->ssl3_fallback), 2);
+ enum {
+ FALLBACK_NONE = 0, // SSL version fallback did not occur.
+ FALLBACK_SSL3 = 1, // Fell back to SSL 3.0.
+ FALLBACK_TLS1 = 2, // Fell back to TLS 1.0.
+ FALLBACK_TLS1_1 = 3, // Fell back to TLS 1.1.
+ FALLBACK_MAX
+ };
+
+ int fallback = FALLBACK_NONE;
+ if (ssl_config->version_fallback) {
+ switch (ssl_config->version_max) {
+ case SSL_PROTOCOL_VERSION_SSL3:
+ fallback = FALLBACK_SSL3;
+ break;
+ case SSL_PROTOCOL_VERSION_TLS1:
+ fallback = FALLBACK_TLS1;
+ break;
+ case SSL_PROTOCOL_VERSION_TLS1_1:
+ fallback = FALLBACK_TLS1_1;
+ break;
+ }
+ }
+ UMA_HISTOGRAM_ENUMERATION("Net.ConnectionUsedSSLVersionFallback",
+ fallback, FALLBACK_MAX);
if (request_info_.load_flags & LOAD_VERIFY_EV_CERT)
ssl_config->verify_ev_cert = true;