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[] = {
switches::kTLS13VariantDraft},
{flag_descriptions::kTLS13VariantExperiment, switches::kTLS13Variant,
switches::kTLS13VariantExperiment},
{flag_descriptions::kTLS13VariantRecordTypeExperiment,
switches::kTLS13Variant, switches::kTLS13VariantRecordTypeExperiment},
};
#if !defined(OS_ANDROID)
......
......@@ -1180,6 +1180,8 @@ const char kTLS13VariantDescription[] = "Sets the TLS 1.3 variant used.";
const char kTLS13VariantDisabled[] = "Disabled";
const char kTLS13VariantDraft[] = "Enabled (Draft)";
const char kTLS13VariantExperiment[] = "Enabled (Experiment)";
const char kTLS13VariantRecordTypeExperiment[] =
"Enabled (Record Type Experiment)";
const char kTopDocumentIsolationName[] = "Top document isolation";
const char kTopDocumentIsolationDescription[] =
......
......@@ -707,6 +707,7 @@ extern const char kTLS13VariantDescription[];
extern const char kTLS13VariantDisabled[];
extern const char kTLS13VariantDraft[];
extern const char kTLS13VariantExperiment[];
extern const char kTLS13VariantRecordTypeExperiment[];
extern const char kSuggestionsWithSubStringMatchName[];
extern const char kSuggestionsWithSubStringMatchDescription[];
......
......@@ -213,6 +213,13 @@ SSLConfigServiceManagerPref::SSLConfigServiceManagerPref(
local_state->SetDefaultPrefValue(
ssl_config::prefs::kSSLVersionMax,
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 =
......
......@@ -27,5 +27,6 @@ const char kSSLVersionTLSv13[] = "tls1.3";
const char kTLS13VariantDisabled[] = "disabled";
const char kTLS13VariantDraft[] = "draft";
const char kTLS13VariantExperiment[] = "experiment";
const char kTLS13VariantRecordTypeExperiment[] = "record-type";
} // namespace switches
......@@ -17,6 +17,7 @@ extern const char kSSLVersionTLSv13[];
extern const char kTLS13VariantDisabled[];
extern const char kTLS13VariantDraft[];
extern const char kTLS13VariantExperiment[];
extern const char kTLS13VariantRecordTypeExperiment[];
} // namespace switches
......
......@@ -928,6 +928,9 @@ int SSLClientSocketImpl::Init() {
case kTLS13VariantExperiment:
SSL_set_tls13_variant(ssl_.get(), tls13_experiment);
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,
......
......@@ -38,6 +38,7 @@ enum TokenBindingParam {
enum TLS13Variant {
kTLS13VariantDraft = 0,
kTLS13VariantExperiment = 1,
kTLS13VariantRecordTypeExperiment = 2,
};
// 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