[libvirt] [PATCH v2 03/12] graphics: make address attribute for listen type='address' optional

Pavel Hrdina phrdina at redhat.com
Wed May 11 15:08:22 UTC 2016


We support omitting listen attribute of graphics element so we should
also support omitting address attribute of listen element.  This patch
also updates libvirt to always add a listen element into domain XML
except for VNC graphics if socket attribute is specified.

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 docs/formatdomain.html.in                          | 32 +++++++++++++---------
 docs/schemas/domaincommon.rng                      |  8 ++++--
 src/conf/domain_conf.c                             |  3 +-
 src/qemu/qemu_process.c                            | 16 +++++++----
 src/vbox/vbox_common.c                             |  6 ++--
 src/vmx/vmx.c                                      |  8 ++----
 src/xenconfig/xen_common.c                         | 11 +++++---
 src/xenconfig/xen_sxpr.c                           |  6 ++--
 src/xenconfig/xen_xl.c                             |  3 +-
 .../generic-graphics-vnc-manual-port.xml           |  4 ++-
 .../generic-graphics-vnc-minimal.xml               |  4 ++-
 .../qemuxml2xmlout-graphics-spice-timeout.xml      |  4 ++-
 .../qemuxml2xmlout-interface-server.xml            |  4 ++-
 .../qemuxml2xmlout-net-bandwidth.xml               |  4 ++-
 .../qemuxml2xmlout-net-bandwidth2.xml              |  4 ++-
 .../qemuxml2xmlout-video-virtio-gpu-spice-gl.xml   |  1 +
 tests/sexpr2xmldata/sexpr2xml-curmem.xml           |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml      |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml  |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml    |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml  |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml     |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml  |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml  |  4 ++-
 .../sexpr2xml-fv-serial-dev-2-ports.xml            |  4 ++-
 .../sexpr2xml-fv-serial-dev-2nd-port.xml           |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml   |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml   |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml   |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml    |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml  |  4 ++-
 .../sexpr2xml-fv-serial-tcp-telnet.xml             |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml    |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml    |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml   |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml     |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-sound.xml         |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml      |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml     |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-utc.xml           |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv-v2.xml            |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-fv.xml               |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml  |  4 ++-
 .../sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml  |  4 ++-
 tests/sexpr2xmldata/sexpr2xml-vif-rate.xml         |  4 ++-
 tests/vmx2xmldata/vmx2xml-graphics-vnc.xml         |  4 ++-
 tests/xmconfigdata/test-no-source-cdrom.xml        |  4 ++-
 tests/xmconfigdata/test-pci-devs.xml               |  4 ++-
 48 files changed, 167 insertions(+), 79 deletions(-)

diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 58b8cb6..fd2dd33 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -5126,11 +5126,10 @@ qemu-kvm -net nic,model=? /dev/null
               the TCP port number (with -1 as legacy syntax indicating that it
               should be auto-allocated). The <code>autoport</code> attribute is
               the new preferred syntax for indicating auto-allocation of the TCP
-              port to use. The <code>listen</code> attribute is an IP address
-              for the server to listen on. The <code>passwd</code> attribute
-              provides a VNC password in clear text. The <code>keymap</code>
-              attribute specifies the keymap to use. It is possible to set
-              a limit on the validity of the password by giving an timestamp
+              port to use. The <code>passwd</code> attribute provides a VNC
+              password in clear text. The <code>keymap</code> attribute specifies
+              the keymap to use. It is possible to set a limit on the validity of
+              the password by giving an timestamp
               <code>passwdValidTo='2010-04-09T15:51:00'</code> assumed to be
               in UTC. The <code>connected</code> attribute allows control of
               connected client during password changes. VNC accepts
@@ -5168,14 +5167,12 @@ qemu-kvm -net nic,model=? /dev/null
               should be auto-allocated), while <code>tlsPort</code> gives
               an alternative secure port number. The <code>autoport</code>
               attribute is the new preferred syntax for indicating
