diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-05-10 17:23:28 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-05-10 17:23:29 (GMT) |
commit | 2ca91d1ee07f934fa7f57ba34c397b150eef023f (patch) | |
tree | d71bd150edc85eedc736f64e896acad327874343 /credential.c | |
parent | c05615e1c5876bea3c35202771d3db83b3336437 (diff) | |
parent | a5c76569e798ad3656afe6b67f37cbbb2e47f28c (diff) | |
download | git-2ca91d1ee07f934fa7f57ba34c397b150eef023f.zip git-2ca91d1ee07f934fa7f57ba34c397b150eef023f.tar.gz git-2ca91d1ee07f934fa7f57ba34c397b150eef023f.tar.bz2 |
Merge branch 'mh/credential-oauth-refresh-token'
The credential subsystem learns to help OAuth framework.
* mh/credential-oauth-refresh-token:
credential: new attribute oauth_refresh_token
Diffstat (limited to 'credential.c')
-rw-r--r-- | credential.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/credential.c b/credential.c index 7da326a..023b59d 100644 --- a/credential.c +++ b/credential.c @@ -25,6 +25,7 @@ void credential_clear(struct credential *c) free(c->path); free(c->username); free(c->password); + free(c->oauth_refresh_token); string_list_clear(&c->helpers, 0); strvec_clear(&c->wwwauth_headers); @@ -246,6 +247,9 @@ int credential_read(struct credential *c, FILE *fp) c->password_expiry_utc = parse_timestamp(value, NULL, 10); if (c->password_expiry_utc == 0 || errno == ERANGE) c->password_expiry_utc = TIME_MAX; + } else if (!strcmp(key, "oauth_refresh_token")) { + free(c->oauth_refresh_token); + c->oauth_refresh_token = xstrdup(value); } else if (!strcmp(key, "url")) { credential_from_url(c, value); } else if (!strcmp(key, "quit")) { @@ -281,6 +285,7 @@ void credential_write(const struct credential *c, FILE *fp) credential_write_item(fp, "path", c->path, 0); credential_write_item(fp, "username", c->username, 0); credential_write_item(fp, "password", c->password, 0); + credential_write_item(fp, "oauth_refresh_token", c->oauth_refresh_token, 0); if (c->password_expiry_utc != TIME_MAX) { char *s = xstrfmt("%"PRItime, c->password_expiry_utc); credential_write_item(fp, "password_expiry_utc", s, 0); @@ -406,6 +411,7 @@ void credential_reject(struct credential *c) FREE_AND_NULL(c->username); FREE_AND_NULL(c->password); + FREE_AND_NULL(c->oauth_refresh_token); c->password_expiry_utc = TIME_MAX; c->approved = 0; } |