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 [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) \