diff options
author | Damien Miller <djm@mindrot.org> | 2007-06-11 18:33:15 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2007-06-11 18:33:15 +1000 |
commit | 3191a8e8ba454c0cc27fa8a24a9eed87cd111e4b (patch) | |
tree | f720393f7da9453a0d73722916d2fb730d115eae /channels.c | |
parent | 725286e2239ad3a2f918602a40bd43a94739e6d6 (diff) |
- markus@cvs.openbsd.org 2007/06/11 08:04:44
[channels.c]
send 'window adjust' messages every tree packets and do not wait
until 50% of the window is consumed. ok djm dtucker
Diffstat (limited to 'channels.c')
-rw-r--r-- | channels.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.268 2007/01/03 03:01:40 stevesk Exp $ */ +/* $OpenBSD: channels.c,v 1.269 2007/06/11 08:04:44 markus Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -1657,7 +1657,9 @@ channel_check_window(Channel *c) { if (c->type == SSH_CHANNEL_OPEN && !(c->flags & (CHAN_CLOSE_SENT|CHAN_CLOSE_RCVD)) && - c->local_window < c->local_window_max/2 && + ((c->local_window_max - c->local_window < + c->local_maxpacket*3) || + c->local_window < c->local_window_max/2) && c->local_consumed > 0) { packet_start(SSH2_MSG_CHANNEL_WINDOW_ADJUST); packet_put_int(c->remote_id); |