[virt-tools-list] [PATCH virt-viewer] Add support for raw IPv6 addresses in VNC URIs
Daniel P. Berrange
berrange at redhat.com
Thu Apr 19 10:04:07 UTC 2012
On Wed, Apr 18, 2012 at 01:24:56PM -0400, Laine Stump wrote:
> On 04/18/2012 11:44 AM, Daniel P. Berrange wrote:
> > 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;
> > }
>
> ACK to this, but it looks like it would be good to give the same
> treatment to the results of xmlParseURI in
> virt_viewer_util_extract_host() (although to tell the truth this is the
> first time I've looked at this code, so I'm not sure exactly when/how
> it's used :-).
Well spotted. I fixed the code related to VNC URIs. The function you
point out is related to libvirt URIs which needs the same fix
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the virt-tools-list
mailing list