summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--ssh_config.512
-rw-r--r--sshconnect.c6
3 files changed, 14 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 4d3d2b78..afd69b03 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -32,6 +32,10 @@
- djm@cvs.openbsd.org 2010/04/10 05:48:16
[mux.c]
fix NULL dereference; from matthew.haub AT alumni.adelaide.edu.au
+ - djm@cvs.openbsd.org 2010/04/14 22:27:42
+ [ssh_config.5 sshconnect.c]
+ expand %r => remote username in ssh_config:ProxyCommand;
+ ok deraadt markus
20100410
- (dtucker) [configure.ac] Put the check for the existence of getaddrinfo
diff --git a/ssh_config.5 b/ssh_config.5
index 2945e48b..3f0f537a 100644
--- a/ssh_config.5
+++ b/ssh_config.5
@@ -34,8 +34,8 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $OpenBSD: ssh_config.5,v 1.131 2010/03/27 14:26:55 jmc Exp $
-.Dd $Mdocdate: March 27 2010 $
+.\" $OpenBSD: ssh_config.5,v 1.132 2010/04/14 22:27:42 djm Exp $
+.Dd $Mdocdate: April 14 2010 $
.Dt SSH_CONFIG 5
.Os
.Sh NAME
@@ -759,12 +759,14 @@ Specifies the command to use to connect to the server.
The command
string extends to the end of the line, and is executed with
the user's shell.
-In the command string,
+In the command string, any occurance of
.Ql %h
will be substituted by the host name to
-connect and
+connect,
.Ql %p
-by the port.
+by the port and
+.Ql %u
+by the remote user name.
The command can be basically anything,
and should read from its standard input and write to its standard output.
It should eventually connect an
diff --git a/sshconnect.c b/sshconnect.c
index effe6dae..ca83bc79 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect.c,v 1.221 2010/04/10 00:04:30 djm Exp $ */
+/* $OpenBSD: sshconnect.c,v 1.222 2010/04/14 22:27:42 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -101,8 +101,8 @@ ssh_proxy_connect(const char *host, u_short port, const char *proxy_command)
* (e.g. Solaris)
*/
xasprintf(&tmp, "exec %s", proxy_command);
- command_string = percent_expand(tmp, "h", host,
- "p", strport, (char *)NULL);
+ command_string = percent_expand(tmp, "h", host, "p", strport,
+ "u", options.user, (char *)NULL);
xfree(tmp);
/* Create pipes for communicating with the proxy. */