mirror of
https://github.com/git/git
synced 2024-07-02 15:48:44 +00:00
118250728e
The functionality for credential storage helpers is already there; we just need to give the users a way to turn it on. This patch provides a "credential.helper" configuration variable which allows the user to provide one or more helper strings. Rather than simply matching credential.helper, we will also compare URLs in subsection headings to the current context. This means you can apply configuration to a subset of credentials. For example: [credential "https://example.com"] helper = foo would match a request for "https://example.com/foo.git", but not one for "https://kernel.org/foo.git". This is overkill for the "helper" variable, since users are unlikely to want different helpers for different sites (and since helpers run arbitrary code, they could do the matching themselves anyway). However, future patches will add new config variables where this extra feature will be more useful. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
33 lines
744 B
C
33 lines
744 B
C
#ifndef CREDENTIAL_H
|
|
#define CREDENTIAL_H
|
|
|
|
#include "string-list.h"
|
|
|
|
struct credential {
|
|
struct string_list helpers;
|
|
unsigned approved:1,
|
|
configured:1;
|
|
|
|
char *username;
|
|
char *password;
|
|
char *protocol;
|
|
char *host;
|
|
char *path;
|
|
};
|
|
|
|
#define CREDENTIAL_INIT { STRING_LIST_INIT_DUP }
|
|
|
|
void credential_init(struct credential *);
|
|
void credential_clear(struct credential *);
|
|
|
|
void credential_fill(struct credential *);
|
|
void credential_approve(struct credential *);
|
|
void credential_reject(struct credential *);
|
|
|
|
int credential_read(struct credential *, FILE *);
|
|
void credential_from_url(struct credential *, const char *url);
|
|
int credential_match(const struct credential *have,
|
|
const struct credential *want);
|
|
|
|
#endif /* CREDENTIAL_H */
|