summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2000-04-06 09:43:16 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2000-04-06 09:43:16 +0000
commit6393fad892c765900cd9c7f36f4e1607ea82ba1d (patch)
tree246d07ddd8ceb52a991e2614d7427d4537c33ed9
parentba6fecc544a89dfac29a8954067ccf27c8132874 (diff)
no adjust after close
-rw-r--r--usr.bin/ssh/channels.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.bin/ssh/channels.c b/usr.bin/ssh/channels.c
index 4c67ade1814..9fa3b22c04d 100644
--- a/usr.bin/ssh/channels.c
+++ b/usr.bin/ssh/channels.c
@@ -17,7 +17,7 @@
*/
#include "includes.h"
-RCSID("$Id: channels.c,v 1.45 2000/04/04 06:18:01 markus Exp $");
+RCSID("$Id: channels.c,v 1.46 2000/04/06 09:43:15 markus Exp $");
#include "ssh.h"
#include "packet.h"
@@ -674,7 +674,7 @@ channel_handle_efd(Channel *c, fd_set * readset, fd_set * writeset)
int
channel_check_window(Channel *c, fd_set * readset, fd_set * writeset)
{
- if (!(c->flags & CHAN_CLOSE_SENT) &&
+ if (!(c->flags & (CHAN_CLOSE_SENT|CHAN_CLOSE_RCVD)) &&
c->local_window < c->local_window_max/2 &&
c->local_consumed > 0) {
packet_start(SSH2_MSG_CHANNEL_WINDOW_ADJUST);
@@ -837,7 +837,8 @@ channel_output_poll()
c->istate != CHAN_INPUT_WAIT_DRAIN)
continue;
}
- if (compat20 && (c->flags & CHAN_CLOSE_SENT)) {
+ if (compat20 &&
+ (c->flags & (CHAN_CLOSE_SENT|CHAN_CLOSE_RCVD))) {
debug("channel: %d: no data after CLOSE", c->self);
continue;
}