1
0
mirror of https://github.com/git/git.git synced 2025-02-06 11:01:06 +00:00

Merge branch 'mh/credential-cache-authtype-request-fix'

The "cache" credential back-end did not handle authtype correctly,
which has been corrected.

* mh/credential-cache-authtype-request-fix:
  credential-cache: respect authtype capability
This commit is contained in:
Junio C Hamano 2025-01-28 13:02:24 -08:00
commit 73e055d71e
2 changed files with 17 additions and 2 deletions

View File

@ -142,9 +142,9 @@ static void serve_one_client(FILE *in, FILE *out)
fprintf(out, "username=%s\n", e->item.username);
if (e->item.password)
fprintf(out, "password=%s\n", e->item.password);
if (credential_has_capability(&c.capa_authtype, CREDENTIAL_OP_HELPER) && e->item.authtype)
if (credential_has_capability(&c.capa_authtype, CREDENTIAL_OP_RESPONSE) && e->item.authtype)
fprintf(out, "authtype=%s\n", e->item.authtype);
if (credential_has_capability(&c.capa_authtype, CREDENTIAL_OP_HELPER) && e->item.credential)
if (credential_has_capability(&c.capa_authtype, CREDENTIAL_OP_RESPONSE) && e->item.credential)
fprintf(out, "credential=%s\n", e->item.credential);
if (e->item.password_expiry_utc != TIME_MAX)
fprintf(out, "password_expiry_utc=%"PRItime"\n",

View File

@ -566,6 +566,21 @@ helper_test_authtype() {
EOF
'
test_expect_success "helper ($HELPER) gets authtype and credential only if request has authtype capability" '
check fill $HELPER <<-\EOF
protocol=https
host=git.example.com
--
protocol=https
host=git.example.com
username=askpass-username
password=askpass-password
--
askpass: Username for '\''https://git.example.com'\'':
askpass: Password for '\''https://askpass-username@git.example.com'\'':
EOF
'
test_expect_success "helper ($HELPER) stores authtype and credential with username" '
check approve $HELPER <<-\EOF
capability[]=authtype