From cf482ae3bfb8492d996cfc9e036f5086ff69eed4 Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Wed, 17 Jun 2009 23:53:00 +0200 Subject: Begin of asynchronous SSH message parsing --- libssh/packet.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'libssh/packet.c') diff --git a/libssh/packet.c b/libssh/packet.c index 4feca067..870efd4a 100644 --- a/libssh/packet.c +++ b/libssh/packet.c @@ -594,7 +594,7 @@ int packet_send(SSH_SESSION *session) { void packet_parse(SSH_SESSION *session) { STRING *error_s = NULL; char *error = NULL; - int type = session->in_packet.type; + u32 type = session->in_packet.type; u32 tmp; #ifdef HAVE_SSH1 @@ -652,9 +652,15 @@ void packet_parse(SSH_SESSION *session) { case SSH2_MSG_CHANNEL_EOF: case SSH2_MSG_CHANNEL_CLOSE: channel_handle(session,type); + return; case SSH2_MSG_IGNORE: case SSH2_MSG_DEBUG: return; + case SSH2_MSG_SERVICE_REQUEST: + case SSH2_MSG_USERAUTH_REQUEST: + case SSH2_MSG_CHANNEL_OPEN: + message_handle(session,type); + return; default: ssh_log(session, SSH_LOG_RARE, "Received unhandled packet %d", type); } -- cgit