summaryrefslogtreecommitdiff
path: root/nchan.c
diff options
context:
space:
mode:
Diffstat (limited to 'nchan.c')
-rw-r--r--nchan.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/nchan.c b/nchan.c
index 76674a76d..8b793714e 100644
--- a/nchan.c
+++ b/nchan.c
@@ -23,7 +23,7 @@
23 */ 23 */
24 24
25#include "includes.h" 25#include "includes.h"
26RCSID("$OpenBSD: nchan.c,v 1.39 2002/01/14 13:34:07 markus Exp $"); 26RCSID("$OpenBSD: nchan.c,v 1.40 2002/01/14 13:40:10 markus Exp $");
27 27
28#include "ssh1.h" 28#include "ssh1.h"
29#include "ssh2.h" 29#include "ssh2.h"
@@ -274,7 +274,7 @@ chan_send_oclose1(Channel *c)
274 * the same for SSH2 274 * the same for SSH2
275 */ 275 */
276static void 276static void
277chan_rcvd_oclose2(Channel *c) 277chan_rcvd_close2(Channel *c)
278{ 278{
279 debug("channel %d: rcvd close", c->self); 279 debug("channel %d: rcvd close", c->self);
280 if (c->flags & CHAN_CLOSE_RCVD) 280 if (c->flags & CHAN_CLOSE_RCVD)
@@ -298,12 +298,13 @@ chan_rcvd_oclose2(Channel *c)
298 switch (c->istate) { 298 switch (c->istate) {
299 case CHAN_INPUT_OPEN: 299 case CHAN_INPUT_OPEN:
300 chan_shutdown_read(c); 300 chan_shutdown_read(c);
301 chan_set_istate(c, CHAN_INPUT_CLOSED);
301 break; 302 break;
302 case CHAN_INPUT_WAIT_DRAIN: 303 case CHAN_INPUT_WAIT_DRAIN:
303 chan_send_eof2(c); 304 chan_send_eof2(c);
305 chan_set_istate(c, CHAN_INPUT_CLOSED);
304 break; 306 break;
305 } 307 }
306 chan_set_istate(c, CHAN_INPUT_CLOSED);
307} 308}
308static void 309static void
309chan_ibuf_empty2(Channel *c) 310chan_ibuf_empty2(Channel *c)
@@ -311,7 +312,7 @@ chan_ibuf_empty2(Channel *c)
311 chan_ibuf_empty1(c); 312 chan_ibuf_empty1(c);
312} 313}
313static void 314static void
314chan_rcvd_ieof2(Channel *c) 315chan_rcvd_eof2(Channel *c)
315{ 316{
316 debug("channel %d: rcvd eof", c->self); 317 debug("channel %d: rcvd eof", c->self);
317 if (c->ostate == CHAN_OUTPUT_OPEN) 318 if (c->ostate == CHAN_OUTPUT_OPEN)
@@ -446,11 +447,11 @@ void
446chan_init(void) 447chan_init(void)
447{ 448{
448 if (compat20) { 449 if (compat20) {
449 chan_rcvd_oclose = chan_rcvd_oclose2; 450 chan_rcvd_oclose = chan_rcvd_close2;
450 chan_read_failed = chan_read_failed_12; 451 chan_read_failed = chan_read_failed_12;
451 chan_ibuf_empty = chan_ibuf_empty2; 452 chan_ibuf_empty = chan_ibuf_empty2;
452 453
453 chan_rcvd_ieof = chan_rcvd_ieof2; 454 chan_rcvd_ieof = chan_rcvd_eof2;
454 chan_write_failed = chan_write_failed2; 455 chan_write_failed = chan_write_failed2;
455 chan_obuf_empty = chan_obuf_empty2; 456 chan_obuf_empty = chan_obuf_empty2;
456 } else { 457 } else {