Open ffontaine opened 2 years ago
What if instead you tested for OPENSSL_VERSION_NUMBER < 0x10100000L
?
I believe for libressl >= 3.5.0 that would be 0x20000000L and guaranteed not to change so would accommodate that case as well as OpenSSL 1.1 and 3.0 in a single test.
As OPENSSL_VERSION_NUMBER
is hardcoded to 0x20000000L
in libressl, this would mean that the build will fail for all versions before 3.5.0. If you want to be compatible with all libressl versions, LIBRESSL_VERSION_NUMBER
must be checked.
What if instead you use a feature test?
diff --git a/crypto-openssl-10.cpp b/crypto-openssl-10.cpp
index f0f2c53..1623690 100644
--- a/crypto-openssl-10.cpp
+++ b/crypto-openssl-10.cpp
@@ -28,16 +28,15 @@
* as that of the covered work.
*/
-#include <openssl/opensslconf.h>
+#include <openssl/hmac.h>
-#if !defined(OPENSSL_API_COMPAT)
+#if defined(HMAC_cleanup)
#include "crypto.hpp"
#include "key.hpp"
#include "util.hpp"
#include <openssl/aes.h>
#include <openssl/sha.h>
-#include <openssl/hmac.h>
#include <openssl/evp.h>
#include <openssl/rand.h>
#include <openssl/err.h>
diff --git a/crypto-openssl-11.cpp b/crypto-openssl-11.cpp
index adf03bb..518b90c 100644
--- a/crypto-openssl-11.cpp
+++ b/crypto-openssl-11.cpp
@@ -28,16 +28,15 @@
* as that of the covered work.
*/
-#include <openssl/opensslconf.h>
+#include <openssl/hmac.h>
-#if defined(OPENSSL_API_COMPAT)
+#if !defined(HMAC_cleanup)
#include "crypto.hpp"
#include "key.hpp"
#include "util.hpp"
#include <openssl/aes.h>
#include <openssl/sha.h>
-#include <openssl/hmac.h>
#include <openssl/evp.h>
#include <openssl/rand.h>
#include <openssl/err.h>
I updated the PR as requested
Do you plan on merging this PR?
Fix the following build failure with libressl >= 3.5.0:
Fixes:
Signed-off-by: Fabrice Fontaine fontaine.fabrice@gmail.com