Commit 97e90d7b authored by Steve Holme's avatar Steve Holme
Browse files

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.
parent 10be4ec2
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -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_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,
+2 −2
Original line number Diff line number Diff line
@@ -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];