From: "Christopher via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Eric Wong <e@80x24.org>, Christopher <christopher@cschenk.net>,
Christopher Schenk <christopher@cschenk.net>
Subject: [PATCH v2] remote-curl: fall back to basic auth if Negotiate fails
Date: Tue, 16 Feb 2021 16:57:36 +0000 [thread overview]
Message-ID: <pull.849.v2.git.1613494656636.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.849.git.1611921008282.gitgitgadget@gmail.com>
From: Christopher Schenk <christopher@cschenk.net>
When the username and password are supplied in a url like this
https://myuser:secret@git.exampe/myrepo.git and the server supports the
negotiate authenticaten method git does not fall back to basic auth and
libcurl hardly tries to authenticate with the negotiate method.
Stop using the Negotiate authentication method after the first failure
because if it fails on the first try it will never succeed.
V1 of this patch somehow did not make it to the mailing list so i will
try to send this patch again
Signed-off-by: Christopher Schenk <christopher@cschenk.net>
---
remote-curl: fall back to basic auth if Negotiate fails
When the username and password are supplied in a url like this
https://myuser:secret@git.exampe/myrepo.git and the server supports the
negotiate authenticaten method git does not fall back to basic auth and
libcurl hardly tries to authenticate with the negotiate method.
Stop using the Negotiate authentication method after the first failure
because if it fails on the first try it will never succeed.
Signed-off-by: Christopher Schenk christopher@cschenk.net
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-849%2Fchschenk%2Fkerberos-basic-fallback-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-849/chschenk/kerberos-basic-fallback-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/849
Range-diff vs v1:
1: 285a8a568444 ! 1: 7bfc0b431910 remote-curl: fall back to basic auth if Negotiate fails
@@ Commit message
Stop using the Negotiate authentication method after the first failure
because if it fails on the first try it will never succeed.
+ V1 of this patch somehow did not make it to the mailing list so i will
+ try to send this patch again
+
Signed-off-by: Christopher Schenk <christopher@cschenk.net>
## http.c ##
http.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/http.c b/http.c
index 8b23a546afdf..36f113d46c23 100644
--- a/http.c
+++ b/http.c
@@ -1642,6 +1642,14 @@ static int handle_curl_result(struct slot_results *results)
return HTTP_MISSING_TARGET;
else if (results->http_code == 401) {
if (http_auth.username && http_auth.password) {
+#ifdef LIBCURL_CAN_HANDLE_AUTH_ANY
+ if (results->auth_avail & CURLAUTH_GSSNEGOTIATE) {
+ http_auth_methods &= ~CURLAUTH_GSSNEGOTIATE;
+ http_auth_methods &= results->auth_avail;
+ http_auth_methods_restricted = 1;
+ return HTTP_REAUTH;
+ }
+#endif
credential_reject(&http_auth);
return HTTP_NOAUTH;
} else {
base-commit: 71ca53e8125e36efbda17293c50027d31681a41f
--
gitgitgadget
next parent reply other threads:[~2021-02-16 16:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <pull.849.git.1611921008282.gitgitgadget@gmail.com>
2021-02-16 16:57 ` Christopher via GitGitGadget [this message]
2021-03-22 11:51 ` [PATCH v3] remote-curl: fall back to basic auth if Negotiate fails Christopher via GitGitGadget
[not found] ` <xmqq35xvpr8q.fsf@gitster.c.googlers.com>
2021-03-22 16:08 ` [PATCH v2] " Christopher Schenk
2014-12-27 4:01 [PATCH] remote-curl: fall back to Basic " brian m. carlson
2015-01-01 19:56 ` [PATCH v2] " brian m. carlson
2015-01-03 11:19 ` Jeff King
2015-01-03 17:45 ` brian m. carlson
2015-01-03 20:14 ` Jeff King
2015-01-05 16:02 ` Dan Langille (dalangil)
2015-01-05 21:23 ` Dan Langille (dalangil)
2015-01-05 23:53 ` brian m. carlson
2015-01-06 15:31 ` Dan Langille (dalangil)
2015-01-06 15:41 ` Dan Langille (dalangil)
2015-01-06 16:07 ` Dan Langille (dalangil)
2015-01-08 0:02 ` brian m. carlson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.849.v2.git.1613494656636.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=christopher@cschenk.net \
--cc=e@80x24.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).