Don't send SSH_MSG_UNIMPLEMENTED for keepalive responses

This commit is contained in:
Matt Johnston 2014-08-13 21:48:47 +08:00
parent bfb2b30de6
commit 10eb218fb0
4 changed files with 9 additions and 0 deletions

View File

@ -73,6 +73,8 @@ static const packettype cli_packettypes[] = {
#ifdef ENABLE_CLI_REMOTETCPFWD
{SSH_MSG_REQUEST_SUCCESS, cli_recv_msg_request_success}, /* client */
{SSH_MSG_REQUEST_FAILURE, cli_recv_msg_request_failure}, /* client */
#else
{SSH_MSG_REQUEST_FAILURE, ignore_recv_msg_request_failure}, /* for keepalive */
#endif
{0, 0} /* End */
};

View File

@ -394,6 +394,11 @@ static int ident_readln(int fd, char* buf, int count) {
return pos+1;
}
void ignore_recv_msg_request_failure() {
// Do nothing
TRACE(("Ignored msg_request_failure"))
}
static void send_msg_keepalive() {
CHECKCLEARTOWRITE();
time_t old_time_idle = ses.last_packet_time_idle;

View File

@ -47,6 +47,7 @@ void session_loop(void(*loophandler)());
void session_cleanup();
void send_session_identification();
void send_msg_ignore();
void ignore_recv_msg_request_failure();
void update_channel_prio();

View File

@ -58,6 +58,7 @@ static const packettype svr_packettypes[] = {
{SSH_MSG_CHANNEL_OPEN, recv_msg_channel_open},
{SSH_MSG_CHANNEL_EOF, recv_msg_channel_eof},
{SSH_MSG_CHANNEL_CLOSE, recv_msg_channel_close},
{SSH_MSG_REQUEST_FAILURE, ignore_recv_msg_request_failure}, /* for keepalive */
#ifdef USING_LISTENERS
{SSH_MSG_CHANNEL_OPEN_CONFIRMATION, recv_msg_channel_open_confirmation},
{SSH_MSG_CHANNEL_OPEN_FAILURE, recv_msg_channel_open_failure},