Commit 2d7b4e89 authored by Steven Valdez's avatar Steven Valdez Committed by Commit Bot

Add RecordType TLS 1.3 variant.

Bug: 
Change-Id: I471ccb0aa6ce7145a3498f49ec8c12bc93314215
Reviewed-on: https://chromium-review.googlesource.com/571325Reviewed-by: default avatarDavid Benjamin <davidben@chromium.org>
Reviewed-by: default avatarSteven Valdez <svaldez@chromium.org>
Commit-Queue: Steven Valdez <svaldez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487274}
parent baae3598
...@@ -771,6 +771,8 @@ const FeatureEntry::Choice kTLS13VariantChoices[] = { ...@@ -771,6 +771,8 @@ const FeatureEntry::Choice kTLS13VariantChoices[] = {
switches::kTLS13VariantDraft}, switches::kTLS13VariantDraft},
{flag_descriptions::kTLS13VariantExperiment, switches::kTLS13Variant, {flag_descriptions::kTLS13VariantExperiment, switches::kTLS13Variant,
switches::kTLS13VariantExperiment}, switches::kTLS13VariantExperiment},
{flag_descriptions::kTLS13VariantRecordTypeExperiment,
switches::kTLS13Variant, switches::kTLS13VariantRecordTypeExperiment},
}; };
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
......
...@@ -1180,6 +1180,8 @@ const char kTLS13VariantDescription[] = "Sets the TLS 1.3 variant used."; ...@@ -1180,6 +1180,8 @@ const char kTLS13VariantDescription[] = "Sets the TLS 1.3 variant used.";
const char kTLS13VariantDisabled[] = "Disabled"; const char kTLS13VariantDisabled[] = "Disabled";
const char kTLS13VariantDraft[] = "Enabled (Draft)"; const char kTLS13VariantDraft[] = "Enabled (Draft)";
const char kTLS13VariantExperiment[] = "Enabled (Experiment)"; const char kTLS13VariantExperiment[] = "Enabled (Experiment)";
const char kTLS13VariantRecordTypeExperiment[] =
"Enabled (Record Type Experiment)";
const char kTopDocumentIsolationName[] = "Top document isolation"; const char kTopDocumentIsolationName[] = "Top document isolation";
const char kTopDocumentIsolationDescription[] = const char kTopDocumentIsolationDescription[] =
......
...@@ -707,6 +707,7 @@ extern const char kTLS13VariantDescription[]; ...@@ -707,6 +707,7 @@ extern const char kTLS13VariantDescription[];
extern const char kTLS13VariantDisabled[]; extern const char kTLS13VariantDisabled[];
extern const char kTLS13VariantDraft[]; extern const char kTLS13VariantDraft[];
extern const char kTLS13VariantExperiment[]; extern const char kTLS13VariantExperiment[];
extern const char kTLS13VariantRecordTypeExperiment[];
extern const char kSuggestionsWithSubStringMatchName[]; extern const char kSuggestionsWithSubStringMatchName[];
extern const char kSuggestionsWithSubStringMatchDescription[]; extern const char kSuggestionsWithSubStringMatchDescription[];
......
...@@ -213,6 +213,13 @@ SSLConfigServiceManagerPref::SSLConfigServiceManagerPref( ...@@ -213,6 +213,13 @@ SSLConfigServiceManagerPref::SSLConfigServiceManagerPref(
local_state->SetDefaultPrefValue( local_state->SetDefaultPrefValue(
ssl_config::prefs::kSSLVersionMax, ssl_config::prefs::kSSLVersionMax,
new base::Value(switches::kSSLVersionTLSv13)); new base::Value(switches::kSSLVersionTLSv13));
} else if (tls13_variant == "record-type") {
local_state->SetDefaultPrefValue(
ssl_config::prefs::kTLS13Variant,
new base::Value(switches::kTLS13VariantRecordTypeExperiment));
local_state->SetDefaultPrefValue(
ssl_config::prefs::kSSLVersionMax,
new base::Value(switches::kSSLVersionTLSv13));
} }
PrefChangeRegistrar::NamedChangeCallback local_state_callback = PrefChangeRegistrar::NamedChangeCallback local_state_callback =
......
...@@ -27,5 +27,6 @@ const char kSSLVersionTLSv13[] = "tls1.3"; ...@@ -27,5 +27,6 @@ const char kSSLVersionTLSv13[] = "tls1.3";
const char kTLS13VariantDisabled[] = "disabled"; const char kTLS13VariantDisabled[] = "disabled";
const char kTLS13VariantDraft[] = "draft"; const char kTLS13VariantDraft[] = "draft";
const char kTLS13VariantExperiment[] = "experiment"; const char kTLS13VariantExperiment[] = "experiment";
const char kTLS13VariantRecordTypeExperiment[] = "record-type";
} // namespace switches } // namespace switches
...@@ -17,6 +17,7 @@ extern const char kSSLVersionTLSv13[]; ...@@ -17,6 +17,7 @@ extern const char kSSLVersionTLSv13[];
extern const char kTLS13VariantDisabled[]; extern const char kTLS13VariantDisabled[];
extern const char kTLS13VariantDraft[]; extern const char kTLS13VariantDraft[];
extern const char kTLS13VariantExperiment[]; extern const char kTLS13VariantExperiment[];
extern const char kTLS13VariantRecordTypeExperiment[];
} // namespace switches } // namespace switches
......
...@@ -928,6 +928,9 @@ int SSLClientSocketImpl::Init() { ...@@ -928,6 +928,9 @@ int SSLClientSocketImpl::Init() {
case kTLS13VariantExperiment: case kTLS13VariantExperiment:
SSL_set_tls13_variant(ssl_.get(), tls13_experiment); SSL_set_tls13_variant(ssl_.get(), tls13_experiment);
break; break;
case kTLS13VariantRecordTypeExperiment:
SSL_set_tls13_variant(ssl_.get(), tls13_record_type_experiment);
break;
} }
// OpenSSL defaults some options to on, others to off. To avoid ambiguity, // OpenSSL defaults some options to on, others to off. To avoid ambiguity,
......
...@@ -38,6 +38,7 @@ enum TokenBindingParam { ...@@ -38,6 +38,7 @@ enum TokenBindingParam {
enum TLS13Variant { enum TLS13Variant {
kTLS13VariantDraft = 0, kTLS13VariantDraft = 0,
kTLS13VariantExperiment = 1, kTLS13VariantExperiment = 1,
kTLS13VariantRecordTypeExperiment = 2,
}; };
// Default minimum protocol version. // Default minimum protocol version.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment