Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1352529
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
src/qemu/qemu_command.c | 6 ++++--
tests/qemuxml2argvdata/qemuxml2argv-name-escape.args | 5 +++--
tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml | 7 ++++++-
tests/qemuxml2argvtest.c | 3 ++-
4 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index d5da533e50..41eecfd187 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7495,7 +7495,7 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg,
switch (glisten->type) {
case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_SOCKET:
virBufferAddLit(&opt, "unix:");
- virQEMUBuildBufferEscapeComma(&opt, glisten->socket);
+ virQEMUBuildBufferEscape(&opt, glisten->socket);
break;
case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS:
@@ -7627,7 +7627,9 @@ qemuBuildGraphicsSPICECommandLine(virQEMUDriverConfigPtr cfg,
goto error;
}
- virBufferAsprintf(&opt, "unix,addr=%s,", glisten->socket);
+ virBufferAddLit(&opt, "unix,addr=");
+ virQEMUBuildBufferEscape(&opt, glisten->socket);
+ virBufferAddLit(&opt, ",");
hasInsecure = true;
break;
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args
b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args
index 9ae50bd455..deb37e09e6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args
@@ -3,7 +3,7 @@ PATH=/bin \
HOME=/home/test \
USER=test \
LOGNAME=test \
-QEMU_AUDIO_DRV=none \
+QEMU_AUDIO_DRV=spice \
/usr/bin/qemu \
-name guest=foo=1,,bar=2,debug-threads=on \
-S \
@@ -20,6 +20,7 @@ bar=2/monitor.sock,server,nowait \
-no-acpi \
-boot c \
-usb \
--vnc unix:/tmp/bar,,foo.sock \
+-vnc 'unix:/tmp/lib/domain--1-foo\=1,,bar\=2/vnc.sock' \
+-spice 'unix,addr=/tmp/lib/domain--1-foo\=1,,bar\=2/spice.sock' \
-vga cirrus \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml
b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml
index 5e8c7476fe..604e1453f2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml
@@ -14,6 +14,11 @@
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu</emulator>
- <graphics type='vnc' socket='/tmp/bar,foo.sock'/>
+ <graphics type='vnc'>
+ <listen type='socket'/>
+ </graphics>
+ <graphics type='spice'>
+ <listen type='socket'/>
+ </graphics>
</devices>
</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index f55b04b057..f3b5648b5c 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -2455,7 +2455,8 @@ mymain(void)
DO_TEST("name-escape", QEMU_CAPS_NAME_DEBUG_THREADS,
QEMU_CAPS_OBJECT_SECRET, QEMU_CAPS_CHARDEV, QEMU_CAPS_VNC,
- QEMU_CAPS_NAME_GUEST, QEMU_CAPS_DEVICE_CIRRUS_VGA);
+ QEMU_CAPS_NAME_GUEST, QEMU_CAPS_DEVICE_CIRRUS_VGA,
+ QEMU_CAPS_SPICE, QEMU_CAPS_SPICE_UNIX);
DO_TEST("debug-threads", QEMU_CAPS_NAME_DEBUG_THREADS);
DO_TEST("master-key", QEMU_CAPS_OBJECT_SECRET);
--
2.11.1