From cfe4252744803d6fc2f7dcea7d168d2b9cceac14 Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Thu, 6 Nov 2014 15:25:45 +0000 Subject: [PATCH] http_digest: Fixed auth retry loop when SSPI based authentication fails --- lib/curl_sasl_sspi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/curl_sasl_sspi.c b/lib/curl_sasl_sspi.c index 45aca8ac4..527aa66ef 100644 --- a/lib/curl_sasl_sspi.c +++ b/lib/curl_sasl_sspi.c @@ -291,8 +291,10 @@ CURLcode Curl_sasl_decode_digest_http_message(const char *chlg, { size_t chlglen = strlen(chlg); - /* Clean up any former leftovers and initialise to defaults */ - Curl_sasl_digest_cleanup(digest); + /* We had an input token before and we got another one now. This means we + provided bad credentials in the previous request. */ + if(digest->input_token) + return CURLE_BAD_CONTENT_ENCODING; /* Simply store the challenge for use later */ digest->input_token = (BYTE *) Curl_memdup(chlg, chlglen);