summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2023-03-28 18:06:42 +1100
committerDarren Tucker <dtucker@dtucker.net>2023-03-28 19:03:03 +1100
commit727560e6011efcb36d2f3ac6910444bc775abaa1 (patch)
tree689d0c7d795bedef335ca8ee25d606b831498f5c
parent46db8e14b7f186d32173dcdecd5b785334429b8b (diff)
downloadopenssh-git-727560e6011efcb36d2f3ac6910444bc775abaa1.tar.gz
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.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/regress/misc/sk-dummy/sk-dummy.c b/regress/misc/sk-dummy/sk-dummy.c
index 507f3f56..1235bea3 100644
--- a/regress/misc/sk-dummy/sk-dummy.c
+++ b/regress/misc/sk-dummy/sk-dummy.c
@@ -36,9 +36,31 @@
#endif
#ifdef WITH_OPENSSL
-/* We don't use sha2 from OpenSSL and they can conflict with system sha2.h */
+/*
+ * 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>