aboutsummaryrefslogtreecommitdiff
path: root/credential.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-02-03 16:12:33 -0800
committerJunio C Hamano <gitster@pobox.com>2025-02-03 16:12:33 -0800
commite5a0d5d8bbeed7d0cb21533f9727591e110f50b8 (patch)
treed832eac70fdd06842f431101c655390396fa05ce /credential.h
parent0cb454c0727efc1e7ef3ea23d7d6391a80769118 (diff)
parentbc204b742735ae06f65bb20291c95985c9633b7f (diff)
downloadgit-e5a0d5d8bbeed7d0cb21533f9727591e110f50b8.tar.xz
Merge branch 'master' into ds/backfill
* master: (446 commits) The seventh batch The sixth batch The fifth batch The fourth batch refs/reftable: fix uninitialized memory access of `max_index` remote: announce removal of "branches/" and "remotes/" The third batch hash.h: drop unsafe_ function variants csum-file: introduce hashfile_checkpoint_init() t/helper/test-hash.c: use unsafe_hash_algo() csum-file.c: use unsafe_hash_algo() hash.h: introduce `unsafe_hash_algo()` csum-file.c: extract algop from hashfile_checksum_valid() csum-file: store the hash algorithm as a struct field t/helper/test-tool: implement sha1-unsafe helper trace2: prevent segfault on config collection with valueless true refs: fix creation of reflog entries for symrefs ci: wire up Visual Studio build with Meson ci: raise error when Meson generates warnings meson: fix compilation with Visual Studio ...
Diffstat (limited to 'credential.h')
-rw-r--r--credential.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/credential.h b/credential.h
index 5f9e6ff2ef..c78b72d110 100644
--- a/credential.h
+++ b/credential.h
@@ -4,6 +4,8 @@
#include "string-list.h"
#include "strvec.h"
+struct repository;
+
/**
* The credentials API provides an abstracted way of gathering
* authentication credentials from the user.
@@ -65,7 +67,7 @@
* // Fill in the username and password fields by contacting
* // helpers and/or asking the user. The function will die if it
* // fails.
- * credential_fill(&c);
+ * credential_fill(repo, &c);
*
* // Otherwise, we have a username and password. Try to use it.
*
@@ -168,7 +170,9 @@ struct credential {
multistage: 1,
quit:1,
use_http_path:1,
- username_from_proto:1;
+ username_from_proto:1,
+ sanitize_prompt:1,
+ protect_protocol:1;
struct credential_capability capa_authtype;
struct credential_capability capa_state;
@@ -195,6 +199,8 @@ struct credential {
.wwwauth_headers = STRVEC_INIT, \
.state_headers = STRVEC_INIT, \
.state_headers_to_send = STRVEC_INIT, \
+ .sanitize_prompt = 1, \
+ .protect_protocol = 1, \
}
/* Initialize a credential structure, setting all fields to empty. */
@@ -218,7 +224,8 @@ void credential_clear(struct credential *);
* If all_capabilities is set, this is an internal user that is prepared
* to deal with all known capabilities, and we should advertise that fact.
*/
-void credential_fill(struct credential *, int all_capabilities);
+void credential_fill(struct repository *, struct credential *,
+ int all_capabilities);
/**
* Inform the credential subsystem that the provided credentials
@@ -227,7 +234,7 @@ void credential_fill(struct credential *, int all_capabilities);
* that they may store the result to be used again. Any errors
* from helpers are ignored.
*/
-void credential_approve(struct credential *);
+void credential_approve(struct repository *, struct credential *);
/**
* Inform the credential subsystem that the provided credentials
@@ -239,7 +246,7 @@ void credential_approve(struct credential *);
* for another call to `credential_fill`). Any errors from helpers
* are ignored.
*/
-void credential_reject(struct credential *);
+void credential_reject(struct repository *, struct credential *);
/**
* Enable all of the supported credential flags in this credential.