From 22a92da30dd11356153959e56bc3680dbea5fd80 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 7 May 2018 20:32:13 +0200 Subject: [PATCH] auth: Handle SSH_AUTH_PARTIAL in agent auth correctly Thanks to Orion Poplawski. Fixes T82 Signed-off-by: Andreas Schneider --- src/auth.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/auth.c b/src/auth.c index 6462086f..69f69141 100644 --- a/src/auth.c +++ b/src/auth.c @@ -842,7 +842,7 @@ int ssh_userauth_agent(ssh_session session, return rc; ssh_string_free_char(state->comment); state->comment = NULL; - if (rc == SSH_AUTH_ERROR) { + if (rc == SSH_AUTH_ERROR || rc == SSH_AUTH_PARTIAL) { ssh_agent_state_free (session->agent_state); session->agent_state = NULL; return rc; @@ -943,7 +943,9 @@ int ssh_userauth_publickey_auto(ssh_session session, #ifndef _WIN32 /* Try authentication with ssh-agent first */ rc = ssh_userauth_agent(session, username); - if (rc == SSH_AUTH_SUCCESS || rc == SSH_AUTH_AGAIN) { + if (rc == SSH_AUTH_SUCCESS || + rc == SSH_AUTH_PARTIAL || + rc == SSH_AUTH_AGAIN ) { return rc; } #endif