# Adapt to OpenSSL 4, bug #2491639, CPAN RT#179961, proposed upstream https://src.fedoraproject.org/rpms/perl-Crypt-SSLeay/raw/rawhide/f/Crypt-SSLeay-0.72-Adapt-to-OpenSSL-4.patch From 948e9a3c658cc254df5ef3737378c65672a6c46d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Tue, 7 Jul 2026 10:33:02 +0200 Subject: [PATCH] Adapt to OpenSSL 4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenSSL 4 made ASN1_STRING structure opaque and compilation failed: SSLeay.xs: In function ‘XS_Crypt__SSLeay__X509_get_notBeforeString’: SSLeay.xs:516:54: error: invalid use of incomplete typedef ‘ASN1_TIME’ {aka ‘struct asn1_string_st’} 516 | RETVAL = (char *)X509_get_notBefore(cert)->data; | ^~ SSLeay.xs: In function ‘XS_Crypt__SSLeay__X509_get_notAfterString’: SSLeay.xs:524:53: error: invalid use of incomplete typedef ‘ASN1_TIME’ {aka ‘struct asn1_string_st’} 524 | RETVAL = (char *)X509_get_notAfter(cert)->data; | ^~ This patch changes the two Perl subroutines to use the current OpenSSL API. --- SSLeay.xs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/SSLeay.xs b/SSLeay.xs index 47b4bcf..d9360c3 100644 --- a/SSLeay.xs +++ b/SSLeay.xs @@ -509,6 +509,15 @@ issuer_name(cert) OUTPUT: RETVAL +#if SSLEAY_VERSION_NUMBER >= 0x40000000 +const char * +get_notBeforeString(cert) + X509* cert + CODE: + RETVAL = (const char *)ASN1_STRING_get0_data(X509_get_notBefore(cert)); + OUTPUT: + RETVAL +#else char * get_notBeforeString(cert) X509* cert @@ -516,7 +525,17 @@ get_notBeforeString(cert) RETVAL = (char *)X509_get_notBefore(cert)->data; OUTPUT: RETVAL +#endif +#if SSLEAY_VERSION_NUMBER >= 0x40000000 +const char * +get_notAfterString(cert) + X509* cert + CODE: + RETVAL = (const char *)ASN1_STRING_get0_data(X509_get_notAfter(cert)); + OUTPUT: + RETVAL +#else char * get_notAfterString(cert) X509* cert @@ -524,6 +543,7 @@ get_notAfterString(cert) RETVAL = (char *)X509_get_notAfter(cert)->data; OUTPUT: RETVAL +#endif MODULE = Crypt::SSLeay PACKAGE = Crypt::SSLeay::Version PREFIX = VERSION_ -- 2.55.0