]> granicus.if.org Git - curl/commitdiff
http_negotiate: do not treat failure of gss_init_sec_context() as fatal
authorKamil Dudka <kdudka@redhat.com>
Mon, 6 May 2019 12:32:00 +0000 (14:32 +0200)
committerKamil Dudka <kdudka@redhat.com>
Thu, 9 May 2019 07:41:33 +0000 (09:41 +0200)
Fixes #3726
Closes #3849

lib/http_negotiate.c

index 9415236fb1e457468cbbcaae242c484f4bbe3e5c..201c3a785656f751d4c8c2d014dd62be65194bcf 100644 (file)
@@ -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;
     }