summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--clientloop.c12
2 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 68f772b60..911f0fa0f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,12 @@
9 Let the client detect if the server supports roaming by looking 9 Let the client detect if the server supports roaming by looking
10 for the resume@appgate.com kex algorithm. 10 for the resume@appgate.com kex algorithm.
11 ok markus@ 11 ok markus@
12 - andreas@cvs.openbsd.org 2009/10/24 11:15:29
13 [clientloop.c]
14 client_loop() must detect if the session has been suspended and resumed,
15 and take appropriate action in that case.
16 From Martin Forssen, maf at appgate dot com
17 ok markus@
12 18
1320091226 1920091226
14 - (tim) [contrib/cygwin/Makefile] Install ssh-copy-id and ssh-copy-id.1 20 - (tim) [contrib/cygwin/Makefile] Install ssh-copy-id and ssh-copy-id.1
diff --git a/clientloop.c b/clientloop.c
index 9a7dc0ab0..540a6181a 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: clientloop.c,v 1.213 2009/07/05 19:28:33 stevesk Exp $ */ 1/* $OpenBSD: clientloop.c,v 1.214 2009/10/24 11:15:29 andreas Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -161,6 +161,8 @@ static int session_closed = 0; /* In SSH2: login session closed. */
161static void client_init_dispatch(void); 161static void client_init_dispatch(void);
162int session_ident = -1; 162int session_ident = -1;
163 163
164int session_resumed = 0;
165
164/* Track escape per proto2 channel */ 166/* Track escape per proto2 channel */
165struct escape_filter_ctx { 167struct escape_filter_ctx {
166 int escape_pending; 168 int escape_pending;
@@ -1460,6 +1462,14 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id)
1460 client_process_output(writeset); 1462 client_process_output(writeset);
1461 } 1463 }
1462 1464
1465 if (session_resumed) {
1466 connection_in = packet_get_connection_in();
1467 connection_out = packet_get_connection_out();
1468 max_fd = MAX(max_fd, connection_out);
1469 max_fd = MAX(max_fd, connection_in);
1470 session_resumed = 0;
1471 }
1472
1463 /* 1473 /*
1464 * Send as much buffered packet data as possible to the 1474 * Send as much buffered packet data as possible to the
1465 * sender. 1475 * sender.