|
|
48c875 |
From 2b271402aaeee7d7948493362bc6d152a7422856 Mon Sep 17 00:00:00 2001
|
|
|
48c875 |
From: Pavel Grunt <pgrunt@redhat.com>
|
|
|
48c875 |
Date: Fri, 7 Apr 2017 12:05:17 +0200
|
|
|
48c875 |
Subject: [PATCH virt-viewer 31/32] virt-viewer: Support newer libvirt xml
|
|
|
48c875 |
format
|
|
|
48c875 |
To: virt-tools-list@redhat.com
|
|
|
48c875 |
|
|
|
48c875 |
Since libvirt 0.9.4 there is a new listen element which can be used
|
|
|
48c875 |
to specify address instead of using the attributes of graphics element.
|
|
|
48c875 |
|
|
|
48c875 |
Also add support for listen type socket - available for Qemu since
|
|
|
48c875 |
libvirt 2.0.0
|
|
|
48c875 |
|
|
|
48c875 |
Resolves: rhbz#1411765
|
|
|
48c875 |
|
|
|
48c875 |
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
|
48c875 |
(cherry picked from commit effa832ca5bd51b1f450f630e1fe3cd7deacb887)
|
|
|
48c875 |
---
|
|
|
48c875 |
src/virt-viewer.c | 14 ++++++++++++--
|
|
|
48c875 |
1 file changed, 12 insertions(+), 2 deletions(-)
|
|
|
48c875 |
|
|
|
48c875 |
diff --git a/src/virt-viewer.c b/src/virt-viewer.c
|
|
|
48c875 |
index 65c0546..fe10229 100644
|
|
|
48c875 |
--- a/src/virt-viewer.c
|
|
|
48c875 |
+++ b/src/virt-viewer.c
|
|
|
48c875 |
@@ -565,11 +565,21 @@ virt_viewer_extract_connect_info(VirtViewer *self,
|
|
|
48c875 |
}
|
|
|
48c875 |
|
|
|
48c875 |
if (gport || gtlsport) {
|
|
|
48c875 |
- xpath = g_strdup_printf("string(/domain/devices/graphics[@type='%s']/@listen)", type);
|
|
|
48c875 |
+ xpath = g_strdup_printf("string(/domain/devices/graphics[@type='%s']/listen/@address)", type);
|
|
|
48c875 |
ghost = virt_viewer_extract_xpath_string(xmldesc, xpath);
|
|
|
48c875 |
+ if (ghost == NULL) { /* try old xml format - listen attribute in the graphics node */
|
|
|
48c875 |
+ g_free(xpath);
|
|
|
48c875 |
+ xpath = g_strdup_printf("string(/domain/devices/graphics[@type='%s']/@listen)", type);
|
|
|
48c875 |
+ ghost = virt_viewer_extract_xpath_string(xmldesc, xpath);
|
|
|
48c875 |
+ }
|
|
|
48c875 |
} else {
|
|
|
48c875 |
- xpath = g_strdup_printf("string(/domain/devices/graphics[@type='%s']/@socket)", type);
|
|
|
48c875 |
+ xpath = g_strdup_printf("string(/domain/devices/graphics[@type='%s']/listen/@socket)", type);
|
|
|
48c875 |
unixsock = virt_viewer_extract_xpath_string(xmldesc, xpath);
|
|
|
48c875 |
+ if (unixsock == NULL) { /* try old xml format - socket attribute in the graphics node */
|
|
|
48c875 |
+ g_free(xpath);
|
|
|
48c875 |
+ xpath = g_strdup_printf("string(/domain/devices/graphics[@type='%s']/@socket)", type);
|
|
|
48c875 |
+ unixsock = virt_viewer_extract_xpath_string(xmldesc, xpath);
|
|
|
48c875 |
+ }
|
|
|
48c875 |
}
|
|
|
48c875 |
|
|
|
48c875 |
if (ghost && gport) {
|
|
|
48c875 |
--
|
|
|
48c875 |
2.12.2
|
|
|
48c875 |
|