-              auto-allocation of needed port numbers. The <code>listen</code>
-              attribute is an IP address for the server to listen on.
-              The <code>passwd</code> attribute provides a SPICE password in
-              clear text. The <code>keymap</code> attribute specifies the keymap
-              to use. It is possible to set a limit on the validity of
-              the password by giving an timestamp
-              <code>passwdValidTo='2010-04-09T15:51:00'</code> assumed to be in
-              UTC.
+              auto-allocation of needed port numbers. The <code>passwd</code>
+              attribute provides a SPICE password in clear text. The
+              <code>keymap</code> attribute specifies the keymap to use. It is
+              possible to set a limit on the validity of the password by giving
+              an timestamp <code>passwdValidTo='2010-04-09T15:51:00'</code>
+              assumed to be in UTC.
             </p>
             <p>
               The <code>connected</code> attribute allows control of connected
@@ -5312,6 +5309,15 @@ qemu-kvm -net nic,model=? /dev/null
           or hostname (which will be resolved to an IP address via a DNS query)
           to listen on.
         </p>
+        <p>
+          It is possible to omit the <code>address</code> attribute in order to
+          use an address from config files <span class="since">Since 1.3.5</span>.
+        </p>
+        <p>
+          The <code>address</code> attribute is duplicated as <code>listen</code>
+          attribute in <code>graphics</code> element for backward compatibility.
+          If both are provided they must be equal.
+        </p>
       </dd>
       <dt><code>network</code></dt>
       <dd>
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 273715c..ffeafd2 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -2955,9 +2955,11 @@
             <attribute name="type">
               <value>address</value>
             </attribute>
-            <attribute name="address">
-              <ref name="addrIPorName"/>
-            </attribute>
+            <optional>
+              <attribute name="address">
+                <ref name="addrIPorName"/>
+              </attribute>
+            </optional>
           </group>
           <group>
             <attribute name="type">
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 45d2789..e70456d 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -10792,8 +10792,7 @@ virDomainGraphicsListensParseXML(virDomainGraphicsDefPtr def,
         if (STREQ_NULLABLE(newListen.address, ""))
             VIR_FREE(newListen.address);
 
-        if (newListen.address &&
-            VIR_APPEND_ELEMENT(def->listens, def->nListens, newListen) < 0)
+        if (VIR_APPEND_ELEMENT(def->listens, def->nListens, newListen) < 0)
             goto error;
     }
 
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index eddf3a7..f4bf6c1 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4394,7 +4394,7 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver,
 {
     virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
     bool allocate = !(flags & VIR_QEMU_PROCESS_START_PRETEND);
-    size_t i;
+    size_t i, j;
     int ret = -1;
 
     if (allocate && qemuProcessGraphicsReservePorts(driver, vm) < 0)
@@ -4426,12 +4426,16 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver,
             break;
         }
 
-        if (graphics->nListens == 0 && listenAddr) {
-            if (virDomainGraphicsListenAppendAddress(graphics,
-                                                     listenAddr) < 0)
-                goto cleanup;
+        for (j = 0; j < graphics->nListens; j++) {
+            virDomainGraphicsListenDefPtr glisten = &graphics->listens[j];
 
-            graphics->listens[0].fromConfig = true;
+            if (glisten->type == VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS &&
+                !glisten->address && listenAddr) {
+                if (VIR_STRDUP(glisten->address, listenAddr) < 0)
+                    goto cleanup;
+
+                glisten->fromConfig = true;
+            }
         }
     }
 
diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
index ed22724..13c3fec 100644
--- a/src/vbox/vbox_common.c
+++ b/src/vbox/vbox_common.c
@@ -3385,8 +3385,10 @@ vboxDumpDisplay(virDomainDefPtr def, vboxGlobalData *data, IMachine *machine)
             VBOX_UTF16_FREE(netAddressUtf16);
         }
 
-        if (STRNEQ_NULLABLE(netAddressUtf8, "") &&
-            virDomainGraphicsListenAppendAddress(graphics, netAddressUtf8) < 0)
+        if (netAddressUtf8 && STREQ(netAddressUtf8, ""))
+            VBOX_UTF8_FREE(netAddressUtf8);
+
+        if (virDomainGraphicsListenAppendAddress(graphics, netAddressUtf8) < 0)
             goto cleanup;
 
         gVBoxAPI.UIVRDxServer.GetAllowMultiConnection(VRDxServer, &allowMultiConnection);
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index 5e57c39..6505dd7 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -1875,11 +1875,9 @@ virVMXParseVNC(virConfPtr conf, virDomainGraphicsDefPtr *def)
         goto failure;
     }
 
