[Qemu-devel] [PATCH] Strip brackets from vnc host
Commit v2.2.0-1530-ge556032 vnc: switch to inet_listen_opts bypassed the use of inet_parse in inet_listen, making literal IPv6 addresses enclosed in brackets fail: qemu-kvm: -vnc [::1]:0: Failed to start VNC server on `(null)': address resolution failed for [::1]:5900: Name or service not known Strip the brackets to make it work again. Signed-off-by: Ján Tomko jto...@redhat.com --- ui/vnc.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ui/vnc.c b/ui/vnc.c index cffb5b7..49af7c7 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -3482,7 +3482,14 @@ void vnc_display_open(const char *id, Error **errp) h = strrchr(vnc, ':'); if (h) { -char *host = g_strndup(vnc, h - vnc); +char *host; +size_t hlen = h - vnc; + +if (vnc[0] == '[' vnc[hlen-1] == ']') { +host = g_strndup(vnc+1, hlen - 2); +} else { +host = g_strndup(vnc, hlen); +} qemu_opt_set(sopts, host, host, error_abort); qemu_opt_set(wsopts, host, host, error_abort); qemu_opt_set(sopts, port, h+1, error_abort); -- 2.0.5
Re: [Qemu-devel] [PATCH] Strip brackets from vnc host
On 04/27/2015 06:06 AM, Ján Tomko wrote: Commit v2.2.0-1530-ge556032 vnc: switch to inet_listen_opts bypassed the use of inet_parse in inet_listen, making literal IPv6 addresses enclosed in brackets fail: qemu-kvm: -vnc [::1]:0: Failed to start VNC server on `(null)': address resolution failed for [::1]:5900: Name or service not known Strip the brackets to make it work again. Signed-off-by: Ján Tomko jto...@redhat.com --- ui/vnc.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ui/vnc.c b/ui/vnc.c index cffb5b7..49af7c7 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -3482,7 +3482,14 @@ void vnc_display_open(const char *id, Error **errp) h = strrchr(vnc, ':'); if (h) { -char *host = g_strndup(vnc, h - vnc); +char *host; +size_t hlen = h - vnc; + +if (vnc[0] == '[' vnc[hlen-1] == ']') { +host = g_strndup(vnc+1, hlen - 2); Inconsistent spacing around operators (2 of the three '-'/'+' are missing spacing). With that fixed, Reviewed-by: Eric Blake ebl...@redhat.com -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature