package/i2pd: fix build with libressl >= 3.5.0

Fix the following build failure with libressl raised since bump to
version 3.5.2 in commit 8b216927db:

In file included from /nvmedata/autobuild/instance-27/output-1/build/i2pd-2.40.0/build/../libi2pd/Signature.h:18,
                 from /nvmedata/autobuild/instance-27/output-1/build/i2pd-2.40.0/build/../libi2pd/Identity.h:20,
                 from /nvmedata/autobuild/instance-27/output-1/build/i2pd-2.40.0/build/../libi2pd/Destination.h:21,
                 from /nvmedata/autobuild/instance-27/output-1/build/i2pd-2.40.0/build/../libi2pd_client/ClientContext.h:16,
                 from /nvmedata/autobuild/instance-27/output-1/build/i2pd-2.40.0/i18n/I18N.h:12,
                 from /nvmedata/autobuild/instance-27/output-1/build/i2pd-2.40.0/i18n/Afrikaans.cpp:13:
/nvmedata/autobuild/instance-27/output-1/build/i2pd-2.40.0/build/../libi2pd/Crypto.h: In function 'int DSA_set0_pqg(DSA*, BIGNUM*, BIGNUM*, BIGNUM*)':
/nvmedata/autobuild/instance-27/output-1/build/i2pd-2.40.0/build/../libi2pd/Crypto.h:338:22: error: invalid use of incomplete type 'DSA' {aka 'struct dsa_st'}
  338 |                 if (d->p) BN_free (d->p);
      |                      ^~

Fixes:
 - http://autobuild.buildroot.org/results/8da524dda4a548de9b006ae156fdc582b0cffd47

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Fabrice Fontaine 2022-05-13 23:51:56 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent cfd974c340
commit ea967940ef

View File

@ -0,0 +1,27 @@
From 0a1e302e8a242bbd1d39556e5ef05aced1b3b504 Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Sun, 8 May 2022 22:50:44 -0700
Subject: [PATCH] libi2pd: Fix the build with LibreSSL 3.5.2
[Retrieved from:
https://github.com/PurpleI2P/i2pd/commit/0a1e302e8a242bbd1d39556e5ef05aced1b3b504]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
libi2pd/Crypto.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libi2pd/Crypto.h b/libi2pd/Crypto.h
index b02778141..726bd0a1e 100644
--- a/libi2pd/Crypto.h
+++ b/libi2pd/Crypto.h
@@ -29,7 +29,9 @@
#include "CPU.h"
// recognize openssl version and features
-#if ((OPENSSL_VERSION_NUMBER < 0x010100000) || defined(LIBRESSL_VERSION_NUMBER)) // 1.0.2 and below or LibreSSL
+#if (defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER >= 0x3050200fL)) // LibreSSL 3.5.2 and above
+# define LEGACY_OPENSSL 0
+#elif ((OPENSSL_VERSION_NUMBER < 0x010100000) || defined(LIBRESSL_VERSION_NUMBER)) // 1.0.2 and below or LibreSSL
# define LEGACY_OPENSSL 1
# define X509_getm_notBefore X509_get_notBefore
# define X509_getm_notAfter X509_get_notAfter