Re: Build issue with OpenSSL >= 4.0

Alejandro Colomar via Mutt-dev <[email protected]> Sun, 28 Jun 2026 23:26:33 +0200
Newsgroups gmane.mail.mutt.devel
Message-ID <akGRPn-73NBJ3k-y@devuan>
--zppmeq5gcy2jx6sf
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
From: Alejandro Colomar <[email protected]>
To: [email protected]
Subject: Re: Build issue with OpenSSL >= 4.0
Message-ID: <akGRPn-73NBJ3k-y@devuan>
References: <[email protected]>
 <[email protected]>
 <[email protected]>
MIME-Version: 1.0
In-Reply-To: <[email protected]>

Hi Dennis,

On 2026-06-28T22:44:45+0200, Dennis Preiser wrote:
> On Sun, Jun 28, 2026 at 06:56:14PM +0200, Matthias Andree via Mutt-dev wr=
ote:
> > Thanks. Regarding the #ifdefs, wouldn't the accessor functions also wor=
k on
> > older OpenSSL releases, too, so that mutt could switch to the accessor =
API
> > wholesale?
>=20
> I'm not really familiar with OpenSSL, so I played it safe.
>=20
> According to <https://docs.openssl.org/1.0.2/man3/ASN1_STRING_length/>,
> ASN1_STRING_length() has been available since at least version 1.0.2,
> and ASN1_STRING_get0_data() since at least version 1.1.1
> <https://docs.openssl.org/1.1.1/man3/ASN1_STRING_length/>.
>=20
> LibreSSL dates back to July 2014 (2.0.0), which would be before OpenSSL
> 1.0.2 (January 2015). I haven=C2=B4t been able to find online when these =
two
> functions became available in LibreSSL.

	alx@devuan:/tmp/openbsd$ git ref aeeae06a7981
	aeeae06a7981 (1998-10-05; "Import of SSLeay-0.9.0b with RSA and IDEA stubb=
ed + OpenBSD build functionality for shared libs.")
	alx@devuan:/tmp/openbsd$ git show aeeae06a7981 | grep ASN1_STRING_length
	+#define ASN1_STRING_length(x)	((x)->length)
	+	ret=3DASN1_STRING_length(a->value.octet_string);
	+	ASN1_STRING_length(osp)=3Dsize;
	+	length=3DASN1_STRING_length(a->value.sequence);
	+	ret=3DASN1_STRING_length(os);
	alx@devuan:/tmp/openbsd$ git ref 203972bb77b5
	203972bb77b5 (2018-02-14; "Provide ASN1_STRING_get0_data().")
	alx@devuan:/tmp/openbsd$ git show 203972bb77b5 | grep ASN1_STRING_get0_data
	    Provide ASN1_STRING_get0_data().
	+ASN1_STRING_get0_data
	+const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x);
	+ASN1_STRING_get0_data(const ASN1_STRING *x)
	alx@devuan:/tmp/openbsd$ git describe --contains 203972bb77b5
	libressl-v2.7.0~266
	alx@devuan:/tmp/openbsd$ git describe --contains aeeae06a7981
	OPENBSD_2_6_BASE~147^2

ASN1_STRING_length() seems to be there since forever, while
ASN1_STRING_get0_data() was added recently (2018; libressl-v2.7.0).


Have a lovely night!
Alex

>=20
> Dennis

--=20
<https://www.alejandro-colomar.es>

--zppmeq5gcy2jx6sf
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEES7Jt9u9GbmlWADAi64mZXMKQwqkFAmpBkYMACgkQ64mZXMKQ
wqk5phAAk2nmmOGvD1GQbUxJcNm5L4o9Syt97xGX6BztnjMupqh3QCtcwonxb70E
fNL19eccpL78SuZnNAHmn7Df9G/4aBdCtZuQFo8No4pAZKFOxmHXAREmf1NpRK7u
yjoL8kKu5aY3kdskA1uzekBxIGOEnXSCtX5q8DrYMztGv9yZ7XM05SIX9el0PrO/
I+C9tV2KbWqlQLWazHJ+35kKXKQOfhMzhueAongFD5y1nVzhbTRup/qjYKtCfMfi
D7ElormVVOZ8GglnEpdeFQNQv6I/9OBraTL35QF1htAomRLE+/z4uONPvXcOtlWm
Se+Zd2h3TlWnA/kOks2PMyecVG37QhWqXOxYGILvik0Vi6Linyz/keGAmLHR34AS
ySRNsfDN9sAvGzIAhQyy7qwzM4o70ssl6a+QQ0weZ2si0wMbNzYnH1qj62o50OBZ
ZBXpERBAcLG4slgLag5FtGUNq6xxRhB63iLwdqYr5JyqcKaUXCZAddwN57dg21b+
1ztENkklilyHfr1BTncKOVvZkncMUfexrffUI62r7AiVghHZRX++ykyWPMWwRiJu
TyP7OSQRCpubN8DWxxg/sxOYJHTTP5XqTdg4fbojrhblyk5vGz78gNCzY5OPJVBG
n3H416qf0E9C+idmdJiDu7IEVCVgJ44tSZ5O4mSIZJ68yI1Qiv8=
=4V5h
-----END PGP SIGNATURE-----

--zppmeq5gcy2jx6sf--