[virt-tools-list] [PATCH virt-viewer] Add support for raw IPv6 addresses in VNC URIs
Daniel P. Berrange
berrange at redhat.com
Wed Apr 18 15:44:13 UTC 2012
From: "Daniel P. Berrange" <berrange at redhat.com>
Support vnc://[x:y:z:]:5901/ for raw IPv6 addresses in URIs
---
src/virt-viewer-session-vnc.c | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/src/virt-viewer-session-vnc.c b/src/virt-viewer-session-vnc.c
index 3e27566..238c865 100644
--- a/src/virt-viewer-session-vnc.c
+++ b/src/virt-viewer-session-vnc.c
@@ -197,6 +197,7 @@ virt_viewer_session_vnc_open_uri(VirtViewerSession* session,
VirtViewerSessionVnc *self = VIRT_VIEWER_SESSION_VNC(session);
xmlURIPtr uri = NULL;
gchar *portstr;
+ gchar *hoststr = NULL;
gboolean ret;
g_return_val_if_fail(self != NULL, FALSE);
@@ -207,8 +208,22 @@ virt_viewer_session_vnc_open_uri(VirtViewerSession* session,
portstr = g_strdup_printf("%d", uri->port);
- ret = vnc_display_open_host(self->priv->vnc, uri->server, portstr);
+ if (uri->server) {
+ if (uri->server[0] == '[') {
+ gchar *tmp;
+ hoststr = g_strdup(uri->server + 1);
+ if ((tmp = strchr(hoststr, ']')))
+ *tmp = '\0';
+ } else {
+ hoststr = g_strdup(uri->server);
+ }
+ }
+
+ ret = vnc_display_open_host(self->priv->vnc,
+ hoststr,
+ portstr);
g_free(portstr);
+ g_free(hoststr);
xmlFreeURI(uri);
return ret;
}
--
1.7.7.6
More information about the virt-tools-list
mailing list