Thread (11 messages) 11 messages, 3 authors, 2025-12-11

RE: [PATCH] http.c: prompt for username on 403

From: <hidden>
Date: 2025-12-10 17:49:19

On December 10, 2025 7:30 AM, Ashlesh Gawande wrote:
On 12/10/25 07:35, brian m. carlson wrote:
quoted
On 2025-12-09 at 08:22:49, Ashlesh Gawande wrote:
quoted
I was working on separating the tests and thought about the original
proposal a bit more.
To stop the credentials from being erased on 403 could something like
the following be acceptable?

         else if (results->http_code == 401 || results->http_code ==
403) {
                 if ((http_auth.username && http_auth.password) ||\
                     (http_auth.authtype && http_auth.credential)) {
+                       // Do not override existing credentials on
+403
+                       if (results->http_code == 403) {
+                               return HTTP_ERROR;
+                       }
+
                         if (http_auth.multistage) {

So then we would prompt on 403 only if credentials are not configured.
Can you tell me what file you see this in?  I don't actually see any
place in the code that has "http_code == 403" in the latest version of
the main branch.

I wonder if your issue may already be fixed in a newer version than
you have.
Oh, that http_code == 403 is my original proposal to prompt for
username/password on 403 (I did the diff on top of that instead of base).
But you pointed out that it would wipe out existing credentials. This is an attempt to
fix that by not prompting on 403 if git credentials are set.
So when credentials are provided through default netrc file (such that
http_auth.* are not set; git credential helper is not set) then we can still get the
prompt on 403.
Please make sure that any existing git credential helpers, including custom helpers
are not impacted by this change. This would have serious negative consequences
and would be a blocker for many in my community who use both the standard
git credential helpers and custom ones. If you are going to force a credential wipe
this should cause an update to the credential protocol to inform the helper that a
wipe has occurred or is requested. The .netrc approach is most limited to Linux
implementations and is not available on or applicable to some other platforms.

Thank you for your attention.
Randall

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help