Allow selecting ECDH curves in bssl tool.

Change-Id: Ie515386b7f3555a5acf42e37b49e9a831571cb4a
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Reviewed-on: https://boringssl-review.googlesource.com/15065
Reviewed-by: Adam Langley <agl@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/tool/server.cc b/tool/server.cc
index ae03905..70a85e5 100644
--- a/tool/server.cc
+++ b/tool/server.cc
@@ -35,6 +35,10 @@
         "ciphers",
     },
     {
+        "-curves", kOptionalArgument,
+        "An OpenSSL-style ECDH curves list that configures the offered curves",
+    },
+    {
         "-max-version", kOptionalArgument,
         "The maximum acceptable protocol version",
     },
@@ -190,6 +194,12 @@
     return false;
   }
 
+  if (args_map.count("-curves") != 0 &&
+      !SSL_CTX_set1_curves_list(ctx.get(), args_map["-curves"].c_str())) {
+    fprintf(stderr, "Failed setting curves list\n");
+    return false;
+  }
+
   uint16_t max_version = TLS1_3_VERSION;
   if (args_map.count("-max-version") != 0 &&
       !VersionFromString(&max_version, args_map["-max-version"])) {