aboutsummaryrefslogtreecommitdiff
path: root/lib/curl_ntlm_core.c
diff options
context:
space:
mode:
authorDan Fandrich <dan@coneharvesters.com>2017-04-21 22:33:17 +0200
committerDan Fandrich <dan@coneharvesters.com>2017-04-21 22:42:14 +0200
commit5f830eaba0b4c00dabf095cede048ddcea736d9d (patch)
treee51ffa0f24ef1a7041f4aff41a3c8fe0baf192bd /lib/curl_ntlm_core.c
parent49eee28822f8eef78b736097711fb798daf3a12b (diff)
downloadgnurl-5f830eaba0b4c00dabf095cede048ddcea736d9d.tar.gz
gnurl-5f830eaba0b4c00dabf095cede048ddcea736d9d.tar.bz2
gnurl-5f830eaba0b4c00dabf095cede048ddcea736d9d.zip
mbedtls: enable NTLM (& SMB) even if MD4 support is unavailable
In that case, use libcurl's internal MD4 routine. This fixes tests 1013 and 1014 which were failing due to configure assuming NTLM and SMB were always available whenever mbed TLS was in use (which is now true).
Diffstat (limited to 'lib/curl_ntlm_core.c')
-rw-r--r--lib/curl_ntlm_core.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c
index fb43dda19..b15215b2f 100644
--- a/lib/curl_ntlm_core.c
+++ b/lib/curl_ntlm_core.c
@@ -80,6 +80,9 @@
# include <mbedtls/des.h>
# include <mbedtls/md4.h>
+# if !defined(MBEDTLS_MD4_C)
+# include "curl_md4.h"
+# endif
#elif defined(USE_NSS)
@@ -568,10 +571,11 @@ CURLcode Curl_ntlm_core_mk_nt_hash(struct Curl_easy *data,
gcry_md_write(MD4pw, pw, 2 * len);
memcpy(ntbuffer, gcry_md_read(MD4pw, 0), MD4_DIGEST_LENGTH);
gcry_md_close(MD4pw);
+#elif defined(USE_NSS) || defined(USE_OS400CRYPTO) || \
+ (defined(USE_MBEDTLS) && !defined(MBEDTLS_MD4_C))
+ Curl_md4it(ntbuffer, pw, 2 * len);
#elif defined(USE_MBEDTLS)
mbedtls_md4(pw, 2 * len, ntbuffer);
-#elif defined(USE_NSS) || defined(USE_OS400CRYPTO)
- Curl_md4it(ntbuffer, pw, 2 * len);
#elif defined(USE_DARWINSSL)
(void)CC_MD4(pw, (CC_LONG)(2 * len), ntbuffer);
#elif defined(USE_WIN32_CRYPTO)