mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 08:08:50 -05:00
ntlm: Disable NTLM v2 when 64-bit integers are not supported
This fixes compilation issues with compilers that don't support 64-bit
integers through long long or __int64 which was introduced in commit
07b66cbfa4
.
This commit is contained in:
parent
97e90d7b89
commit
82fdb87b27
@ -472,6 +472,7 @@ static void write32_le(const int value, unsigned char *buffer)
|
|||||||
buffer[3] = (char)((value & 0xFF000000) >> 24);
|
buffer[3] = (char)((value & 0xFF000000) >> 24);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (CURL_SIZEOF_CURL_OFF_T > 4)
|
||||||
#if defined(HAVE_LONGLONG)
|
#if defined(HAVE_LONGLONG)
|
||||||
static void write64_le(const long long value, unsigned char *buffer)
|
static void write64_le(const long long value, unsigned char *buffer)
|
||||||
#else
|
#else
|
||||||
@ -481,6 +482,7 @@ static void write64_le(const __int64 value, unsigned char *buffer)
|
|||||||
write32_le((int)value, buffer);
|
write32_le((int)value, buffer);
|
||||||
write32_le((int)(value >> 32), buffer + 4);
|
write32_le((int)(value >> 32), buffer + 4);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up nt hashed passwords
|
* Set up nt hashed passwords
|
||||||
@ -550,7 +552,7 @@ CURLcode Curl_ntlm_core_mk_nt_hash(struct SessionHandle *data,
|
|||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef USE_WINDOWS_SSPI
|
#if USE_NTLM_V2 && !defined(USE_WINDOWS_SSPI)
|
||||||
|
|
||||||
/* This returns the HMAC MD5 digest */
|
/* This returns the HMAC MD5 digest */
|
||||||
CURLcode Curl_hmac_md5(const unsigned char *key, unsigned int keylen,
|
CURLcode Curl_hmac_md5(const unsigned char *key, unsigned int keylen,
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
# ifdef OPENSSL_NO_MD4
|
# ifdef OPENSSL_NO_MD4
|
||||||
# define USE_NTRESPONSES 0
|
# define USE_NTRESPONSES 0
|
||||||
# define USE_NTLM2SESSION 0
|
# define USE_NTLM2SESSION 0
|
||||||
|
# define USE_NTLM_V2 0
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -52,6 +53,13 @@
|
|||||||
#define USE_NTLM2SESSION 1
|
#define USE_NTLM2SESSION 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Define USE_NTLM_V2 to 1 in order to allow the type-3 message to include the
|
||||||
|
LMv2 and NTLMv2 response messages, requires USE_NTRESPONSES defined to 1
|
||||||
|
and support for 64-bit integers. */
|
||||||
|
#if !defined(USE_NTLM_V2) && USE_NTRESPONSES && (CURL_SIZEOF_CURL_OFF_T > 4)
|
||||||
|
#define USE_NTLM_V2 1
|
||||||
|
#endif
|
||||||
|
|
||||||
void Curl_ntlm_core_lm_resp(const unsigned char *keys,
|
void Curl_ntlm_core_lm_resp(const unsigned char *keys,
|
||||||
const unsigned char *plaintext,
|
const unsigned char *plaintext,
|
||||||
unsigned char *results);
|
unsigned char *results);
|
||||||
@ -65,7 +73,7 @@ CURLcode Curl_ntlm_core_mk_nt_hash(struct SessionHandle *data,
|
|||||||
const char *password,
|
const char *password,
|
||||||
unsigned char *ntbuffer /* 21 bytes */);
|
unsigned char *ntbuffer /* 21 bytes */);
|
||||||
|
|
||||||
#ifndef USE_WINDOWS_SSPI
|
#if USE_NTLM_V2 && !defined(USE_WINDOWS_SSPI)
|
||||||
|
|
||||||
CURLcode Curl_hmac_md5(const unsigned char *key, unsigned int keylen,
|
CURLcode Curl_hmac_md5(const unsigned char *key, unsigned int keylen,
|
||||||
const unsigned char *data, unsigned int datalen,
|
const unsigned char *data, unsigned int datalen,
|
||||||
@ -87,7 +95,7 @@ CURLcode Curl_ntlm_core_mk_lmv2_resp(unsigned char *ntlmv2hash,
|
|||||||
unsigned char *challenge_server,
|
unsigned char *challenge_server,
|
||||||
unsigned char *lmresp);
|
unsigned char *lmresp);
|
||||||
|
|
||||||
#endif /* !USE_WINDOWS_SSPI */
|
#endif /* USE_NTLM_V2 && !USE_WINDOWS_SSPI */
|
||||||
|
|
||||||
#endif /* USE_NTRESPONSES */
|
#endif /* USE_NTRESPONSES */
|
||||||
|
|
||||||
|
@ -554,7 +554,7 @@ CURLcode Curl_sasl_create_ntlm_type3_message(struct SessionHandle *data,
|
|||||||
hostlen = strlen(host);
|
hostlen = strlen(host);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if USE_NTRESPONSES
|
#if USE_NTRESPONSES && USE_NTLM_V2
|
||||||
if(ntlm->target_info_len) {
|
if(ntlm->target_info_len) {
|
||||||
unsigned char ntbuffer[0x18];
|
unsigned char ntbuffer[0x18];
|
||||||
unsigned int entropy[2];
|
unsigned int entropy[2];
|
||||||
|
Loading…
Reference in New Issue
Block a user