summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2023-03-28 10:35:18 +1100
committerDarren Tucker <dtucker@dtucker.net>2023-07-26 09:14:27 +1000
commit9ab0f5af2c8628ad613a7c5551d3ab08aae50982 (patch)
treedf3ff1bae2db25da42d34315f90bdf36e7c90daa
parent22caea4db201c34430bc781905eadc7be719f3f3 (diff)
Prevent conflicts between Solaris SHA2 and OpenSSL.
We used to prevent conflicts between native SHA2 headers and OpenSSL's by setting OPENSSL_NO_SHA but that was removed prior to OpenSSL 1.1.0
-rw-r--r--regress/misc/sk-dummy/sk-dummy.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/regress/misc/sk-dummy/sk-dummy.c b/regress/misc/sk-dummy/sk-dummy.c
index ad5e4745..1235bea3 100644
--- a/regress/misc/sk-dummy/sk-dummy.c
+++ b/regress/misc/sk-dummy/sk-dummy.c
@@ -36,10 +36,31 @@
#endif
#ifdef WITH_OPENSSL
-/* We don't use sha2 from OpenSSL and they can conflict with system sha2.h */
-#define OPENSSL_NO_SHA
+/*
+ * We use native (or compat) SHA2, but some bits of OpenSSL conflict with
+ * some native sha2 implementations. SHA2 is no longer optional in OpenSSL,
+ * so prevent conflicts as best we can.
+ */
#define USE_LIBC_SHA2 /* NetBSD 9 */
+#define SHA256_CTX openssl_SHA256_CTX
+#define SHA512_CTX openssl_SHA512_CTX
+#ifdef SHA1
+# undef SHA1
+#endif
+#ifdef SHA224
+# undef SHA224
+#endif
+#ifdef SHA256
+# undef SHA256
+#endif
+#ifdef SHA384
+# undef SHA384
+#endif
+#ifdef SHA512
+# undef SHA512
+#endif
#include <openssl/opensslv.h>
+#include <openssl/sha.h>
#include <openssl/crypto.h>
#include <openssl/evp.h>
#include <openssl/bn.h>