As suggested by tb@, merge the description of OPENSSL_EC_NAMED_CURVE
authorschwarze <schwarze@openbsd.org>
Tue, 14 Sep 2021 13:47:59 +0000 (13:47 +0000)
committerschwarze <schwarze@openbsd.org>
Tue, 14 Sep 2021 13:47:59 +0000 (13:47 +0000)
and OPENSSL_EC_EXPLICIT_CURVE
from OpenSSL commit 146ca72c Feb 19 14:35:43 2015 +0000
after tb@ changed the default from 0 to OPENSSL_EC_NAMED_CURVE
in ec/ec_lib.c rev. 1.41,
which is the same default that OpenSSL uses since 1.1.0.

While merging, drop the description of the pre-1.1.0 behaviour.
It seems irrelevant to me because tb@ found no application in Debian
codesearch using OPENSSL_EC_EXPLICIT_CURVE.  A former devious default
that was probably never relied upon by anyone does not need to be
documented.

lib/libcrypto/man/EC_GROUP_copy.3

index a69017f..6715448 100644 (file)
@@ -1,8 +1,9 @@
-.\" $OpenBSD: EC_GROUP_copy.3,v 1.11 2021/09/11 17:59:04 schwarze Exp $
-.\" full merge up to: OpenSSL aafbe1cc Jun 12 23:42:08 2013 +0100
+.\" $OpenBSD: EC_GROUP_copy.3,v 1.12 2021/09/14 13:47:59 schwarze Exp $
+.\" full merge up to: OpenSSL d900a015 Oct 8 14:40:42 2015 +0200
 .\" selective merge up to: OpenSSL 24c23e1f Aug 22 10:51:25 2019 +0530
 .\"
-.\" This file was written by Matt Caswell <matt@openssl.org>
+.\" This file was written by Matt Caswell <matt@openssl.org>,
+.\" Dr. Stephen Henson <steve@openssl.org>,
 .\" and Jayaram X Matta <jayaramx.matta@intel.com>.
 .\" Copyright (c) 2013, 2015, 2019 The OpenSSL Project.  All rights reserved.
 .\"
@@ -50,7 +51,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 .\" OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd $Mdocdate: September 11 2021 $
+.Dd $Mdocdate: September 14 2021 $
 .Dt EC_GROUP_COPY 3
 .Os
 .Sh NAME
@@ -286,16 +287,21 @@ If a curve does not have a NID associated with it, then
 will return
 .Dv NID_undef .
 .Pp
-The asn1_flag value on a curve is used to determine whether there is a
-specific ASN.1 OID to describe the curve or not.
-If the asn1_flag is 1 then this is a named curve with an associated ASN.1 OID.
-If not then asn1_flag is 0.
+The asn1_flag value is used to determine whether the curve encoding
+uses explicit parameters or a named curve using an ASN.1 OID:
+many applications only support the latter form.
+If asn1_flag is the default value
+.Dv OPENSSL_EC_NAMED_CURVE ,
+then the named curve form is used and the parameters must have a
+corresponding named curve NID set.
+If asn1_flags is
+.Dv OPENSSL_EC_EXPLICIT_CURVE ,
+the parameters are explicitly encoded.
 The functions
 .Fn EC_GROUP_get_asn1_flag
 and
 .Fn EC_GROUP_set_asn1_flag
 get and set the status of the asn1_flag for the curve.
-If set, then the curve_name must also be set.
 .Pp
 The point_conversion_form for a curve controls how
 .Vt EC_POINT