--- libarchive/archive_crypto.c.orig +++ libarchive/archive_crypto.c @@ -207,6 +207,7 @@ __archive_nettle_md5final(archive_md5_ct static int __archive_openssl_md5init(archive_md5_ctx *ctx) { + OPENSSL_config(NULL); EVP_DigestInit(ctx, EVP_md5()); return (ARCHIVE_OK); } @@ -359,6 +360,7 @@ __archive_nettle_ripemd160final(archive_ static int __archive_openssl_ripemd160init(archive_rmd160_ctx *ctx) { + OPENSSL_config(NULL); EVP_DigestInit(ctx, EVP_ripemd160()); return (ARCHIVE_OK); } @@ -509,6 +511,7 @@ __archive_nettle_sha1final(archive_sha1_ static int __archive_openssl_sha1init(archive_sha1_ctx *ctx) { + OPENSSL_config(NULL); EVP_DigestInit(ctx, EVP_sha1()); return (ARCHIVE_OK); } @@ -733,6 +736,7 @@ __archive_nettle_sha256final(archive_sha static int __archive_openssl_sha256init(archive_sha256_ctx *ctx) { + OPENSSL_config(NULL); EVP_DigestInit(ctx, EVP_sha256()); return (ARCHIVE_OK); } @@ -928,6 +932,7 @@ __archive_nettle_sha384final(archive_sha static int __archive_openssl_sha384init(archive_sha384_ctx *ctx) { + OPENSSL_config(NULL); EVP_DigestInit(ctx, EVP_sha384()); return (ARCHIVE_OK); } @@ -1147,6 +1152,7 @@ __archive_nettle_sha512final(archive_sha static int __archive_openssl_sha512init(archive_sha512_ctx *ctx) { + OPENSSL_config(NULL); EVP_DigestInit(ctx, EVP_sha512()); return (ARCHIVE_OK); } --- libarchive/archive_crypto_private.h.orig +++ libarchive/archive_crypto_private.h @@ -135,6 +135,7 @@ defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) #define ARCHIVE_CRYPTO_OPENSSL 1 #include +#include #endif /* Windows crypto headers */