On Tue, Oct 09, 2012 at 05:53:53PM +0100, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" <[email protected]> > > The string '::' is just one of many possible ways to express > the IPv6 "any" address. Others include '::0', '0:0:0:0:0:0:0:0', > '0::0' and more. Instead of trying to do strcmp, actually try > parsing the address with GInetAddress and then simply use an > accessor to check what type it is > > Signed-off-by: Daniel P. Berrange <[email protected]> > --- > src/virt-viewer.c | 25 ++++++++++++++++++++++--- > 1 file changed, 22 insertions(+), 3 deletions(-) > > diff --git a/src/virt-viewer.c b/src/virt-viewer.c > index 0a4cea7..5b6a479 100644 > --- a/src/virt-viewer.c > +++ b/src/virt-viewer.c > @@ -282,6 +282,27 @@ virt_viewer_extract_xpath_string(const gchar *xmldesc, > return port; > } > > + > +static gboolean > +virt_viewer_replace_host(const gchar *host) > +{ > + GInetAddress *addr; > + gboolean ret; > + > + if (!host) > + return TRUE; > + > + addr = g_inet_address_new_from_string(host); > + > + if (!addr) /* Parsing error means it was probably a hotsname */
nit: hostname
ACK
Christophe
> + return FALSE;
> +
> + ret = g_inet_address_get_is_any(addr);
> + g_object_unref(addr);
> +
> + return ret;
> +}
> +
> static gboolean
> virt_viewer_extract_connect_info(VirtViewer *self,
> virDomainPtr dom)
> @@ -351,9 +372,7 @@ virt_viewer_extract_connect_info(VirtViewer *self,
> * from a remote host. Instead we fallback to the hostname used in
> * the libvirt URI. This isn't perfect but it is better than nothing
> */
> - if (!ghost ||
> - (strcmp(ghost, "0.0.0.0") == 0 ||
> - strcmp(ghost, "::") == 0)) {
> + if (virt_viewer_replace_host(ghost)) {
> DEBUG_LOG("Guest graphics listen '%s' is NULL or a wildcard,
> replacing with '%s'",
> ghost ? ghost : "", host);
> g_free(ghost);
> --
> 1.7.11.2
>
> _______________________________________________
> virt-tools-list mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/virt-tools-list
pgpqsx1rSR1eG.pgp
Description: PGP signature
_______________________________________________ virt-tools-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/virt-tools-list
