]> andersk Git - openssh.git/blobdiff - clientloop.c
- dtucker@cvs.openbsd.org 2009/11/10 04:30:45
[openssh.git] / clientloop.c
index b8352f6bf2b96f46b8ad67cc707d09a8e2e2a5a0..540a6181ad30a8d89e7acff6a592fe64fcfc4dc4 100644 (file)
@@ -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
@@ -161,6 +161,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;
@@ -636,7 +638,7 @@ static void
 client_process_net_input(fd_set *readset)
 {
        int len, cont = 0;
-       char buf[8192];
+       char buf[SSH_IOBUFSZ];
 
        /*
         * Read input from the server, and add any such data to the buffer of
@@ -1129,7 +1131,7 @@ static void
 client_process_input(fd_set *readset)
 {
        int len;
-       char buf[8192];
+       char buf[SSH_IOBUFSZ];
 
        /* Read input from stdin. */
        if (FD_ISSET(fileno(stdin), readset)) {
@@ -1460,6 +1462,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.
This page took 0.136567 seconds and 4 git commands to generate.