summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2006-01-31 21:47:15 +1100
committerDamien Miller <djm@mindrot.org>2006-01-31 21:47:15 +1100
commite204f6aa0dc399dfb709f3def13b9c4f8ab35357 (patch)
tree1a0249ed6991c566531011dc3857bd70742059c8
parentbbc59094b95aee8456918c35a8138179d34008a1 (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--ChangeLog7
-rw-r--r--channels.c8
2 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index f38e515fd..879ac1065 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
2220060129 2720060129
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"
42RCSID("$OpenBSD: channels.c,v 1.231 2005/12/30 15:56:36 reyk Exp $"); 42RCSID("$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);