ntlm: Allow NTLM2Session messages when USE_NTRESPONSES manually defined

Previously USE_NTLM2SESSION would only be defined automatically when
USE_NTRESPONSES wasn't already defined. Separated the two definitions
so that the user can manually set USE_NTRESPONSES themselves but
USE_NTLM2SESSION is defined automatically if they don't define it.
This commit is contained in:
Steve Holme 2014-12-12 21:40:09 +00:00
parent 10be4ec2c3
commit 97e90d7b89
2 changed files with 12 additions and 13 deletions

View File

@ -39,18 +39,17 @@
# endif
#endif
/*
* Define USE_NTRESPONSES to 1 in order to make the type-3 message include
* the NT response message. Define USE_NTLM2SESSION to 1 in order to make
* the type-3 message include the NTLM2Session response message, requires
* USE_NTRESPONSES defined to 1.
*/
/* Define USE_NTRESPONSES to 1 in order to make the type-3 message include
* the NT response message. */
#ifndef USE_NTRESPONSES
# define USE_NTRESPONSES 1
# ifndef USE_WIN32_CRYPTO
# define USE_NTLM2SESSION 1
# endif
#define USE_NTRESPONSES 1
#endif
/* Define USE_NTLM2SESSION to 1 in order to make the type-3 message include the
NTLM2Session response message, requires USE_NTRESPONSES defined to 1 and a
Crypto engine that we have curl_ssl_md5sum() for. */
#if !defined(USE_NTLM2SESSION) && USE_NTRESPONSES && !defined(USE_WIN32_CRYPTO)
#define USE_NTLM2SESSION 1
#endif
void Curl_ntlm_core_lm_resp(const unsigned char *keys,

View File

@ -396,7 +396,7 @@ CURLcode Curl_sasl_create_ntlm_type1_message(const char *userp,
/* Clean up any former leftovers and initialise to defaults */
Curl_sasl_ntlm_cleanup(ntlm);
#if USE_NTLM2SESSION
#if USE_NTRESPONSES && USE_NTLM2SESSION
#define NTLM2FLAG NTLMFLAG_NEGOTIATE_NTLM2_KEY
#else
#define NTLM2FLAG 0
@ -591,7 +591,7 @@ CURLcode Curl_sasl_create_ntlm_type3_message(struct SessionHandle *data,
else
#endif
#if USE_NTLM2SESSION
#if USE_NTRESPONSES && USE_NTLM2SESSION
/* We don't support NTLM2 if we don't have USE_NTRESPONSES */
if(ntlm->flags & NTLMFLAG_NEGOTIATE_NTLM2_KEY) {
unsigned char ntbuffer[0x18];