Ignore -named_curve auto value to improve backwards compatibility
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)
diff --git a/CHANGES b/CHANGES
index 0e8d922..97bfa55 100644
--- a/CHANGES
+++ b/CHANGES
@@ -14,6 +14,10 @@
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
diff --git a/ssl/ssl_conf.c b/ssl/ssl_conf.c
index 41c7ff7..ab0a94d 100644
--- a/ssl/ssl_conf.c
+++ b/ssl/ssl_conf.c
@@ -227,6 +227,14 @@
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);