-    if (listenAddr) {
-        if (virDomainGraphicsListenAppendAddress(*def, listenAddr) < 0)
-            goto failure;
-        VIR_FREE(listenAddr);
-    }
+    if (virDomainGraphicsListenAppendAddress(*def, listenAddr) < 0)
+        goto failure;
+    VIR_FREE(listenAddr);
 
     if (port < 0) {
         VIR_WARN("VNC is enabled but VMX entry 'RemoteDisplay.vnc.port' "
diff --git a/src/xenconfig/xen_common.c b/src/xenconfig/xen_common.c
index c6aee69..629fbf5 100644
--- a/src/xenconfig/xen_common.c
+++ b/src/xenconfig/xen_common.c
@@ -594,8 +594,7 @@ xenParseVfb(virConfPtr conf, virDomainDefPtr def)
 
             if (xenConfigCopyStringOpt(conf, "vnclisten", &listenAddr) < 0)
                 goto cleanup;
-            if (listenAddr &&
-                virDomainGraphicsListenAppendAddress(graphics, listenAddr) < 0)
+            if (virDomainGraphicsListenAppendAddress(graphics, listenAddr) < 0)
                 goto cleanup;
             VIR_FREE(listenAddr);
 
@@ -664,8 +663,7 @@ xenParseVfb(virConfPtr conf, virDomainDefPtr def)
                         if (STREQ(key + 10, "1"))
                             graphics->data.vnc.autoport = true;
                     } else if (STRPREFIX(key, "vnclisten=")) {
-                        if (virDomainGraphicsListenAppendAddress(graphics,
-                                                                 key+10) < 0)
+                        if (VIR_STRDUP(listenAddr, key+10) < 0)
                             goto cleanup;
                     } else if (STRPREFIX(key, "vncpasswd=")) {
                         if (VIR_STRDUP(graphics->data.vnc.auth.passwd, key + 10) < 0)
@@ -699,6 +697,11 @@ xenParseVfb(virConfPtr conf, virDomainDefPtr def)
                     nextkey++;
                 key = nextkey;
             }
+            if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC) {
+                if (virDomainGraphicsListenAppendAddress(graphics,
+                                                         listenAddr) < 0)
+                    goto cleanup;
+            }
             if (VIR_ALLOC_N(def->graphics, 1) < 0)
                 goto cleanup;
             def->graphics[0] = graphics;
