diff --git a/lib/http_negotiate.c b/lib/http_negotiate.c index 6e882a337eae85525195a0f11192c0d5ea645134..6a4b8660f7ec20d9b2c24e9798c28a2f1d18483e 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 7afd609579fe7a62bbbc753f1f3e75476dab3fd5..e6ab0b78da494467520466566428a6ba1564eaac 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 */