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(a)redhat.com>
---
docs/formatdomain.html.in | 32 +++++++++++++---------
docs/schemas/domaincommon.rng | 8 ++++--
src/conf/domain_conf.c | 3 +-
src/qemu/qemu_process.c | 15 ++++++----
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(+), 78 deletions(-)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 97794b7..1350519 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -5114,11 +5114,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
@@ -5156,14 +5155,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
@@ -5300,6 +5297,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 2e19f06..9dae85d 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -10791,8 +10791,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 86b13bd..c3dfc3f 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -5179,6 +5179,7 @@ qemuProcessPrepareDomain(virConnectPtr conn,
for (i = 0; i < vm->def->ngraphics; i++) {
virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
char *listenAddr = NULL;
+ size_t j;
switch (graphics->type) {
case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
@@ -5187,12 +5188,16 @@ qemuProcessPrepareDomain(virConnectPtr conn,
if (!listenAddr)
listenAddr = cfg->spiceListen;
- if (graphics->nListens == 0) {
- if (virDomainGraphicsListenAppendAddress(graphics,
- listenAddr) < 0)
- goto cleanup;
+ for (j = 0; j < graphics->nListens; j++) {
+ virDomainGraphicsListenDefPtr glisten = &graphics->listens[j];
+
+ if (glisten->type == VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS
&&
+ !glisten->address) {
+ if (VIR_STRDUP(glisten->address, listenAddr) < 0)
+ goto cleanup;
- graphics->listens[0].fromConfig = true;
+ glisten->fromConfig = true;
+ }
}
break;
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 dc47b4d..381dbdc 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)
@@ -986,8 +985,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