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

Issue 1682623002: Disable the TLS version fallback. (Closed)

Created:
4 years, 10 months ago by davidben
Modified:
4 years, 10 months ago
CC:
chromium-reviews, tnagel+watch_chromium.org, 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

Disable the TLS version fallback. This sets the default minimum TLS fallback version to TLS 1.2. The code is retained for now to support a resurrected SSLVersionFallbackMin admin policy. The policy is set to expire in Chrome 53, matching the timeline for the previous fallback removal. As an escape hatch (but I don't expect to need it), it's also connected to a field trial. This also tweaks the fallback code. The TLS 1.0 fallback leg is now completely gone (the admin policy expired) and ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION hits have leveled off (see Net.ErrorCodesForMainFrame3), cap the fallback code to TLS 1.1. We will no longer even try TLS 1.0 ClientHellos for the purposes of showing the error code. This will decrease the amount of time it takes to show an error page in some cases. The ssl_version_fallback_min toggle is also tweaked to reject all values below TLS 1.1, so that the resurrected admin policy cannot be used to set the value at TLS 1.0 again. (Though it would be moot due to the above change.) We'll also want to add a link to some to-be-written Help Center article on the error page, but that'll be done separately after chatting with UI folks. BUG=536200, 583787 Committed: https://crrev.com/3b26751ff0ac3ca5d1377616b55d0284673dc232 Cr-Commit-Position: refs/heads/master@{#377352}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 6

Patch Set 4 : fix policy_browsertest #

Total comments: 7

Patch Set 5 : comment #

Patch Set 6 : base::FeatureList #

Total comments: 6

Patch Set 7 : comments #

Total comments: 4

Patch Set 8 : atwilson comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+134 lines, -98 lines) Patch
M chrome/browser/policy/policy_browsertest.cc View 1 2 3 2 chunks +3 lines, -3 lines 0 comments Download
M components/policy/resources/policy_templates.json View 1 2 3 4 5 6 7 3 chunks +9 lines, -17 lines 0 comments Download
M components/ssl_config/ssl_config_service_manager_pref.cc View 1 2 3 4 5 6 4 chunks +17 lines, -1 line 0 comments Download
M components/ssl_config/ssl_config_service_manager_pref_unittest.cc View 1 2 3 4 5 2 chunks +50 lines, -0 lines 0 comments Download
M components/ssl_config/ssl_config_switches.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/http/http_network_transaction.cc View 1 chunk +15 lines, -45 lines 0 comments Download
M net/http/http_network_transaction_ssl_unittest.cc View 1 2 4 chunks +6 lines, -15 lines 0 comments Download
M net/ssl/ssl_config.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/url_request/url_request_unittest.cc View 1 2 11 chunks +32 lines, -15 lines 0 comments Download

Messages

