summaryrefslogtreecommitdiff
path: root/lib/http_negotiate.c
diff options
context:
space:
mode:
authorKamil Dudka <kdudka@redhat.com>2019-07-30 12:59:35 +0200
committerKamil Dudka <kdudka@redhat.com>2019-08-01 16:21:41 +0200
commit4c187043c5aac57f354ebb96cc6ff3263411e98d (patch)
treef2e2298cd80224d5d31ccb8664ecf34178f4059c /lib/http_negotiate.c
parentcd8068ed4c6e03a3c13aa31326d0a7f1a36bfa02 (diff)
downloadcurl-4c187043c5aac57f354ebb96cc6ff3263411e98d.tar.gz
http_negotiate: improve handling of gss_init_sec_context() failures
If HTTPAUTH_GSSNEGOTIATE was used for a POST request and gss_init_sec_context() failed, the POST request was sent with empty body. This commit also restores the original behavior of `curl --fail --negotiate`, which was changed by commit 6c6035532383e300c712e4c1cd9fdd749ed5cf59. Add regression tests 2077 and 2078 to cover this. Fixes #3992 Closes #4171
Diffstat (limited to 'lib/http_negotiate.c')
-rw-r--r--lib/http_negotiate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/http_negotiate.c b/lib/http_negotiate.c
index c8f406444..fe15dcefb 100644
--- a/lib/http_negotiate.c
+++ b/lib/http_negotiate.c
@@ -151,7 +151,7 @@ CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy)
if(result == CURLE_LOGIN_DENIED) {
/* negotiate auth failed, let's continue unauthenticated to stay
* compatible with the behavior before curl-7_64_0-158-g6c6035532 */
- conn->data->state.authproblem = TRUE;
+ authp->done = TRUE;
return CURLE_OK;
}
else if(result)