diff options
author | 2009-10-24 11:15:29 +0000 | |
---|---|---|
committer | 2009-10-24 11:15:29 +0000 | |
commit | 5621b3a78aed56611ff01a696bd53490d35bd01b (patch) | |
tree | 0320f2e21c16190649aa70aa5bff4ab4b05688e4 /usr.bin/ssh/clientloop.c | |
parent | Let the client detect if the server supports roaming by looking (diff) | |
download | wireguard-openbsd-5621b3a78aed56611ff01a696bd53490d35bd01b.tar.xz wireguard-openbsd-5621b3a78aed56611ff01a696bd53490d35bd01b.zip |
client_loop() must detect if the session has been suspended and resumed,
and take appropriate action in that case.
From Martin Forssen, maf at appgate dot com
ok markus@
Diffstat (limited to 'usr.bin/ssh/clientloop.c')
-rw-r--r-- | usr.bin/ssh/clientloop.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/usr.bin/ssh/clientloop.c b/usr.bin/ssh/clientloop.c index 0cad484af72..f74bed31ecb 100644 --- a/usr.bin/ssh/clientloop.c +++ b/usr.bin/ssh/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.213 2009/07/05 19:28:33 stevesk Exp $ */ +/* $OpenBSD: clientloop.c,v 1.214 2009/10/24 11:15:29 andreas Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -153,6 +153,8 @@ static int session_closed = 0; /* In SSH2: login session closed. */ static void client_init_dispatch(void); int session_ident = -1; +int session_resumed = 0; + /* Track escape per proto2 channel */ struct escape_filter_ctx { int escape_pending; @@ -1448,6 +1450,14 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id) client_process_output(writeset); } + if (session_resumed) { + connection_in = packet_get_connection_in(); + connection_out = packet_get_connection_out(); + max_fd = MAX(max_fd, connection_out); + max_fd = MAX(max_fd, connection_in); + session_resumed = 0; + } + /* * Send as much buffered packet data as possible to the * sender. |