summaryrefslogtreecommitdiff
path: root/process-packet.c
diff options
context:
space:
mode:
Diffstat (limited to 'process-packet.c')
-rw-r--r--process-packet.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/process-packet.c b/process-packet.c
index 4953cf2..9454160 100644
--- a/process-packet.c
+++ b/process-packet.c
@@ -51,8 +51,6 @@ void process_packet() {
type = buf_getbyte(ses.payload);
TRACE(("process_packet: packet type = %d, len %d", type, ses.payload->len))
- ses.lastpacket = type;
-
now = monotonic_now();
ses.last_packet_time_keepalive_recv = now;
@@ -78,7 +76,9 @@ void process_packet() {
idle detection. This is slightly incorrect since a tcp forwarded
global request with failure won't trigger the idle timeout,
but that's probably acceptable */
- if (!(type == SSH_MSG_GLOBAL_REQUEST || type == SSH_MSG_REQUEST_FAILURE)) {
+ if (!(type == SSH_MSG_GLOBAL_REQUEST
+ || type == SSH_MSG_REQUEST_FAILURE
+ || type == SSH_MSG_CHANNEL_FAILURE)) {
ses.last_packet_time_idle = now;
}
@@ -154,6 +154,7 @@ void process_packet() {
recv_unimplemented();
out:
+ ses.lastpacket = type;
buf_free(ses.payload);
ses.payload = NULL;