Use names for the TLS 1.3 variants in bssl client.
Change-Id: I09d6b05675b82ed04a9665c64b632d1a156fa977
Reviewed-on: https://boringssl-review.googlesource.com/18985
Reviewed-by: Steven Valdez <svaldez@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/tool/client.cc b/tool/client.cc
index f7a8259..d3a3115 100644
--- a/tool/client.cc
+++ b/tool/client.cc
@@ -297,6 +297,26 @@
return cb(ssl.get(), sock);
}
+static bool GetTLS13Variant(tls13_variant_t *out, const std::string &in) {
+ if (in == "draft") {
+ *out = tls13_default;
+ return true;
+ }
+ if (in == "experiment") {
+ *out = tls13_experiment;
+ return true;
+ }
+ if (in == "record-type") {
+ *out = tls13_record_type_experiment;
+ return true;
+ }
+ if (in == "no-session-id") {
+ *out = tls13_no_session_id_experiment;
+ return true;
+ }
+ return false;
+}
+
bool Client(const std::vector<std::string> &args) {
if (!InitSocketLibrary()) {
return false;
@@ -464,9 +484,13 @@
}
if (args_map.count("-tls13-variant") != 0) {
- SSL_CTX_set_tls13_variant(ctx.get(),
- static_cast<enum tls13_variant_t>(
- atoi(args_map["-tls13-variant"].c_str())));
+ tls13_variant_t variant;
+ if (!GetTLS13Variant(&variant, args_map["-tls13-variant"])) {
+ fprintf(stderr, "Unknown TLS 1.3 variant: %s\n",
+ args_map["-tls13-variant"].c_str());
+ return false;
+ }
+ SSL_CTX_set_tls13_variant(ctx.get(), variant);
}
if (args_map.count("-ed25519") != 0) {