From dc9c4d22ab25771cae66dc0f3f1662bfa4376cab Mon Sep 17 00:00:00 2001 From: Peter Volpe Date: Fri, 10 Jul 2015 15:34:34 -0700 Subject: auth: Fix return status for ssh_userauth_agent() BUG: https://red.libssh.org/issues/201 Return SSH_AUTH_DENIED instead of SSH_AUTH_ERROR when the provided agent offers no public keys. Signed-off-by: Peter Volpe Reviewed-by: Andreas Schneider --- src/auth.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/auth.c b/src/auth.c index 77b99a73..13817741 100644 --- a/src/auth.c +++ b/src/auth.c @@ -786,6 +786,11 @@ int ssh_userauth_agent(ssh_session session, state = session->agent_state; if (state->pubkey == NULL) state->pubkey = ssh_agent_get_first_ident(session, &state->comment); + + if (state->pubkey == NULL) { + return SSH_AUTH_DENIED; + } + while (state->pubkey != NULL) { if(state->state == SSH_AGENT_STATE_NONE){ SSH_LOG(SSH_LOG_DEBUG, -- cgit v1.2.3