]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Don't use libmd and OpenSSL at the same time; they
authorTim Kientzle <kientzle@gmail.com>
Sat, 17 Dec 2011 07:17:23 +0000 (02:17 -0500)
committerTim Kientzle <kientzle@gmail.com>
Sat, 17 Dec 2011 07:17:23 +0000 (02:17 -0500)
provide conflicting definitions for SHA512 symbols.

SVN-Revision: 3926

libarchive/archive_crypto.c
libarchive/archive_crypto_private.h

index 8e792e52cf5686f83e2aa798767a6e93f4684971..2caf5716929610bf03461ad189973e827dbfdceb 100644 (file)
 #include "archive.h"
 #include "archive_crypto_private.h"
 
+/* In particular, force the configure probe to break if it tries
+ * to test a combination of OpenSSL and libmd. */
+#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
+#error Cannot use both OpenSSL and libmd.
+#endif
+
 /*
  * Message digest functions for Windows platform.
  */
index 24754a0172f4b11da7c699b0af731cd957aa9663..f8b1fb3c3f54810e78cdafa986a74335b89d410d 100644 (file)
 #endif
 
 /* libmd crypto headers */
+#if defined(ARCHIVE_CRYPTO_MD5_LIBMD) ||\
+  defined(ARCHIVE_CRYPTO_RMD160_LIBMD) ||\
+  defined(ARCHIVE_CRYPTO_SHA1_LIBMD) ||\
+  defined(ARCHIVE_CRYPTO_SHA256_LIBMD) ||\
+  defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
+#define        ARCHIVE_CRYPTO_LIBMD 1
+#endif
+
 #if defined(ARCHIVE_CRYPTO_MD5_LIBMD)
 #include <md5.h>
 #endif
   defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) ||\
   defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) ||\
   defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
+#define        ARCHIVE_CRYPTO_OPENSSL 1
 #include <openssl/evp.h>
 #endif