1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

http_ntlm_wb: Return the correct error on receiving an empty auth message

Missed in fe20826b as it wasn't implemented in http.c in b4d6db83.

Closes #3894
This commit is contained in:
Steve Holme 2019-05-18 17:05:04 +01:00
parent 697b1f911b
commit bd21fc9d2f
No known key found for this signature in database
GPG Key ID: 4059CB85CA7E8F19

View File

@ -339,7 +339,7 @@ CURLcode Curl_input_ntlm_wb(struct connectdata *conn,
bool proxy,
const char *header)
{
(void) proxy;
curlntlm *state = proxy ? &conn->proxy_ntlm_state : &conn->http_ntlm_state;
if(!checkprefix("NTLM", header))
return CURLE_BAD_CONTENT_ENCODING;
@ -352,9 +352,17 @@ CURLcode Curl_input_ntlm_wb(struct connectdata *conn,
conn->challenge_header = strdup(header);
if(!conn->challenge_header)
return CURLE_OUT_OF_MEMORY;
*state = NTLMSTATE_TYPE2; /* We got a type-2 message */
}
else {
if(*state >= NTLMSTATE_TYPE1) {
infof(conn->data, "NTLM handshake failure (internal error)\n");
return CURLE_REMOTE_ACCESS_DENIED;
}
*state = NTLMSTATE_TYPE1; /* We should send away a type-1 */
}
else
return CURLE_BAD_CONTENT_ENCODING;
return CURLE_OK;
}