summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Ungureanu <teromario@yahoo.com>2015-06-02 10:23:54 +0300
committerMarius Ungureanu <marius.ungureanu@xamarin.com>2015-06-02 12:32:19 +0300
commitd71e3b25321fa07349c9f1fbfc1b209449d7c3dd (patch)
tree625171de66e250a7693decce6eef015932ebdf2f
parentbe5fda75879f7ed89c7a72adc257872d1ea13803 (diff)
downloadlibgit2-d71e3b25321fa07349c9f1fbfc1b209449d7c3dd.tar.gz
Change error when running out of ssh agent keys
-rw-r--r--src/transports/ssh.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/transports/ssh.c b/src/transports/ssh.c
index 58f1aeb64..5c8545fe1 100644
--- a/src/transports/ssh.c
+++ b/src/transports/ssh.c
@@ -293,8 +293,14 @@ static int ssh_agent_auth(LIBSSH2_SESSION *session, git_cred_ssh_key *c) {
if (rc < 0)
goto shutdown;
- if (rc == 1)
+ /* rc is set to 1 whenever the ssh agent ran out of keys to check.
+ * Set the error code to authentication failure rather than erroring
+ * out with an untranslatable error code.
+ */
+ if (rc == 1) {
+ rc = LIBSSH2_ERROR_AUTHENTICATION_FAILED;
goto shutdown;
+ }
rc = libssh2_agent_userauth(agent, c->username, curr);