From: Steve Holme Date: Sun, 26 Oct 2014 10:26:46 +0000 (+0000) Subject: ntlm: Return CURLcode from Curl_ntlm_core_mk_lm_hash() X-Git-Tag: curl-7_39_0~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b738a16eb986bf71e64adbf54bab7c2bed90998;p=thirdparty%2Fcurl.git ntlm: Return CURLcode from Curl_ntlm_core_mk_lm_hash() --- diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c index 49924f31ec..68c82cad1a 100644 --- a/lib/curl_ntlm_core.c +++ b/lib/curl_ntlm_core.c @@ -311,9 +311,9 @@ void Curl_ntlm_core_lm_resp(const unsigned char *keys, /* * Set up lanmanager hashed password */ -void Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, - const char *password, - unsigned char *lmbuffer /* 21 bytes */) +CURLcode Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, + const char *password, + unsigned char *lmbuffer /* 21 bytes */) { CURLcode result; unsigned char pw[14]; @@ -331,7 +331,7 @@ void Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, */ result = Curl_convert_to_network(data, (char *)pw, 14); if(result) - return; + return result; { /* Create LanManager hashed password. */ @@ -371,6 +371,8 @@ void Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, memset(lmbuffer + 16, 0, 21 - 16); } + + return CURLE_OK; } #if USE_NTRESPONSES diff --git a/lib/curl_ntlm_core.h b/lib/curl_ntlm_core.h index fe41cddf69..0a6dd934cd 100644 --- a/lib/curl_ntlm_core.h +++ b/lib/curl_ntlm_core.h @@ -53,9 +53,9 @@ void Curl_ntlm_core_lm_resp(const unsigned char *keys, const unsigned char *plaintext, unsigned char *results); -void Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, - const char *password, - unsigned char *lmbuffer /* 21 bytes */); +CURLcode Curl_ntlm_core_mk_lm_hash(struct SessionHandle *data, + const char *password, + unsigned char *lmbuffer /* 21 bytes */); #if USE_NTRESPONSES CURLcode Curl_hmac_md5(const unsigned char *key, unsigned int keylen, diff --git a/lib/curl_ntlm_msgs.c b/lib/curl_ntlm_msgs.c index 99df82f87a..8f5ed58eea 100644 --- a/lib/curl_ntlm_msgs.c +++ b/lib/curl_ntlm_msgs.c @@ -830,8 +830,12 @@ CURLcode Curl_ntlm_create_type3_message(struct SessionHandle *data, Curl_ntlm_core_lm_resp(ntbuffer, &ntlm->nonce[0], ntresp); #endif - Curl_ntlm_core_mk_lm_hash(data, passwdp, lmbuffer); + result = Curl_ntlm_core_mk_lm_hash(data, passwdp, lmbuffer); + if(result) + return result; + Curl_ntlm_core_lm_resp(lmbuffer, &ntlm->nonce[0], lmresp); + /* A safer but less compatible alternative is: * Curl_ntlm_core_lm_resp(ntbuffer, &ntlm->nonce[0], lmresp); * See http://davenport.sourceforge.net/ntlm.html#ntlmVersion2 */