diff options
author | Damien Miller <djm@mindrot.org> | 2008-05-19 16:06:47 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2008-05-19 16:06:47 +1000 |
commit | bab9bd4c20dac1d513fbf16d1214e0c0f9a1bf3b (patch) | |
tree | 536e741d3502911fa7f8a8322f15da634d6648a3 /clientloop.c | |
parent | d654dd27b5774575edd341827c38735ac9222174 (diff) | |
download | openssh-git-bab9bd4c20dac1d513fbf16d1214e0c0f9a1bf3b.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) { |