From 6424971a9843969f3924c48dea651841c74627cd Mon Sep 17 00:00:00 2001 From: Norbert Pocs Date: Thu, 25 May 2023 15:27:00 +0200 Subject: [PATCH] auth.c: Add termination when server disconnects during authentication When the server is reaches MaxAuthTries it sends disconnect immediately which was not correctly handled in the libssh client and hanged. Solves #11 Signed-off-by: Norbert Pocs Reviewed-by: Jakub Jelen --- src/packet_cb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/packet_cb.c b/src/packet_cb.c index c53ef1d6..c3b36700 100644 --- a/src/packet_cb.c +++ b/src/packet_cb.c @@ -78,6 +78,8 @@ SSH_PACKET_CALLBACK(ssh_packet_disconnect_callback){ ssh_socket_close(session->socket); session->alive = 0; session->session_state = SSH_SESSION_STATE_ERROR; + /* correctly handle disconnect during authorization */ + session->auth.state = SSH_AUTH_STATE_FAILED; /* TODO: handle a graceful disconnect */ return SSH_PACKET_USED; }