Total messages: 33 (8 generated)
davidben
Will add OWNERS if you're happy with this.
4 years, 10 months ago (2016-02-09 00:36:04 UTC) #2
Ryan Sleevi
https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc File components/ssl_config/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc#newcode204 components/ssl_config/ssl_config_service_manager_pref.cc:204: base::FieldTrialList::FindFullName("SSLVersionFallbackMin"))); I think you want to indirect this through ...
4 years, 10 months ago (2016-02-09 02:16:12 UTC) #4
davidben
https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc File components/ssl_config/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc#newcode204 components/ssl_config/ssl_config_service_manager_pref.cc:204: base::FieldTrialList::FindFullName("SSLVersionFallbackMin"))); On 2016/02/09 02:16:12, Ryan Sleevi wrote: > I ...
4 years, 10 months ago (2016-02-09 02:58:36 UTC) #5
davidben
https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc File components/ssl_config/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc#newcode204 components/ssl_config/ssl_config_service_manager_pref.cc:204: base::FieldTrialList::FindFullName("SSLVersionFallbackMin"))); (I believe it's the empty string, not "Default".)
4 years, 10 months ago (2016-02-09 02:59:09 UTC) #6
Ryan Sleevi
https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc File components/ssl_config/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc#newcode204 components/ssl_config/ssl_config_service_manager_pref.cc:204: base::FieldTrialList::FindFullName("SSLVersionFallbackMin"))); On 2016/02/09 02:58:36, davidben wrote: > I believe ...
4 years, 10 months ago (2016-02-09 03:28:44 UTC) #7
davidben
https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc File components/ssl_config/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref.cc#newcode204 components/ssl_config/ssl_config_service_manager_pref.cc:204: base::FieldTrialList::FindFullName("SSLVersionFallbackMin"))); On 2016/02/09 03:28:43, Ryan Sleevi wrote: > On ...
4 years, 10 months ago (2016-02-09 05:11:56 UTC) #8
Ryan Sleevi
https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref_unittest.cc File components/ssl_config/ssl_config_service_manager_pref_unittest.cc (right): https://codereview.chromium.org/1682623002/diff/40001/components/ssl_config/ssl_config_service_manager_pref_unittest.cc#newcode177 components/ssl_config/ssl_config_service_manager_pref_unittest.cc:177: // Tests that fallback beyond TLS 1.0 cannot be ...
4 years, 10 months ago (2016-02-09 07:22:30 UTC) #9
Ryan Sleevi
On 2016/02/09 05:11:56, davidben wrote: > It works. It's pretty easy to test this with ...
4 years, 10 months ago (2016-02-09 07:24:33 UTC) #10
davidben
+atwilson for chrome/browser/policy and components/policy +asvitkine for field trials question below https://codereview.chromium.org/1682623002/diff/60001/chrome/browser/policy/policy_browsertest.cc File chrome/browser/policy/policy_browsertest.cc (right): ...
4 years, 10 months ago (2016-02-10 22:14:29 UTC) #12
Ryan Sleevi
Chatted over IM, I read the code wrong, LGTM
4 years, 10 months ago (2016-02-10 22:18:56 UTC) #13
Alexei Svitkine (slow)
https://codereview.chromium.org/1682623002/diff/60001/components/ssl_config/ssl_config_service_manager_pref.cc File components/ssl_config/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1682623002/diff/60001/components/ssl_config/ssl_config_service_manager_pref.cc#newcode200 components/ssl_config/ssl_config_service_manager_pref.cc:200: // TODO(davidben): Remove this when the fallback removal has ...
4 years, 10 months ago (2016-02-11 16:24:06 UTC) #14
davidben
https://codereview.chromium.org/1682623002/diff/60001/components/ssl_config/ssl_config_service_manager_pref.cc File components/ssl_config/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1682623002/diff/60001/components/ssl_config/ssl_config_service_manager_pref.cc#newcode200 components/ssl_config/ssl_config_service_manager_pref.cc:200: // TODO(davidben): Remove this when the fallback removal has ...
4 years, 10 months ago (2016-02-11 21:53:14 UTC) #15
Alexei Svitkine (slow)
https://codereview.chromium.org/1682623002/diff/60001/components/ssl_config/ssl_config_service_manager_pref.cc File components/ssl_config/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1682623002/diff/60001/components/ssl_config/ssl_config_service_manager_pref.cc#newcode204 components/ssl_config/ssl_config_service_manager_pref.cc:204: base::FieldTrialList::FindFullName("SSLVersionFallbackMin"))); On 2016/02/11 21:53:14, davidben wrote: > On 2016/02/11 ...
4 years, 10 months ago (2016-02-11 22:02:40 UTC) #16
davidben
Switched to base::Feature and added a test.
4 years, 10 months ago (2016-02-12 23:23:14 UTC) #17
Thiemo Nagel
https://codereview.chromium.org/1682623002/diff/100001/components/policy/resources/policy_templates.json File components/policy/resources/policy_templates.json (right): https://codereview.chromium.org/1682623002/diff/100001/components/policy/resources/policy_templates.json#newcode7873 components/policy/resources/policy_templates.json:7873: If this policy is not configured then <ph name="PRODUCT_NAME">$1<ex>Google ...
4 years, 10 months ago (2016-02-15 14:30:23 UTC) #19
Alexei Svitkine (slow)
lgtm use of feature API lgtm % comment https://codereview.chromium.org/1682623002/diff/100001/components/ssl_config/ssl_config_service_manager_pref.cc File components/ssl_config/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1682623002/diff/100001/components/ssl_config/ssl_config_service_manager_pref.cc#newcode92 components/ssl_config/ssl_config_service_manager_pref.cc:92: const ...
4 years, 10 months ago (2016-02-16 16:25:04 UTC) #20
davidben
https://codereview.chromium.org/1682623002/diff/100001/components/policy/resources/policy_templates.json File components/policy/resources/policy_templates.json (right): https://codereview.chromium.org/1682623002/diff/100001/components/policy/resources/policy_templates.json#newcode7873 components/policy/resources/policy_templates.json:7873: If this policy is not configured then <ph name="PRODUCT_NAME">$1<ex>Google ...
4 years, 10 months ago (2016-02-16 17:01:09 UTC) #21
davidben
tnagel: friendly ping
4 years, 10 months ago (2016-02-22 19:05:36 UTC) #22
davidben
On 2016/02/22 19:05:36, davidben wrote: > tnagel: friendly ping Also friendly ping to atwilson because ...
4 years, 10 months ago (2016-02-23 21:28:01 UTC) #23
Thiemo Nagel
On 2016/02/23 21:28:01, davidben wrote: > On 2016/02/22 19:05:36, davidben wrote: > > tnagel: friendly ...
4 years, 10 months ago (2016-02-24 15:28:39 UTC) #24
Andrew T Wilson (Slow)
policy/* lgtm with a couple minor nits https://codereview.chromium.org/1682623002/diff/120001/components/policy/resources/policy_templates.json File components/policy/resources/policy_templates.json (right): https://codereview.chromium.org/1682623002/diff/120001/components/policy/resources/policy_templates.json#newcode7873 components/policy/resources/policy_templates.json:7873: If this ...
4 years, 10 months ago (2016-02-24 16:02:29 UTC) #25
davidben
https://codereview.chromium.org/1682623002/diff/120001/components/policy/resources/policy_templates.json File components/policy/resources/policy_templates.json (right): https://codereview.chromium.org/1682623002/diff/120001/components/policy/resources/policy_templates.json#newcode7873 components/policy/resources/policy_templates.json:7873: If this policy is not configured or if it ...
4 years, 10 months ago (2016-02-24 18:15:41 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1682623002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1682623002/140001
4 years, 10 months ago (2016-02-24 18:17:46 UTC) #29
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 10 months ago (2016-02-24 19:47:05 UTC) #31
commit-bot: I haz the power
4 years, 10 months ago (2016-02-24 19:48:07 UTC) #33
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/3b26751ff0ac3ca5d1377616b55d0284673dc232
Cr-Commit-Position: refs/heads/master@{#377352}

Powered by Google App Engine
This is Rietveld 408576698