summaryrefslogtreecommitdiffstats
path: root/channels.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2000-04-12 18:45:05 +1000
committerDamien Miller <djm@mindrot.org>2000-04-12 18:45:05 +1000
commitefb4afe0265333ce554f699c2a19ae249dd8d1b5 (patch)
tree8fe5e0bb9791e7fa3d1788084ae669f7a9dcd2e0 /channels.c
parent11e37f638d3cc064371521001eaeb2d75bfe4a8d (diff)
- More large OpenBSD CVS updates:
- [auth.c auth.h servconf.c servconf.h serverloop.c session.c] [session.h ssh.h sshd.c README.openssh2] ssh2 server side, see README.openssh2; enable with 'sshd -2' - [channels.c] no adjust after close - [sshd.c compat.c ] interop w/ latest ssh.com windows client.
Diffstat (limited to 'channels.c')
-rw-r--r--channels.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/channels.c b/channels.c
index f03cf92b..c140b77d 100644
--- a/channels.c
+++ b/channels.c
@@ -17,7 +17,7 @@
*/
#include "includes.h"
-RCSID("$Id: channels.c,v 1.22 2000/04/06 02:32:38 damien Exp $");
+RCSID("$Id: channels.c,v 1.23 2000/04/12 08:45:06 damien 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;
}