diff options
author | Damien Miller <djm@mindrot.org> | 2006-01-31 21:47:15 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2006-01-31 21:47:15 +1100 |
commit | e204f6aa0dc399dfb709f3def13b9c4f8ab35357 (patch) | |
tree | 1a0249ed6991c566531011dc3857bd70742059c8 | |
parent | bbc59094b95aee8456918c35a8138179d34008a1 (diff) |
- reyk@cvs.openbsd.org 2006/01/30 12:22:22
[channels.c]
mark channel as write failed or dead instead of read failed on error
of the channel output filter.
ok markus@
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | channels.c | 8 |
2 files changed, 12 insertions, 3 deletions
@@ -18,6 +18,11 @@ | |||
18 | written with a lot of help from jakob; | 18 | written with a lot of help from jakob; |
19 | feedback dtucker/markus; | 19 | feedback dtucker/markus; |
20 | ok markus | 20 | ok markus |
21 | - reyk@cvs.openbsd.org 2006/01/30 12:22:22 | ||
22 | [channels.c] | ||
23 | mark channel as write failed or dead instead of read failed on error | ||
24 | of the channel output filter. | ||
25 | ok markus@ | ||
21 | 26 | ||
22 | 20060129 | 27 | 20060129 |
23 | - (dtucker) [configure.ac opensshd.init.in] Bug #1144: Use /bin/sh for the | 28 | - (dtucker) [configure.ac opensshd.init.in] Bug #1144: Use /bin/sh for the |
@@ -3743,4 +3748,4 @@ | |||
3743 | - (djm) Trim deprecated options from INSTALL. Mention UsePAM | 3748 | - (djm) Trim deprecated options from INSTALL. Mention UsePAM |
3744 | - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu | 3749 | - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu |
3745 | 3750 | ||
3746 | $Id: ChangeLog,v 1.4098 2006/01/31 10:46:51 djm Exp $ | 3751 | $Id: ChangeLog,v 1.4099 2006/01/31 10:47:15 djm Exp $ |
diff --git a/channels.c b/channels.c index 5fa80fbad..1252f3446 100644 --- a/channels.c +++ b/channels.c | |||
@@ -39,7 +39,7 @@ | |||
39 | */ | 39 | */ |
40 | 40 | ||
41 | #include "includes.h" | 41 | #include "includes.h" |
42 | RCSID("$OpenBSD: channels.c,v 1.231 2005/12/30 15:56:36 reyk Exp $"); | 42 | RCSID("$OpenBSD: channels.c,v 1.232 2006/01/30 12:22:22 reyk Exp $"); |
43 | 43 | ||
44 | #include "ssh.h" | 44 | #include "ssh.h" |
45 | #include "ssh1.h" | 45 | #include "ssh1.h" |
@@ -1466,7 +1466,11 @@ channel_handle_wfd(Channel *c, fd_set * readset, fd_set * writeset) | |||
1466 | if (c->output_filter != NULL) { | 1466 | if (c->output_filter != NULL) { |
1467 | if ((buf = c->output_filter(c, &data, &dlen)) == NULL) { | 1467 | if ((buf = c->output_filter(c, &data, &dlen)) == NULL) { |
1468 | debug2("channel %d: filter stops", c->self); | 1468 | debug2("channel %d: filter stops", c->self); |
1469 | chan_read_failed(c); | 1469 | if (c->type != SSH_CHANNEL_OPEN) |
1470 | chan_mark_dead(c); | ||
1471 | else | ||
1472 | chan_write_failed(c); | ||
1473 | return -1; | ||
1470 | } | 1474 | } |
1471 | } else if (c->datagram) { | 1475 | } else if (c->datagram) { |
1472 | buf = data = buffer_get_string(&c->output, &dlen); | 1476 | buf = data = buffer_get_string(&c->output, &dlen); |