diff options
-rw-r--r-- | src/channels1.c | 2 | ||||
-rw-r--r-- | src/client.c | 8 | ||||
-rw-r--r-- | src/kex1.c | 4 | ||||
-rw-r--r-- | src/server.c | 2 |
4 files changed, 10 insertions, 6 deletions
diff --git a/src/channels1.c b/src/channels1.c index d06a7f18..24546a43 100644 --- a/src/channels1.c +++ b/src/channels1.c @@ -157,7 +157,7 @@ int channel_change_pty_size1(ssh_channel channel, int cols, int rows) { ssh_log(session, SSH_LOG_PROTOCOL, "Change pty size send"); while(channel->request_state==SSH_CHANNEL_REQ_STATE_PENDING){ - ssh_handle_packets(session,-1); + ssh_handle_packets(session, SSH_TIMEOUT_INFINITE); } switch(channel->request_state){ case SSH_CHANNEL_REQ_STATE_ERROR: diff --git a/src/client.c b/src/client.c index 4a7dea75..c8500ba4 100644 --- a/src/client.c +++ b/src/client.c @@ -687,8 +687,12 @@ pending: session->session_state = SSH_SESSION_STATE_ERROR; } } - else - ssh_handle_packets_termination(session, 0, ssh_connect_termination, session); + else { + ssh_handle_packets_termination(session, + SSH_TIMEOUT_NONBLOCKING, + ssh_connect_termination, + session); + } ssh_log(session,SSH_LOG_PACKET,"ssh_connect: Actual state : %d",session->session_state); if(!ssh_is_blocking(session) && !ssh_connect_termination(session)){ leave_function(); @@ -471,14 +471,14 @@ int ssh_get_kex1(ssh_session session) { ssh_log(session, SSH_LOG_PROTOCOL, "Waiting for a SSH_SMSG_PUBLIC_KEY"); /* Here the callback is called */ while(session->session_state==SSH_SESSION_STATE_INITIAL_KEX){ - ssh_handle_packets(session, -2); + ssh_handle_packets(session, SSH_TIMEOUT_USER); } if(session->session_state==SSH_SESSION_STATE_ERROR) goto error; ssh_log(session, SSH_LOG_PROTOCOL, "Waiting for a SSH_SMSG_SUCCESS"); /* Waiting for SSH_SMSG_SUCCESS */ while(session->session_state==SSH_SESSION_STATE_KEXINIT_RECEIVED){ - ssh_handle_packets(session, -2); + ssh_handle_packets(session, SSH_TIMEOUT_USER); } if(session->session_state==SSH_SESSION_STATE_ERROR) goto error; diff --git a/src/server.c b/src/server.c index 4a2ea2cc..97eb40f3 100644 --- a/src/server.c +++ b/src/server.c @@ -1081,7 +1081,7 @@ void ssh_set_message_callback(ssh_session session, int ssh_execute_message_callbacks(ssh_session session){ ssh_message msg=NULL; int ret; - ssh_handle_packets(session, 0); + ssh_handle_packets(session, SSH_TIMEOUT_NONBLOCKING); if(!session->ssh_message_list) return SSH_OK; if(session->ssh_message_callback){ |