Loading lib/curl_ntlm.c +7 −25 Original line number Diff line number Diff line Loading @@ -22,42 +22,24 @@ #include "setup.h" /* NTLM details: #ifdef USE_NTLM http://davenport.sourceforge.net/ntlm.html http://www.innovation.ch/java/ntlm.html /* * NTLM details: * * http://davenport.sourceforge.net/ntlm.html * http://www.innovation.ch/java/ntlm.html */ #ifdef USE_NTLM #define DEBUG_ME 0 #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #ifdef HAVE_SYS_WAIT_H #include <sys/wait.h> #endif #ifdef HAVE_SIGNAL_H #include <signal.h> #endif #if (defined(NETWARE) && !defined(__NOVELL_LIBC__)) #include <netdb.h> #endif #include "urldata.h" #include "non-ascii.h" /* for Curl_convert_... prototypes */ #include "sendf.h" #include "select.h" #include "rawstr.h" #include "curl_base64.h" #include "curl_ntlm.h" #include "curl_ntlm_msgs.h" #include "curl_ntlm_wb.h" #include "url.h" #include "strerror.h" #include "curl_gethostname.h" #include "curl_memory.h" #define _MPRINTF_REPLACE /* use our functions only */ Loading lib/curl_ntlm.h +2 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ * ***************************************************************************/ #include "setup.h" #ifdef USE_NTLM /* this is for ntlm header input */ Loading lib/curl_ntlm_core.c +53 −86 Original line number Diff line number Diff line Loading @@ -22,23 +22,17 @@ #include "setup.h" /* NTLM details: #if defined(USE_NTLM) && !defined(USE_WINDOWS_SSPI) http://davenport.sourceforge.net/ntlm.html http://www.innovation.ch/java/ntlm.html /* * NTLM details: * * http://davenport.sourceforge.net/ntlm.html * http://www.innovation.ch/java/ntlm.html */ #ifdef USE_NTLM #include "non-ascii.h" #include "rawstr.h" #include "curl_memory.h" #define _MPRINTF_REPLACE /* use our functions only */ #include <curl/mprintf.h> #ifdef USE_SSLEAY #include "ssluse.h" # ifdef USE_OPENSSL # include <openssl/des.h> # ifndef OPENSSL_NO_MD4 Loading @@ -56,74 +50,49 @@ # include <ssl.h> # include <rand.h> # endif #ifndef OPENSSL_VERSION_NUMBER #error "OPENSSL_VERSION_NUMBER not defined" #endif #if OPENSSL_VERSION_NUMBER < 0x00907001L # if (OPENSSL_VERSION_NUMBER < 0x00907001L) # define DES_key_schedule des_key_schedule # define DES_cblock des_cblock # define DES_set_odd_parity des_set_odd_parity # define DES_set_key des_set_key # define DES_ecb_encrypt des_ecb_encrypt /* This is how things were done in the old days */ # define DESKEY(x) x # define DESKEYARG(x) x # else /* Modern version */ # define DESKEYARG(x) *x # define DESKEY(x) &x # endif #ifdef OPENSSL_NO_MD4 /* This requires MD4, but OpenSSL was compiled without it */ #define USE_NTRESPONSES 0 #define USE_NTLM2SESSION 0 #endif #elif defined(USE_GNUTLS) #include "gtls.h" # include <gcrypt.h> # define MD5_DIGEST_LENGTH 16 # define MD4_DIGEST_LENGTH 16 #elif defined(USE_NSS) #include "curl_md4.h" #include "nssg.h" # include <nss.h> # include <pk11pub.h> # include <hasht.h> # include "curl_md4.h" # define MD5_DIGEST_LENGTH MD5_LENGTH #elif defined(USE_WINDOWS_SSPI) #include "curl_sspi.h" #else # error "Can't compile NTLM support without a crypto library." #endif #ifndef USE_NTRESPONSES /* Define this to make the type-3 message include the NT response message */ #define USE_NTRESPONSES 1 /* Define this to make the type-3 message include the NTLM2Session response message, requires USE_NTRESPONSES. */ #define USE_NTLM2SESSION 1 #endif #include "urldata.h" #include "non-ascii.h" #include "rawstr.h" #include "curl_memory.h" #include "curl_ntlm_core.h" #define _MPRINTF_REPLACE /* use our functions only */ #include <curl/mprintf.h> /* The last #include file should be: */ #include "memdebug.h" #ifndef USE_WINDOWS_SSPI #ifdef USE_SSLEAY /* * Turns a 56 bit key into the 64 bit, odd parity key and sets the key. The Loading Loading @@ -407,6 +376,4 @@ CURLcode Curl_ntlm_core_mk_nt_hash(struct SessionHandle *data, } #endif /* USE_NTRESPONSES */ #endif /* !USE_WINDOWS_SSPI */ #endif /* USE_NTLM */ #endif /* USE_NTLM && !USE_WINDOWS_SSPI */ lib/curl_ntlm_core.h +28 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,32 @@ * ***************************************************************************/ #ifdef USE_NTLM #include "setup.h" #if defined(USE_NTLM) && !defined(USE_WINDOWS_SSPI) #ifdef USE_SSLEAY # if !defined(OPENSSL_VERSION_NUMBER) && \ !defined(HEADER_SSL_H) && !defined(HEADER_MD5_H) # error "curl_ntlm_core.h shall not be included before OpenSSL headers." # endif # ifdef OPENSSL_NO_MD4 # define USE_NTRESPONSES 0 # define USE_NTLM2SESSION 0 # 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. */ #ifndef USE_NTRESPONSES # define USE_NTRESPONSES 1 # define USE_NTLM2SESSION 1 #endif void Curl_ntlm_core_lm_resp(const unsigned char *keys, const unsigned char *plaintext, Loading @@ -32,12 +57,12 @@ void Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, const char *password, unsigned char *lmbuffer /* 21 bytes */); #if !defined(USE_WINDOWS_SSPI) && (USE_NTRESPONSES != 0) #if USE_NTRESPONSES CURLcode Curl_ntlm_core_mk_nt_hash(struct SessionHandle *data, const char *password, unsigned char *ntbuffer /* 21 bytes */); #endif #endif /* USE_NTLM */ #endif /* USE_NTLM && !USE_WINDOWS_SSPI */ #endif /* HEADER_CURL_NTLM_CORE_H */ lib/curl_ntlm_msgs.c +48 −81 Original line number Diff line number Diff line Loading @@ -22,43 +22,19 @@ #include "setup.h" /* NTLM details: #ifdef USE_NTLM http://davenport.sourceforge.net/ntlm.html http://www.innovation.ch/java/ntlm.html /* * NTLM details: * * http://davenport.sourceforge.net/ntlm.html * http://www.innovation.ch/java/ntlm.html */ #ifdef USE_NTLM #define DEBUG_ME 0 #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #if (defined(NETWARE) && !defined(__NOVELL_LIBC__)) #include <netdb.h> #endif #define BUILDING_CURL_NTLM_MSGS_C #include "urldata.h" #include "non-ascii.h" #include "sendf.h" #include "select.h" #include "rawstr.h" #include "curl_base64.h" #include "curl_ntlm_msgs.h" #include "url.h" #include "strerror.h" #include "curl_gethostname.h" #include "curl_memory.h" #define _MPRINTF_REPLACE /* use our functions only */ #include <curl/mprintf.h> #ifdef USE_SSLEAY #include "ssluse.h" # ifdef USE_OPENSSL # include <openssl/des.h> # ifndef OPENSSL_NO_MD4 Loading @@ -76,52 +52,43 @@ # include <ssl.h> # include <rand.h> # endif #ifndef OPENSSL_VERSION_NUMBER #error "OPENSSL_VERSION_NUMBER not defined" #endif #ifdef OPENSSL_NO_MD4 /* This requires MD4, but OpenSSL was compiled without it */ #define USE_NTRESPONSES 0 #define USE_NTLM2SESSION 0 #endif # include "ssluse.h" #elif defined(USE_GNUTLS) #include "gtls.h" # include <gcrypt.h> # include "gtls.h" # define MD5_DIGEST_LENGTH 16 # define MD4_DIGEST_LENGTH 16 #elif defined(USE_NSS) #include "curl_md4.h" #include "nssg.h" # include <nss.h> # include <pk11pub.h> # include <hasht.h> # include "nssg.h" # include "curl_md4.h" # define MD5_DIGEST_LENGTH MD5_LENGTH #elif defined(USE_WINDOWS_SSPI) # include "curl_sspi.h" #else # error "Can't compile NTLM support without a crypto library." #endif #ifndef USE_NTRESPONSES /* Define this to make the type-3 message include the NT response message */ #define USE_NTRESPONSES 1 #include "urldata.h" #include "non-ascii.h" #include "sendf.h" #include "curl_base64.h" #include "curl_ntlm_core.h" #include "curl_gethostname.h" #include "curl_memory.h" /* Define this to make the type-3 message include the NTLM2Session response message, requires USE_NTRESPONSES. */ #define USE_NTLM2SESSION 1 #endif #define BUILDING_CURL_NTLM_MSGS_C #include "curl_ntlm_msgs.h" #include "curl_ntlm_core.h" #define _MPRINTF_REPLACE /* use our functions only */ #include <curl/mprintf.h> /* The last #include file should be: */ #include "memdebug.h" Loading Loading
lib/curl_ntlm.c +7 −25 Original line number Diff line number Diff line Loading @@ -22,42 +22,24 @@ #include "setup.h" /* NTLM details: #ifdef USE_NTLM http://davenport.sourceforge.net/ntlm.html http://www.innovation.ch/java/ntlm.html /* * NTLM details: * * http://davenport.sourceforge.net/ntlm.html * http://www.innovation.ch/java/ntlm.html */ #ifdef USE_NTLM #define DEBUG_ME 0 #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #ifdef HAVE_SYS_WAIT_H #include <sys/wait.h> #endif #ifdef HAVE_SIGNAL_H #include <signal.h> #endif #if (defined(NETWARE) && !defined(__NOVELL_LIBC__)) #include <netdb.h> #endif #include "urldata.h" #include "non-ascii.h" /* for Curl_convert_... prototypes */ #include "sendf.h" #include "select.h" #include "rawstr.h" #include "curl_base64.h" #include "curl_ntlm.h" #include "curl_ntlm_msgs.h" #include "curl_ntlm_wb.h" #include "url.h" #include "strerror.h" #include "curl_gethostname.h" #include "curl_memory.h" #define _MPRINTF_REPLACE /* use our functions only */ Loading
lib/curl_ntlm.h +2 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ * ***************************************************************************/ #include "setup.h" #ifdef USE_NTLM /* this is for ntlm header input */ Loading
lib/curl_ntlm_core.c +53 −86 Original line number Diff line number Diff line Loading @@ -22,23 +22,17 @@ #include "setup.h" /* NTLM details: #if defined(USE_NTLM) && !defined(USE_WINDOWS_SSPI) http://davenport.sourceforge.net/ntlm.html http://www.innovation.ch/java/ntlm.html /* * NTLM details: * * http://davenport.sourceforge.net/ntlm.html * http://www.innovation.ch/java/ntlm.html */ #ifdef USE_NTLM #include "non-ascii.h" #include "rawstr.h" #include "curl_memory.h" #define _MPRINTF_REPLACE /* use our functions only */ #include <curl/mprintf.h> #ifdef USE_SSLEAY #include "ssluse.h" # ifdef USE_OPENSSL # include <openssl/des.h> # ifndef OPENSSL_NO_MD4 Loading @@ -56,74 +50,49 @@ # include <ssl.h> # include <rand.h> # endif #ifndef OPENSSL_VERSION_NUMBER #error "OPENSSL_VERSION_NUMBER not defined" #endif #if OPENSSL_VERSION_NUMBER < 0x00907001L # if (OPENSSL_VERSION_NUMBER < 0x00907001L) # define DES_key_schedule des_key_schedule # define DES_cblock des_cblock # define DES_set_odd_parity des_set_odd_parity # define DES_set_key des_set_key # define DES_ecb_encrypt des_ecb_encrypt /* This is how things were done in the old days */ # define DESKEY(x) x # define DESKEYARG(x) x # else /* Modern version */ # define DESKEYARG(x) *x # define DESKEY(x) &x # endif #ifdef OPENSSL_NO_MD4 /* This requires MD4, but OpenSSL was compiled without it */ #define USE_NTRESPONSES 0 #define USE_NTLM2SESSION 0 #endif #elif defined(USE_GNUTLS) #include "gtls.h" # include <gcrypt.h> # define MD5_DIGEST_LENGTH 16 # define MD4_DIGEST_LENGTH 16 #elif defined(USE_NSS) #include "curl_md4.h" #include "nssg.h" # include <nss.h> # include <pk11pub.h> # include <hasht.h> # include "curl_md4.h" # define MD5_DIGEST_LENGTH MD5_LENGTH #elif defined(USE_WINDOWS_SSPI) #include "curl_sspi.h" #else # error "Can't compile NTLM support without a crypto library." #endif #ifndef USE_NTRESPONSES /* Define this to make the type-3 message include the NT response message */ #define USE_NTRESPONSES 1 /* Define this to make the type-3 message include the NTLM2Session response message, requires USE_NTRESPONSES. */ #define USE_NTLM2SESSION 1 #endif #include "urldata.h" #include "non-ascii.h" #include "rawstr.h" #include "curl_memory.h" #include "curl_ntlm_core.h" #define _MPRINTF_REPLACE /* use our functions only */ #include <curl/mprintf.h> /* The last #include file should be: */ #include "memdebug.h" #ifndef USE_WINDOWS_SSPI #ifdef USE_SSLEAY /* * Turns a 56 bit key into the 64 bit, odd parity key and sets the key. The Loading Loading @@ -407,6 +376,4 @@ CURLcode Curl_ntlm_core_mk_nt_hash(struct SessionHandle *data, } #endif /* USE_NTRESPONSES */ #endif /* !USE_WINDOWS_SSPI */ #endif /* USE_NTLM */ #endif /* USE_NTLM && !USE_WINDOWS_SSPI */
lib/curl_ntlm_core.h +28 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,32 @@ * ***************************************************************************/ #ifdef USE_NTLM #include "setup.h" #if defined(USE_NTLM) && !defined(USE_WINDOWS_SSPI) #ifdef USE_SSLEAY # if !defined(OPENSSL_VERSION_NUMBER) && \ !defined(HEADER_SSL_H) && !defined(HEADER_MD5_H) # error "curl_ntlm_core.h shall not be included before OpenSSL headers." # endif # ifdef OPENSSL_NO_MD4 # define USE_NTRESPONSES 0 # define USE_NTLM2SESSION 0 # 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. */ #ifndef USE_NTRESPONSES # define USE_NTRESPONSES 1 # define USE_NTLM2SESSION 1 #endif void Curl_ntlm_core_lm_resp(const unsigned char *keys, const unsigned char *plaintext, Loading @@ -32,12 +57,12 @@ void Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, const char *password, unsigned char *lmbuffer /* 21 bytes */); #if !defined(USE_WINDOWS_SSPI) && (USE_NTRESPONSES != 0) #if USE_NTRESPONSES CURLcode Curl_ntlm_core_mk_nt_hash(struct SessionHandle *data, const char *password, unsigned char *ntbuffer /* 21 bytes */); #endif #endif /* USE_NTLM */ #endif /* USE_NTLM && !USE_WINDOWS_SSPI */ #endif /* HEADER_CURL_NTLM_CORE_H */
lib/curl_ntlm_msgs.c +48 −81 Original line number Diff line number Diff line Loading @@ -22,43 +22,19 @@ #include "setup.h" /* NTLM details: #ifdef USE_NTLM http://davenport.sourceforge.net/ntlm.html http://www.innovation.ch/java/ntlm.html /* * NTLM details: * * http://davenport.sourceforge.net/ntlm.html * http://www.innovation.ch/java/ntlm.html */ #ifdef USE_NTLM #define DEBUG_ME 0 #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #if (defined(NETWARE) && !defined(__NOVELL_LIBC__)) #include <netdb.h> #endif #define BUILDING_CURL_NTLM_MSGS_C #include "urldata.h" #include "non-ascii.h" #include "sendf.h" #include "select.h" #include "rawstr.h" #include "curl_base64.h" #include "curl_ntlm_msgs.h" #include "url.h" #include "strerror.h" #include "curl_gethostname.h" #include "curl_memory.h" #define _MPRINTF_REPLACE /* use our functions only */ #include <curl/mprintf.h> #ifdef USE_SSLEAY #include "ssluse.h" # ifdef USE_OPENSSL # include <openssl/des.h> # ifndef OPENSSL_NO_MD4 Loading @@ -76,52 +52,43 @@ # include <ssl.h> # include <rand.h> # endif #ifndef OPENSSL_VERSION_NUMBER #error "OPENSSL_VERSION_NUMBER not defined" #endif #ifdef OPENSSL_NO_MD4 /* This requires MD4, but OpenSSL was compiled without it */ #define USE_NTRESPONSES 0 #define USE_NTLM2SESSION 0 #endif # include "ssluse.h" #elif defined(USE_GNUTLS) #include "gtls.h" # include <gcrypt.h> # include "gtls.h" # define MD5_DIGEST_LENGTH 16 # define MD4_DIGEST_LENGTH 16 #elif defined(USE_NSS) #include "curl_md4.h" #include "nssg.h" # include <nss.h> # include <pk11pub.h> # include <hasht.h> # include "nssg.h" # include "curl_md4.h" # define MD5_DIGEST_LENGTH MD5_LENGTH #elif defined(USE_WINDOWS_SSPI) # include "curl_sspi.h" #else # error "Can't compile NTLM support without a crypto library." #endif #ifndef USE_NTRESPONSES /* Define this to make the type-3 message include the NT response message */ #define USE_NTRESPONSES 1 #include "urldata.h" #include "non-ascii.h" #include "sendf.h" #include "curl_base64.h" #include "curl_ntlm_core.h" #include "curl_gethostname.h" #include "curl_memory.h" /* Define this to make the type-3 message include the NTLM2Session response message, requires USE_NTRESPONSES. */ #define USE_NTLM2SESSION 1 #endif #define BUILDING_CURL_NTLM_MSGS_C #include "curl_ntlm_msgs.h" #include "curl_ntlm_core.h" #define _MPRINTF_REPLACE /* use our functions only */ #include <curl/mprintf.h> /* The last #include file should be: */ #include "memdebug.h" Loading