summaryrefslogtreecommitdiffstats
path: root/clientloop.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2007-02-25 20:36:49 +1100
committerDarren Tucker <dtucker@zip.com.au>2007-02-25 20:36:49 +1100
commitd04188e70e17b317076f4c7af3359dc439e43f0b (patch)
tree90edcd971bb45128453b550fe605421d42d8845f /clientloop.c
parent89ee69e3c639b55b7577ba8fde66450446f74ea4 (diff)
- djm@cvs.openbsd.org 2007/02/20 10:25:14
[clientloop.c] set maximum packet and window sizes the same for multiplexed clients as normal connections; ok markus@
Diffstat (limited to 'clientloop.c')
-rw-r--r--clientloop.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/clientloop.c b/clientloop.c
index 0b6fbe88..c7362caa 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.177 2007/01/21 01:41:54 stevesk Exp $ */
+/* $OpenBSD: clientloop.c,v 1.178 2007/02/20 10:25:14 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -707,7 +707,7 @@ client_process_control(fd_set *readset)
{
Buffer m;
Channel *c;
- int client_fd, new_fd[3], ver, allowed;
+ int client_fd, new_fd[3], ver, allowed, window, packetmax;
socklen_t addrlen;
struct sockaddr_storage addr;
struct confirm_ctx *cctx;
@@ -900,9 +900,15 @@ client_process_control(fd_set *readset)
set_nonblock(client_fd);
+ window = CHAN_SES_WINDOW_DEFAULT;
+ packetmax = CHAN_SES_PACKET_DEFAULT;
+ if (cctx->want_tty) {
+ window >>= 1;
+ packetmax >>= 1;
+ }
+
c = channel_new("session", SSH_CHANNEL_OPENING,
- new_fd[0], new_fd[1], new_fd[2],
- CHAN_SES_WINDOW_DEFAULT, CHAN_SES_PACKET_DEFAULT,
+ new_fd[0], new_fd[1], new_fd[2], window, packetmax,
CHAN_EXTENDED_WRITE, "client-session", /*nonblock*/0);
/* XXX */