Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Jul 2023 19:52:48 +0200
From:      Kristof Provost <kp@freebsd.org>
To:        Mark Johnston <markj@freebsd.org>
Cc:        Ed Maste <emaste@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Pierre Pronchery <pierre@freebsdfoundation.org>
Subject:   Re: git: b077aed33b7b - main - Merge OpenSSL 3.0.9
Message-ID:  <6EF29DA8-B987-4C98-826C-0128C43764C6@freebsd.org>
In-Reply-To: <ZKg-3RqIaz9VOPD_@nuc>
References:  <ZKg-3RqIaz9VOPD_@nuc>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 7 Jul 2023, at 18:35, Mark Johnston <markj@freebsd.org> wrote:
>=20
> =EF=BB=BFOn Wed, Jul 05, 2023 at 11:56:42PM +0200, Kristof Provost wrote:
>>> On 24 Jun 2023, at 1:19, Ed Maste wrote:
>>> The branch main has been updated by emaste:
>>>=20
>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Db077aed33b7b6aefca7b17ddb=
250cf521f938613
>>>=20
>>> commit b077aed33b7b6aefca7b17ddb250cf521f938613
>>> Merge: b08ee10c0646 b84c4564effd
>>> Author:     Pierre Pronchery <pierre@freebsdfoundation.org>
>>> AuthorDate: 2023-06-23 22:53:35 +0000
>>> Commit:     Ed Maste <emaste@FreeBSD.org>
>>> CommitDate: 2023-06-23 22:53:36 +0000
>>>=20
>>>    Merge OpenSSL 3.0.9
>>>=20
>>=20
>> It looks like we missed adding a file.
>> Security/opensc doesn=E2=80=99t build any more:
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D270076
>>=20
>> It fails to find d2i_KeyParams when linking. The opensc code does this:
>>=20
>>    #if OPENSSL_VERSION_NUMBER < 0x30000000L
>>                                    if (!d2i_ECParameters(&ec, &a, (long)l=
en))
>>                                            util_fatal("cannot parse
>> EC_PARAMS");
>>                                    EVP_PKEY_assign_EC_KEY(pkey, ec);
>>    #else
>>                                    if (!d2i_KeyParams(EVP_PKEY_EC, &pkey,=
 &a,
>> len))
>>                                            util_fatal("cannot parse
>> EC_PARAMS");
>>    #endif
>>=20
>> d2i_KeyParams() appears to be new on openssl 3. It=E2=80=99s defined in d=
2i_param.c,
>> which we don=E2=80=99t build. I=E2=80=99ve tested with this patch, and th=
at appears to fix
>> things:
>=20
> Hi Kristof,
>=20
> Would you mind posting the patch on phabricator?  I can take a closer
> look in the next day, and Pierre might be available to look as well.

Sure, but I might not be able to do that until Sunday afternoon.=20

>=20
>>    diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Make=
file
>>    index 28258e796984..ef5652e8c27c 100644
>>    --- a/secure/lib/libcrypto/Makefile
>>    +++ b/secure/lib/libcrypto/Makefile
>>    @@ -74,7 +74,7 @@ SRCS+=3D        n_pkey.c nsseq.c p5_pbe.c p5_pbev2.c=

>> p5_scrypt.c p8_pkey.c
>>     SRCS+=3D t_bitst.c t_pkey.c t_spki.c tasn_dec.c tasn_enc.c tasn_fre.c=

>>     SRCS+=3D tasn_new.c tasn_prn.c tasn_scn.c tasn_typ.c tasn_utl.c x_alg=
or.c
>>     SRCS+=3D x_bignum.c x_info.c x_int64.c x_long.c x_pkey.c x_sig.c x_sp=
ki.c
>>    -SRCS+=3D x_val.c
>>    +SRCS+=3D x_val.c d2i_param.c
>>=20
>>     # async
>>     SRCS+=3D async.c async_err.c async_posix.c async_wait.c
>>    diff --git a/secure/lib/libcrypto/Version.map
>> b/secure/lib/libcrypto/Version.map
>>    index 421819324961..74d0b8b3cef1 100644
>>    --- a/secure/lib/libcrypto/Version.map
>>    +++ b/secure/lib/libcrypto/Version.map
>>    @@ -3564,6 +3564,8 @@ OPENSSL_1_1_0 {
>>             d2i_IPAddressOrRange;
>>             d2i_IPAddressRange;
>>             d2i_ISSUING_DIST_POINT;
>>    +        d2i_KeyParams;
>>    +        d2i_KeyParams_bio;
>=20
> Based on your analysis I think this should go into the OPENSSL_3_0_9
> namespace?
>=20
I have no idea. I=E2=80=99ll try to dig a bit, but we=E2=80=99re pretty far o=
utside my comfort zone here.=20

Best regards,
Kristof
>=20
>=20



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6EF29DA8-B987-4C98-826C-0128C43764C6>