diff --git a/lib/http_negotiate.c b/lib/http_negotiate.c index 6e882a337..6a4b8660f 100644 --- a/lib/http_negotiate.c +++ b/lib/http_negotiate.c @@ -101,8 +101,11 @@ CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy, if(result) return result; - if(!rawlen) + if(!rawlen) { + infof(data, "Negotiate handshake failure (empty challenge message)\n"); + return CURLE_BAD_CONTENT_ENCODING; + } input_token.length = rawlen; diff --git a/lib/http_negotiate_sspi.c b/lib/http_negotiate_sspi.c index 7afd60957..e6ab0b78d 100644 --- a/lib/http_negotiate_sspi.c +++ b/lib/http_negotiate_sspi.c @@ -168,8 +168,12 @@ CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy, if(result) return result; - if(!input_token_len) + if(!input_token_len) { + infof(conn->data, + "Negotiate handshake failure (empty challenge message)\n"); + return CURLE_BAD_CONTENT_ENCODING; + } } /* Setup the "output" security buffer */