diff options
author | Steve Holme <steve_holme@hotmail.com> | 2014-12-12 21:40:09 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2014-12-12 22:33:57 +0000 |
commit | 97e90d7b8928f49c00ff8109a371e0613821fbc1 (patch) | |
tree | 79b24186dd5e99220d6539520a18dc028a4858ed | |
parent | 10be4ec2c3f39f377ce3a97e05e5ea0d92f24d44 (diff) |
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.
-rw-r--r-- | lib/curl_ntlm_core.h | 21 | ||||
-rw-r--r-- | lib/curl_ntlm_msgs.c | 4 |
2 files changed, 12 insertions, 13 deletions
diff --git a/lib/curl_ntlm_core.h b/lib/curl_ntlm_core.h index a600f0a7f..c9dde7e4c 100644 --- a/lib/curl_ntlm_core.h +++ b/lib/curl_ntlm_core.h @@ -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, diff --git a/lib/curl_ntlm_msgs.c b/lib/curl_ntlm_msgs.c index 1abcc8533..b31952138 100644 --- a/lib/curl_ntlm_msgs.c +++ b/lib/curl_ntlm_msgs.c @@ -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]; |