kumquat-buildroot/package/snmppp/0001-fix-build-with-libressl-3-5-0.patch
Fabrice Fontaine fe6dc835e0 package/snmppp: 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:

auth_priv.cpp: In member function 'virtual int Snmp_pp::AuthMD5::password_to_key(const unsigned char*, unsigned int, const unsigned char*, unsigned int, unsigned char*, unsigned int*)':
auth_priv.cpp:1132:20: error: aggregate 'Snmp_pp::MD5HashStateType md5_hash_state' has incomplete type and cannot be defined
   MD5HashStateType md5_hash_state;
                    ^~~~~~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/b50b883c03e82564198a8b7e91bd14bf007772e0

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-05-15 23:06:32 +02:00

40 lines
1.9 KiB
Diff

fix build with libressl >= 3.5.0
Fix the following build failure with libressl >= 3.5.0:
auth_priv.cpp: In member function 'virtual int Snmp_pp::AuthMD5::password_to_key(const unsigned char*, unsigned int, const unsigned char*, unsigned int, unsigned char*, unsigned int*)':
auth_priv.cpp:1132:20: error: aggregate 'Snmp_pp::MD5HashStateType md5_hash_state' has incomplete type and cannot be defined
MD5HashStateType md5_hash_state;
^~~~~~~~~~~~~~
Fixes:
- http://autobuild.buildroot.org/results/b50b883c03e82564198a8b7e91bd14bf007772e0
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: merged (emailed to katz.agentpp.com@magenta.de)]
diff -Naurp snmp++-3.4.9.orig/src/auth_priv.cpp snmp++-3.4.9/src/auth_priv.cpp
--- snmp++-3.4.9.orig/src/auth_priv.cpp 2022-05-13 11:39:14.083038544 +0200
+++ snmp++-3.4.9/src/auth_priv.cpp 2022-05-13 15:00:42.576102348 +0200
@@ -79,8 +79,9 @@ static const char *loggerModuleName = "s
/* -- START: Defines for OpenSSL -- */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-// OpenSSL versions up to 1.0.x and LibreSSL
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L)
+// OpenSSL versions up to 1.0.x and LibreSSL versions up to 3.4.x
typedef EVP_MD_CTX EVPHashStateType;
int evpAllocAndInit(EVP_MD_CTX *ctx, const EVP_MD *md)
@@ -138,7 +139,7 @@ typedef EVP_MD_CTX* MD5HashSta
#define MD5_PROCESS(s, p, l) EVP_DigestUpdate(*(s), p, l)
#define MD5_DONE(s, k) evpDigestFinalAndFree(s, k)
-#endif // OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+#endif // OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L)
typedef DES_key_schedule DESCBCType;
#define DES_CBC_START_ENCRYPT(c, iv, k, kl, r, s) \