Codebase list virt-viewer / 599a1e1 debian / patches / 0001-Really-fix-using-alternate-ssh-ports.patch
599a1e1

Tree @599a1e1 (Download .tar.gz)

0001-Really-fix-using-alternate-ssh-ports.patch @599a1e1raw · history · blame

From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Fri, 12 Aug 2011 19:05:11 +0200
Subject: Really fix using alternate ssh ports

Many,many thanks to Luca Capello for debugging this.

Closes: #637548
---
 src/virt-viewer-app.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index 918e788..6d3d9be 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -319,7 +319,7 @@ virt_viewer_app_open_tunnel_ssh(const char *sshhost,
 	int n = 0;
 
 	cmd[n++] = "ssh";
-	if (!sshport) {
+	if (sshport) {
 		cmd[n++] = "-p";
 		sprintf(portstr, "%d", sshport);
 		cmd[n++] = portstr;
@@ -635,6 +635,8 @@ virt_viewer_app_activate(VirtViewerApp *self)
 	if (priv->transport &&
 	    g_strcasecmp(priv->transport, "ssh") == 0 &&
 	    !priv->direct) {
+		gchar *p = NULL;
+
 		if (priv->gport) {
 			virt_viewer_app_trace(self, "Opening indirect TCP connection to display at %s:%s\n",
 					      priv->ghost, priv->gport);
@@ -642,14 +644,22 @@ virt_viewer_app_activate(VirtViewerApp *self)
 			virt_viewer_app_trace(self, "Opening indirect UNIX connection to display at %s\n",
 					      priv->unixsock);
 		}
-		virt_viewer_app_trace(self, "Setting up SSH tunnel via %s@%s:%d\n",
-				      priv->user, priv->host, priv->port ? priv->port : 22);
+		if (priv->port)
+			p = g_strdup_printf(":%d", priv->port);
+
+		virt_viewer_app_trace(self, "Setting up SSH tunnel via %s%s%s%s\n",
+				      priv->user ? priv->user : "",
+				      priv->user ? "@" : "",
+				      priv->host, p ? p : "");
+		g_free(p);
 
 		if ((fd = virt_viewer_app_open_tunnel_ssh(priv->host, priv->port,
 							  priv->user, priv->ghost,
 							  priv->gport, priv->unixsock)) < 0)
 			return -1;
 	} else if (priv->unixsock) {
+
+
 		virt_viewer_app_trace(self, "Opening direct UNIX connection to display at %s",
 				      priv->unixsock);
 		if ((fd = virt_viewer_app_open_unix_sock(priv->unixsock)) < 0)
@@ -1311,7 +1321,7 @@ virt_viewer_app_set_connect_info(VirtViewerApp *self,
 	priv->transport = g_strdup(transport);
 	priv->unixsock = g_strdup(unixsock);
 	priv->user = g_strdup(user);
-	priv->port = 0;
+	priv->port = port;
 
 	virt_viewer_app_update_pretty_address(self);
 }
--