Fix QEMU -vnc arg generation with raw IPv6 addresses

Since -vnc uses ':' to separate the address from the port, raw
IPv6 addresses need to be escaped like [addr]:port

* src/qemu/qemu_command.c: Escape raw IPv6 addresses with []
* tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args,
  tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.xml: Tweak
  to test Ipv6 escaping
* docs/schemas/domain.rng: Allow Ipv6 addresses, or hostnames
  in <graphics> listen attributes
This commit is contained in:
Daniel P. Berrange
2011-05-19 06:39:35 -04:00
parent 65e1acad80
commit 58765b58a3
4 changed files with 51 additions and 29 deletions

View File

@@ -1200,7 +1200,7 @@
</optional>
<optional>
<attribute name="listen">
<ref name="addrIP"/>
<ref name="addrIPorName"/>
</attribute>
</optional>
</group>
@@ -1247,7 +1247,7 @@
</optional>
<optional>
<attribute name="listen">
<ref name="addrIP"/>
<ref name="addrIPorName"/>
</attribute>
</optional>
<optional>
@@ -1383,7 +1383,7 @@
</optional>
<optional>
<attribute name="listen">
<ref name="addrIP"/>
<ref name="addrIPorName"/>
</attribute>
</optional>
</group>
@@ -2376,6 +2376,11 @@
<param name="pattern">([0-2]?[0-9]?[0-9]\.){3}[0-2]?[0-9]?[0-9]</param>
</data>
</define>
<define name="addrIPorName">
<data type="string">
<param name="pattern">(([0-2]?[0-9]?[0-9]\.){3}[0-2]?[0-9]?[0-9])|(([0-9a-fA-F]+|:)+[0-9a-fA-F]+)|([a-zA-Z0-9_\.\+\-]*)</param>
</data>
</define>
<define name="usbId">
<data type="string">
<param name="pattern">(0x)?[0-9a-fA-F]{1,4}</param>