From f4603708af08f454bca8b74095d0af40a4516512 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Mon, 6 May 2019 14:32:00 +0200 Subject: [PATCH] http_negotiate: do not treat failure of gss_init_sec_context() as fatal Fixes #3726 Closes #3849 --- lib/http_negotiate.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/http_negotiate.c b/lib/http_negotiate.c index 9415236fb..201c3a785 100644 --- a/lib/http_negotiate.c +++ b/lib/http_negotiate.c @@ -143,7 +143,13 @@ CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy) } if(!neg_ctx->context) { result = Curl_input_negotiate(conn, proxy, "Negotiate"); - if(result) + 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; + return CURLE_OK; + } + else if(result) return result; }