diff options
author | djm <djm> | 2008-05-19 06:06:47 +0000 |
---|---|---|
committer | djm <djm> | 2008-05-19 06:06:47 +0000 |
commit | 9075997acc037997316093a60c3e29ba4f681c57 (patch) | |
tree | 7517cdc512cf67b81f247411840468eb3430e0c7 /clientloop.c | |
parent | 70e8ff9abc72037ffbc26b1d421de1e1bfef4fe4 (diff) | |
download | openssh-9075997acc037997316093a60c3e29ba4f681c57.tar.gz |
- markus@cvs.openbsd.org 2008/05/09 16:21:13
[channels.h clientloop.c nchan.c serverloop.c]
unbreak
ssh -2 localhost od /bin/ls | true
ignoring SIGPIPE by adding a new channel message (EOW) that signals
the peer that we're not interested in any data it might send.
fixes bz #85; discussion, debugging and ok djm@
Diffstat (limited to 'clientloop.c')
-rw-r--r-- | clientloop.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clientloop.c b/clientloop.c index c87aa5a0..584afb76 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.192 2008/05/09 14:18:44 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.193 2008/05/09 16:21:13 markus Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -1666,6 +1666,9 @@ client_input_channel_req(int type, u_int32_t seq, void *ctxt) error("client_input_channel_req: request for channel -1"); } else if ((c = channel_lookup(id)) == NULL) { error("client_input_channel_req: channel %d: unknown channel", id); + } else if (strcmp(rtype, "eow@openssh.com") == 0) { + packet_check_eom(); + chan_rcvd_eow(c); } else if (strcmp(rtype, "exit-status") == 0) { exitval = packet_get_int(); if (id == session_ident) { |