From 357610d15946381ae90c271837dcdd0cdce7145f Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 18 Jul 2014 15:04:10 +1000 Subject: - djm@cvs.openbsd.org 2014/07/17 07:22:19 [mux.c ssh.c] reflect stdio-forward ("ssh -W host:port ...") failures in exit status. previously we were always returning 0. bz#2255 reported by Brendan Germain; ok dtucker --- ssh.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'ssh.c') diff --git a/ssh.c b/ssh.c index 47375f5ea..26e9681b7 100644 --- a/ssh.c +++ b/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.406 2014/07/15 15:54:14 millert Exp $ */ +/* $OpenBSD: ssh.c,v 1.407 2014/07/17 07:22:19 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1359,6 +1359,13 @@ client_cleanup_stdio_fwd(int id, void *arg) cleanup_exit(0); } +static void +ssh_stdio_confirm(int id, int success, void *arg) +{ + if (!success) + fatal("stdio forwarding failed"); +} + static void ssh_init_stdio_forwarding(void) { @@ -1379,6 +1386,7 @@ ssh_init_stdio_forwarding(void) stdio_forward_port, in, out)) == NULL) fatal("%s: channel_connect_stdio_fwd failed", __func__); channel_register_cleanup(c->self, client_cleanup_stdio_fwd, 0); + channel_register_open_confirm(c->self, ssh_stdio_confirm, NULL); } static void -- cgit v1.2.3