diff options
author | Steve Holme <steve_holme@hotmail.com> | 2019-04-14 19:24:28 +0100 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2019-08-04 18:01:29 +0100 |
commit | 850a295b41543a11c5a0b5f4943e9b4fbc20da59 (patch) | |
tree | 9dd50cae65b3923d6215f57e6d8c2476f4f2d10a /lib/md4.c | |
parent | 72e5fd83b2c00f85dc7218d83fee1d4efffb9b51 (diff) | |
download | curl-850a295b41543a11c5a0b5f4943e9b4fbc20da59.tar.gz |
md4: Use our own MD4 implementation when no crypto libraries are available
Closes #3780
Diffstat (limited to 'lib/md4.c')
-rw-r--r-- | lib/md4.c | 39 |
1 files changed, 9 insertions, 30 deletions
@@ -22,6 +22,11 @@ #include "curl_setup.h" +#if !defined(CURL_DISABLE_CRYPTO_AUTH) + +#include "curl_md4.h" +#include "warnless.h" + #ifdef USE_OPENSSL #include <openssl/opensslconf.h> #endif @@ -33,8 +38,6 @@ #include <nettle/md4.h> -#include "curl_md4.h" -#include "warnless.h" #include "curl_memory.h" /* The last #include file should be: */ @@ -61,8 +64,6 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx) #include <gcrypt.h> -#include "curl_md4.h" -#include "warnless.h" #include "curl_memory.h" /* The last #include file should be: */ #include "memdebug.h" @@ -89,15 +90,10 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx) /* When OpenSSL is available we use the MD4-functions from OpenSSL */ #include <openssl/md4.h> -#include "curl_md4.h" -#include "warnless.h" - #elif defined(USE_SECTRANSP) #include <CommonCrypto/CommonDigest.h> -#include "curl_md4.h" -#include "warnless.h" #include "curl_memory.h" /* The last #include file should be: */ #include "memdebug.h" @@ -138,8 +134,6 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx) #include <wincrypt.h> -#include "curl_md4.h" -#include "warnless.h" #include "curl_memory.h" /* The last #include file should be: */ #include "memdebug.h" @@ -184,8 +178,6 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx) #include <mbedtls/md4.h> -#include "curl_md4.h" -#include "warnless.h" #include "curl_memory.h" /* The last #include file should be: */ #include "memdebug.h" @@ -222,12 +214,9 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx) } } -#elif defined(USE_NSS) || defined(USE_OS400CRYPTO) || \ - (defined(USE_OPENSSL) && defined(OPENSSL_NO_MD4)) || \ - (defined(USE_MBEDTLS) && !defined(MBEDTLS_MD4_C)) -/* The NSS, OS/400, and when not included, OpenSSL and mbed TLS crypto - * libraries do not provide the MD4 hash algorithm, so we use this - * implementation of it +#else +/* When no other crypto library is available, or the crypto library doesn't + * support MD4, we use this code segment this implementation of it * * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc. * MD4 Message-Digest Algorithm (RFC 1320). @@ -265,8 +254,6 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx) * compile-time configuration. */ -#include "curl_md4.h" -#include "warnless.h" #include <string.h> @@ -518,11 +505,6 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx) #endif /* CRYPTO LIBS */ -#if defined(USE_GNUTLS_NETTLE) || defined(USE_GNUTLS) || \ - defined(USE_OPENSSL) || defined(USE_SECTRANSP) || \ - defined(USE_WIN32_CRYPTO) || defined(USE_NSS) || \ - defined(USE_OS400CRYPTO) || defined(USE_MBEDTLS) - void Curl_md4it(unsigned char *output, const unsigned char *input, size_t len) { MD4_CTX ctx; @@ -531,7 +513,4 @@ void Curl_md4it(unsigned char *output, const unsigned char *input, size_t len) MD4_Final(output, &ctx); } -#endif /* defined(USE_GNUTLS_NETTLE) || defined(USE_GNUTLS) || - defined(USE_OPENSSL) || defined(USE_SECTRANSP) || - defined(USE_WIN32_CRYPTO) || defined(USE_NSS) || - defined(USE_OS400CRYPTO) || defined(USE_MBEDTLS) */ +#endif /* CURL_DISABLE_CRYPTO_AUTH */ |