Ignore -named_curve auto value to improve backwards compatibility
authorTomas Mraz <tmraz@fedoraproject.org>
Mon, 22 May 2017 14:20:21 +0000 (16:20 +0200)
committerMatt Caswell <matt@openssl.org>
Thu, 8 Jun 2017 20:28:36 +0000 (21:28 +0100)
Fixes #3490

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3518)

CHANGES
ssl/ssl_conf.c

diff --git a/CHANGES b/CHANGES
index 0e8d922..97bfa55 100644 (file)
--- a/CHANGES
+++ b/CHANGES
      than just the call where this user data is passed.
      [Richard Levitte]
 
+  *) Ignore the '-named_curve auto' value for compatibility of applications
+     with OpenSSL 1.0.2.
+     [Tomas Mraz <tmraz@fedoraproject.org>]
+
   *) Fragmented SSL/TLS alerts are no longer accepted. An alert message is 2
      bytes long. In theory it is permissible in SSLv3 - TLSv1.2 to fragment such
      alerts across multiple records (some of which could be empty). In practice
index 41c7ff7..ab0a94d 100644 (file)
@@ -227,6 +227,14 @@ static int cmd_ECDHParameters(SSL_CONF_CTX *cctx, const char *value)
     EC_KEY *ecdh;
     int nid;
 
+    /* Ignore values supported by 1.0.2 for the automatic selection */
+    if ((cctx->flags & SSL_CONF_FLAG_FILE) &&
+        strcasecmp(value, "+automatic") == 0)
+        return 1;
+    if ((cctx->flags & SSL_CONF_FLAG_CMDLINE) &&
+        strcmp(value, "auto") == 0)
+        return 1;
+
     nid = EC_curve_nist2nid(value);
     if (nid == NID_undef)
         nid = OBJ_sn2nid(value);