summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2013-04-05 11:20:18 +1100
committerDarren Tucker <dtucker@zip.com.au>2013-04-05 11:20:18 +1100
commit0059933c8d5f219c65a61df017225d9030ea3ae8 (patch)
treeeecaf8c138c95d010d2ac2d73650340428f1f932
parent81a05803d6cbf8bd5315d2cb18bcc32bb0869dd6 (diff)
- markus@cvs.openbsd.org 2013/02/22 19:13:56
[sshconnect.c] support ProxyCommand=- (stdin/out already point to the proxy); ok djm@
-rw-r--r--ChangeLog3
-rw-r--r--sshconnect.c9
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 327615d6..69ea7e8c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,9 @@
[ssh.c readconf.c readconf.h]
Don't complain if IdentityFiles specified in system-wide configs are
missing. ok djm, deraadt.
+ - markus@cvs.openbsd.org 2013/02/22 19:13:56
+ [sshconnect.c]
+ support ProxyCommand=- (stdin/out already point to the proxy); ok djm@
20130401
- (dtucker) [openbsd-compat/bsd-cygwin_util.{c,h}] Don't include windows.h
diff --git a/sshconnect.c b/sshconnect.c
index 07800a65..cf071128 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect.c,v 1.236 2012/09/14 16:51:34 markus Exp $ */
+/* $OpenBSD: sshconnect.c,v 1.237 2013/02/22 19:13:56 markus Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -89,6 +89,13 @@ ssh_proxy_connect(const char *host, u_short port, const char *proxy_command)
pid_t pid;
char *shell, strport[NI_MAXSERV];
+ if (!strcmp(proxy_command, "-")) {
+ packet_set_connection(STDIN_FILENO, STDOUT_FILENO);
+ packet_set_timeout(options.server_alive_interval,
+ options.server_alive_count_max);
+ return 0;
+ }
+
if ((shell = getenv("SHELL")) == NULL || *shell == '\0')
shell = _PATH_BSHELL;