mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-12-11 03:42:35 +03:00
server: Reformat ssh_handle_key_exchange
Signed-off-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Norbert Pocs <npocs@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
committed by
Andreas Schneider
parent
1f3143b18c
commit
b0ce6935fc
19
src/server.c
19
src/server.c
@@ -538,10 +538,14 @@ int ssh_send_issue_banner(ssh_session session, const ssh_string banner)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Do the banner and key exchange */
|
/* Do the banner and key exchange */
|
||||||
int ssh_handle_key_exchange(ssh_session session) {
|
int ssh_handle_key_exchange(ssh_session session)
|
||||||
|
{
|
||||||
int rc;
|
int rc;
|
||||||
if (session->session_state != SSH_SESSION_STATE_NONE)
|
|
||||||
|
if (session->session_state != SSH_SESSION_STATE_NONE) {
|
||||||
goto pending;
|
goto pending;
|
||||||
|
}
|
||||||
|
|
||||||
rc = ssh_send_banner(session, 1);
|
rc = ssh_send_banner(session, 1);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
@@ -552,21 +556,22 @@ int ssh_handle_key_exchange(ssh_session session) {
|
|||||||
session->ssh_connection_callback = ssh_server_connection_callback;
|
session->ssh_connection_callback = ssh_server_connection_callback;
|
||||||
session->session_state = SSH_SESSION_STATE_SOCKET_CONNECTED;
|
session->session_state = SSH_SESSION_STATE_SOCKET_CONNECTED;
|
||||||
ssh_socket_set_callbacks(session->socket,&session->socket_callbacks);
|
ssh_socket_set_callbacks(session->socket,&session->socket_callbacks);
|
||||||
session->socket_callbacks.data=callback_receive_banner;
|
session->socket_callbacks.data = callback_receive_banner;
|
||||||
session->socket_callbacks.exception=ssh_socket_exception_callback;
|
session->socket_callbacks.exception = ssh_socket_exception_callback;
|
||||||
session->socket_callbacks.userdata=session;
|
session->socket_callbacks.userdata = session;
|
||||||
|
|
||||||
rc = server_set_kex(session);
|
rc = server_set_kex(session);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
}
|
}
|
||||||
pending:
|
pending:
|
||||||
rc = ssh_handle_packets_termination(session, SSH_TIMEOUT_USER,
|
rc = ssh_handle_packets_termination(session, SSH_TIMEOUT_USER,
|
||||||
ssh_server_kex_termination,session);
|
ssh_server_kex_termination,session);
|
||||||
SSH_LOG(SSH_LOG_PACKET, "ssh_handle_key_exchange: current state : %d",
|
SSH_LOG(SSH_LOG_PACKET, "ssh_handle_key_exchange: current state : %d",
|
||||||
session->session_state);
|
session->session_state);
|
||||||
if (rc != SSH_OK)
|
if (rc != SSH_OK) {
|
||||||
return rc;
|
return rc;
|
||||||
|
}
|
||||||
if (session->session_state == SSH_SESSION_STATE_ERROR ||
|
if (session->session_state == SSH_SESSION_STATE_ERROR ||
|
||||||
session->session_state == SSH_SESSION_STATE_DISCONNECTED) {
|
session->session_state == SSH_SESSION_STATE_DISCONNECTED) {
|
||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
|
|||||||
Reference in New Issue
Block a user