From 3525cabf48eb97d2e58a1e715e70fab399d40568 Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Wed, 17 Apr 2013 22:48:43 +0800
Subject: [PATCH] Use '#' for host#port separator, document it. This fixes scp
 in multihop

---
 cli-runopts.c | 6 +++++-
 dbclient.1    | 9 ++++-----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/cli-runopts.c b/cli-runopts.c
index a6e2b062..62568b0b 100644
--- a/cli-runopts.c
+++ b/cli-runopts.c
@@ -610,7 +610,11 @@ static void parse_hostname(const char* orighostarg) {
 		cli_opts.username = m_strdup(cli_opts.own_user);
 	}
 
-	port = strchr(cli_opts.remotehost, '/');
+	port = strchr(cli_opts.remotehost, '#');
+	if (!port)  {
+		// legacy separator
+		port = strchr(cli_opts.remotehost, '/');
+	}
 	if (port) {
 		*port = '\0';
 		cli_opts.remoteport = port+1;
diff --git a/dbclient.1 b/dbclient.1
index aac32ff8..2379e4a9 100644
--- a/dbclient.1
+++ b/dbclient.1
@@ -15,7 +15,7 @@ dbclient \- lightweight SSH2 client
 .B dbclient
 [
 .I args ]
-.I [user1]@host1[/port1],[user2]@host2[/port2],...
+.I [user1]@host1[#port1],[user2]@host2[#port2],...
 
 .SH DESCRIPTION
 .B dbclient
@@ -24,10 +24,9 @@ environments, while still being functional and secure enough for general use.
 .SH OPTIONS
 .TP
 .B \-p \fIport
-Remote port.
-Connect to port
+Connect to 
 .I port
-on the remote host.
+on the remote host. Alternatively a port can be specified as hostname#port.
 Default is 22.
 .TP
 .B \-i \fIidfile
@@ -127,7 +126,7 @@ Dropbear will also allow multiple "hops" to be specified, separated by commas. I
 this case a connection will be made to the first host, then a TCP forwarded 
 connection will be made through that to the second host, and so on. Hosts other than
 the final destination will not see anything other than the encrypted SSH stream. 
-A port for a host can be specified with a slash (eg matt@martello/44 ).
+A port for a host can be specified with a hash (eg matt@martello#44 ).
 This syntax can also be used with scp or rsync (specifying dbclient as the 
 ssh/rsh command). A file can be "bounced" through multiple SSH hops, eg
 
-- 
GitLab