diff options
author | Anders Borum <anders@algoritmer.dk> | 2018-10-06 12:58:06 +0200 |
---|---|---|
committer | Anders Borum <anders@algoritmer.dk> | 2018-10-06 22:00:34 +0200 |
commit | 475db39bb4c44a2221f340c66c227f555e478d10 (patch) | |
tree | 212fa8ce0001557816cd5f1c8fb6292ee1642933 | |
parent | a8d447f68076d1520f69649bb52629941be7031f (diff) | |
download | libgit2-475db39bb4c44a2221f340c66c227f555e478d10.tar.gz |
ignore unsupported http authentication schemes
auth_context_match returns 0 instead of -1 for unknown schemes to
not fail in situations where some authentication schemes are supported
and others are not.
apply_credentials is adjusted to handle auth_context_match returning
0 without producing authentication context.
-rw-r--r-- | src/transports/http.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/transports/http.c b/src/transports/http.c index bc3ab18e2..df0d342b9 100644 --- a/src/transports/http.c +++ b/src/transports/http.c @@ -142,7 +142,7 @@ static int auth_context_match( } if (!scheme) - return -1; + return 0; /* See if authentication has already started for this scheme */ git_vector_foreach(&t->auth_contexts, i, c) { @@ -188,6 +188,9 @@ static int apply_credentials(git_buf *buf, http_subtransport *t) if (auth_context_match(&context, t, credtype_match, &cred->credtype) < 0) return -1; + if (!context) + return 0; + return context->next_token(buf, context, cred); } |