diff --git a/src/xenconfig/xen_sxpr.c b/src/xenconfig/xen_sxpr.c
index d4aa5e9..8b5e063 100644
--- a/src/xenconfig/xen_sxpr.c
+++ b/src/xenconfig/xen_sxpr.c
@@ -867,8 +867,7 @@ xenParseSxprGraphicsOld(virDomainDefPtr def,
             graphics->data.vnc.autoport = true;
         graphics->data.vnc.port = port;
 
-        if (listenAddr &&
-            virDomainGraphicsListenAppendAddress(graphics, listenAddr) < 0)
+        if (virDomainGraphicsListenAppendAddress(graphics, listenAddr) < 0)
             goto error;
 
         if (VIR_STRDUP(graphics->data.vnc.auth.passwd, vncPasswd) < 0)
@@ -988,8 +987,7 @@ xenParseSxprGraphicsNew(virDomainDefPtr def,
                     port += 5900;
                 graphics->data.vnc.port = port;
 
-                if (listenAddr &&
-                    virDomainGraphicsListenAppendAddress(graphics, listenAddr) < 0)
+                if (virDomainGraphicsListenAppendAddress(graphics, listenAddr) < 0)
                     goto error;
 
                 if (VIR_STRDUP(graphics->data.vnc.auth.passwd, vncPasswd) < 0)
diff --git a/src/xenconfig/xen_xl.c b/src/xenconfig/xen_xl.c
index 889dd40..7d41e05 100644
--- a/src/xenconfig/xen_xl.c
+++ b/src/xenconfig/xen_xl.c
@@ -186,8 +186,7 @@ xenParseXLSpice(virConfPtr conf, virDomainDefPtr def)
             graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_SPICE;
             if (xenConfigCopyStringOpt(conf, "spicehost", &listenAddr) < 0)
                 goto cleanup;
-            if (listenAddr &&
-                virDomainGraphicsListenAppendAddress(graphics, listenAddr) < 0)
+            if (virDomainGraphicsListenAppendAddress(graphics, listenAddr) < 0)
                 goto cleanup;
             VIR_FREE(listenAddr);
 
diff --git a/tests/genericxml2xmloutdata/generic-graphics-vnc-manual-port.xml b/tests/genericxml2xmloutdata/generic-graphics-vnc-manual-port.xml
index ac8c279..7301057 100644
--- a/tests/genericxml2xmloutdata/generic-graphics-vnc-manual-port.xml
+++ b/tests/genericxml2xmloutdata/generic-graphics-vnc-manual-port.xml
@@ -19,7 +19,9 @@
     <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' vram='16384' heads='1' primary='yes'/>
     </video>
diff --git a/tests/genericxml2xmloutdata/generic-graphics-vnc-minimal.xml b/tests/genericxml2xmloutdata/generic-graphics-vnc-minimal.xml
index ac8c279..7301057 100644
--- a/tests/genericxml2xmloutdata/generic-graphics-vnc-minimal.xml
+++ b/tests/genericxml2xmloutdata/generic-graphics-vnc-minimal.xml
@@ -19,7 +19,9 @@
     <controller type='pci' index='0' model='pci-root'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' vram='16384' heads='1' primary='yes'/>
     </video>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-timeout.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-timeout.xml
index 33b5465..912b542 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-timeout.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-timeout.xml
@@ -77,7 +77,9 @@
     <input type='tablet' bus='usb'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='spice' port='5900' autoport='no' passwd='sercet' passwdValidTo='2011-05-31T16:11:22' connected='disconnect'/>
+    <graphics type='spice' port='5900' autoport='no' passwd='sercet' passwdValidTo='2011-05-31T16:11:22' connected='disconnect'>
+      <listen type='address'/>
+    </graphics>
     <sound model='ac97'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
     </sound>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-interface-server.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-interface-server.xml
index 9bc610b..95b6e2d 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-interface-server.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-interface-server.xml
@@ -119,7 +119,9 @@
     </channel>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <sound model='ich6'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
     </sound>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth.xml
index b9c9015..1fb740b 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth.xml
@@ -63,7 +63,9 @@
     <input type='tablet' bus='usb'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <sound model='ac97'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
     </sound>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth2.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth2.xml
index 411b409..6464890 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth2.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth2.xml
@@ -52,7 +52,9 @@
     <input type='tablet' bus='usb'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <sound model='ac97'>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
     </sound>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-video-virtio-gpu-spice-gl.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-video-virtio-gpu-spice-gl.xml
index 4b06e48..a6dddab 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-video-virtio-gpu-spice-gl.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-video-virtio-gpu-spice-gl.xml
@@ -30,6 +30,7 @@
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
     <graphics type='spice' autoport='no'>
+      <listen type='address'/>
       <gl enable='yes'/>
     </graphics>
     <video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-curmem.xml b/tests/sexpr2xmldata/sexpr2xml-curmem.xml
index a2668d1..ab23c66 100644
--- a/tests/sexpr2xmldata/sexpr2xml-curmem.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-curmem.xml
@@ -33,7 +33,9 @@
     </console>
     <input type='mouse' bus='xen'/>
     <input type='keyboard' bus='xen'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='xen' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml b/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml
index c4b22f6..799e3ff 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml
@@ -49,7 +49,9 @@
     <input type='tablet' bus='usb'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='5925' autoport='yes' keymap='en-us'/>
+    <graphics type='vnc' port='5925' autoport='yes' keymap='en-us'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml b/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml
index 17d4016..adc6b89 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml
@@ -42,7 +42,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml b/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml
index 20a0d76..836f7e3 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml
@@ -45,7 +45,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml b/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml
index 13fb299..9c17ce4 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml
@@ -45,7 +45,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml b/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
index 1380426..8d6a6a9 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
@@ -42,7 +42,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml b/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml
index 64111fe..4f4f16a 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml
@@ -43,7 +43,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml b/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml
index f362aee..e9a60af 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml
@@ -47,7 +47,9 @@
     </parallel>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml
index 4d3bdde..ed53287 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml
@@ -54,7 +54,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml
index d3eaf82..d22719d 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml
@@ -50,7 +50,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml
index 0f209d6..ea82206 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml
@@ -50,7 +50,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml
index b157f63..ac248b9 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml
@@ -48,7 +48,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml
index d9cd840..4942800 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml
@@ -50,7 +50,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml
index 2cffa65..358e544 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml
@@ -48,7 +48,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml
index 6e473d4..5bded20 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml
@@ -48,7 +48,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml
index f03bd29..b4447e2 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml
@@ -52,7 +52,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml
index 2e9c629..798117e 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml
@@ -52,7 +52,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml
index 3f3f676..941457e 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml
@@ -52,7 +52,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml b/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml
index 4f28511..7ae7f01 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml
@@ -50,7 +50,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml b/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
index f934a85..efbded1 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
@@ -42,7 +42,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <sound model='sb16'/>
     <sound model='es1370'/>
     <video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml b/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
index f934a85..efbded1 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
@@ -42,7 +42,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <sound model='sb16'/>
     <sound model='es1370'/>
     <video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml b/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
index 8b5887e..f53d00e 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
@@ -43,7 +43,9 @@
     <input type='mouse' bus='usb'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml b/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
index 3e4b366..9b41231 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
@@ -43,7 +43,9 @@
     <input type='tablet' bus='usb'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml b/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
index 9c2b9e3..8eba88f 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
@@ -42,7 +42,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml b/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
index 9c2b9e3..8eba88f 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
@@ -42,7 +42,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv.xml b/tests/sexpr2xmldata/sexpr2xml-fv.xml
index 9c2b9e3..8eba88f 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv.xml
@@ -42,7 +42,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml b/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
index 97d9482..89dd87f 100644
--- a/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
@@ -47,7 +47,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml
index c1acba1..e8b1cd5 100644
--- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml
@@ -31,7 +31,9 @@
     </console>
     <input type='mouse' bus='xen'/>
     <input type='keyboard' bus='xen'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='xen' heads='1' primary='yes'/>
     </video>
diff --git a/tests/sexpr2xmldata/sexpr2xml-vif-rate.xml b/tests/sexpr2xmldata/sexpr2xml-vif-rate.xml
index 45887e5..1e9d60b 100644
--- a/tests/sexpr2xmldata/sexpr2xml-vif-rate.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-vif-rate.xml
@@ -46,7 +46,9 @@
     </interface>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'/>
+    <graphics type='vnc' port='-1' autoport='yes' keymap='ja'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/vmx2xmldata/vmx2xml-graphics-vnc.xml b/tests/vmx2xmldata/vmx2xml-graphics-vnc.xml
index 8501907..3c57579 100644
--- a/tests/vmx2xmldata/vmx2xml-graphics-vnc.xml
+++ b/tests/vmx2xmldata/vmx2xml-graphics-vnc.xml
@@ -11,7 +11,9 @@
   <on_reboot>restart</on_reboot>
   <on_crash>destroy</on_crash>
   <devices>
-    <graphics type='vnc' port='5903' autoport='no' keymap='de' passwd='password'/>
+    <graphics type='vnc' port='5903' autoport='no' keymap='de' passwd='password'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='vmvga' vram='4096' primary='yes'/>
     </video>
diff --git a/tests/xmconfigdata/test-no-source-cdrom.xml b/tests/xmconfigdata/test-no-source-cdrom.xml
index d4c2fd6..61cfb75 100644
--- a/tests/xmconfigdata/test-no-source-cdrom.xml
+++ b/tests/xmconfigdata/test-no-source-cdrom.xml
@@ -47,7 +47,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
diff --git a/tests/xmconfigdata/test-pci-devs.xml b/tests/xmconfigdata/test-pci-devs.xml
index 4c3f5f2..3bc263f 100644
--- a/tests/xmconfigdata/test-pci-devs.xml
+++ b/tests/xmconfigdata/test-pci-devs.xml
@@ -47,7 +47,9 @@
     </console>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
-    <graphics type='vnc' port='-1' autoport='yes'/>
+    <graphics type='vnc' port='-1' autoport='yes'>
+      <listen type='address'/>
+    </graphics>
     <video>
       <model type='cirrus' heads='1' primary='yes'/>
     </video>
-- 
2.8.2




More information about the libvir-list mailing list