ntlm: Return CURLcode from Curl_ntlm_core_mk_lm_hash()
authorSteve Holme <steve_holme@hotmail.com>
Sun, 26 Oct 2014 10:26:46 +0000 (10:26 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 26 Oct 2014 09:14:34 +0000 (09:14 +0000)
lib/curl_ntlm_core.c
lib/curl_ntlm_core.h
lib/curl_ntlm_msgs.c

index 49924f31ec9009a914788508c69d32b14e188ae5..68c82cad1a6d20254134db97db8d35b49394bd47 100644 (file)
@@ -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
index fe41cddf698b876f65b73dda518ff39770def4e8..0a6dd934cda6675071477bb5247b4eba7baf2dc3 100644 (file)
@@ -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,
index 99df82f87a01aead79104038247f1293e3477123..8f5ed58eeac711c425c74eb89ccfc4ca3d3f1f9e 100644 (file)
@@ -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 */