From 754152aa2244fef75a8e7ed2d97df5bb2a09546c Mon Sep 17 00:00:00 2001 From: Nicolas Viennot Date: Sat, 2 Nov 2013 22:31:36 -0400 Subject: server: Fix ssh_execute_server_callbacks() client execution When the public key auth handler is executed and returns SSH_OK, ssh_execute_server_callbacks() still runs some client callbacks, which may set rc to SSH_AGAIN, which triggers a default reply on auth, denying auth. Signed-off-by: Nicolas Viennot Reviewed-by: Andreas Schneider --- src/messages.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/messages.c b/src/messages.c index c8e0e094..2c99311d 100644 --- a/src/messages.c +++ b/src/messages.c @@ -309,10 +309,8 @@ static int ssh_execute_server_callbacks(ssh_session session, ssh_message msg){ if (session->server_callbacks != NULL){ rc = ssh_execute_server_request(session, msg); - } - - /* This one is in fact a client callback... */ - if (session->common.callbacks != NULL) { + } else if (session->common.callbacks != NULL) { + /* This one is in fact a client callback... */ rc = ssh_execute_client_request(session, msg); } -- cgit v1.2.3