Am 28.06.26 um 18:39 schrieb Dennis Preiser:
Building mutt with OpenSSL >= 4.0 fails.
| mutt_ssl.c:986:33: error: incomplete definition of type 'ASN1_IA5STRING' (aka
'struct asn1_string_st')
| /Users/dennis/sw/include/openssl/types.h:57:16: note: forward declaration of
'struct asn1_string_st'
| mutt_ssl.c:987:53: error: incomplete definition of type 'ASN1_IA5STRING' (aka
'struct asn1_string_st')
| /Users/dennis/sw/include/openssl/types.h:57:16: note: forward declaration of
'struct asn1_string_st'
| mutt_ssl.c:987:92: error: incomplete definition of type 'ASN1_IA5STRING' (aka
'struct asn1_string_st')
| /Users/dennis/sw/include/openssl/types.h:57:16: note: forward declaration of
'struct asn1_string_st'
| mutt_ssl.c:989:72: error: incomplete definition of type 'ASN1_IA5STRING' (aka
'struct asn1_string_st')
| /Users/dennis/sw/include/openssl/types.h:57:16: note: forward declaration of
'struct asn1_string_st'
The reason is a change in OpenSSL: the ASN1_STRING is now opaque and can
no longer be accessed directly. Now, accessor functions must be used.
See <https://openssl-library.org/post/2026-04-13-asn1_string/>
The attached diff fixes this for me; something like this seems to be
necessary for OpenSSL >= 4.0.
Dennis
Thanks. Regarding the #ifdefs, wouldn't the accessor functions also work
on older OpenSSL releases, too, so that mutt could switch to the
accessor API wholesale?
--
Matthias Andree