Explorar o código

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 8b216927db080b38fdbf1f8b025b6f90a89d4bc2:

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>
Fabrice Fontaine %!s(int64=3) %!d(string=hai) anos
pai
achega
fe6dc835e0
Modificáronse 1 ficheiros con 39 adicións e 0 borrados
  1. 39 0
      package/snmppp/0001-fix-build-with-libressl-3-5-0.patch

+ 39 - 0
package/snmppp/0001-fix-build-with-libressl-3-5-0.patch

@@ -0,0 +1,39 @@
+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) \