]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: command: escape commas in VNC socket path
authorCole Robinson <crobinso@redhat.com>
Sun, 8 May 2016 18:33:50 +0000 (14:33 -0400)
committerCole Robinson <crobinso@redhat.com>
Mon, 16 May 2016 14:30:38 +0000 (10:30 -0400)
This path can be dependent on the VM libdir, which contains its name

src/qemu/qemu_command.c
tests/qemuxml2argvdata/qemuxml2argv-name-escape.args
tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml
tests/qemuxml2argvtest.c

index 751690e285ea08588acd5d40d3d62dffb37250e4..dfe773896e9854c61bd2708a1bfed04b6b3876ee 100644 (file)
@@ -7425,7 +7425,8 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg,
             graphics->data.vnc.socketAutogenerated = true;
         }
 
-        virBufferAsprintf(&opt, "unix:%s", graphics->data.vnc.socket);
+        virBufferAddLit(&opt, "unix:");
+        qemuBufferEscapeComma(&opt, graphics->data.vnc.socket);
 
     } else {
         if (!graphics->data.vnc.autoport &&
index a5e35b877c6f8dee6157869fe72c1fa486abeb0f..ffec3f4d1276371d7d6bf91ad1eb6067d10d8c7b 100644 (file)
@@ -13,7 +13,6 @@ bar/master-key.aes \
 -m 214 \
 -smp 1 \
 -uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--nographic \
 -nodefaults \
 -chardev socket,id=charmonitor,path=/tmp/lib/domain--1-foo,bar/monitor.sock,\
 server,nowait \
@@ -21,4 +20,6 @@ server,nowait \
 -no-acpi \
 -boot c \
 -usb \
+-vnc unix:/tmp/bar,,foo.sock \
+-vga cirrus \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
index 3a8c3cd56ddb94a0d61535fd4676e256f0731aeb..e263553e071ec41ff40c1e876c8a234b771b290e 100644 (file)
@@ -14,5 +14,6 @@
   <on_crash>destroy</on_crash>
   <devices>
     <emulator>/usr/bin/qemu</emulator>
+    <graphics type='vnc' socket='/tmp/bar,foo.sock'/>
   </devices>
 </domain>
index bed6a71b96e5bcb129fe035b04a203328566fe9d..99f2b335c0a79885671c31e9b865dc1cf56a45ff 100644 (file)
@@ -1903,7 +1903,7 @@ mymain(void)
                               NONE);
 
     DO_TEST("name-escape", QEMU_CAPS_NAME_DEBUG_THREADS,
-            QEMU_CAPS_OBJECT_SECRET, QEMU_CAPS_CHARDEV);
+            QEMU_CAPS_OBJECT_SECRET, QEMU_CAPS_CHARDEV, QEMU_CAPS_VNC);
     DO_TEST("debug-threads", QEMU_CAPS_NAME_DEBUG_THREADS);
 
     DO_TEST("master-key", QEMU_CAPS_OBJECT_SECRET);