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 | |
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
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | channels.c | 6 |
2 files changed, 9 insertions, 3 deletions
@@ -24,6 +24,10 @@ [sshd_config.5] oops, here too: put the MAC list into a display, like we do for ciphers, since groff has trouble with wide lines; + - 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 - (djm) [configure.ac umac.c] If platform doesn't provide swap32(3), then fallback to provided bit-swizzing functions - (dtucker) [openbsd-compat/bsd-misc.c] According to the spec the "remainder" @@ -3007,4 +3011,4 @@ OpenServer 6 and add osr5bigcrypt support so when someone migrates passwords between UnixWare and OpenServer they will still work. OK dtucker@ -$Id: ChangeLog,v 1.4687 2007/06/11 04:44:02 dtucker Exp $ +$Id: ChangeLog,v 1.4688 2007/06/11 08:33:15 djm Exp $ @@ -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); |