提交 360cbf6f 编写于 作者: P Pavel Hrdina

graphics: don't parse listens if socket attribute is present

If socket attribute is present we start VNC that listens only on that
unix socket.  This makes the parser behave the same way as we actually
use the socket attribute.
Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
上级 72475ac3
......@@ -10729,11 +10729,18 @@ virDomainGraphicsListensParseXML(virDomainGraphicsDefPtr def,
xmlNodePtr save = ctxt->node;
virDomainGraphicsListenDefPtr address = NULL;
char *listenAddr = NULL;
char *socketPath = NULL;
int nListens;
int ret = -1;
ctxt->node = node;
if (def->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC &&
(socketPath = virXMLPropString(node, "socket"))) {
ret = 0;
goto error;
}
/* parse the <listen> subelements for graphics types that support it */
nListens = virXPathNodeSet("./listen", ctxt, &listenNodes);
if (nListens < 0)
......@@ -10786,6 +10793,7 @@ virDomainGraphicsListensParseXML(virDomainGraphicsDefPtr def,
error:
VIR_FREE(listenNodes);
VIR_FREE(listenAddr);
VIR_FREE(socketPath);
ctxt->node = save;
return ret;
}
......
......@@ -19,9 +19,7 @@
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' socket='/tmp/QEMUGuest1-vnc.sock'>
<listen type='address' address='127.0.0.1'/>
</graphics>
<graphics type='vnc' socket='/tmp/QEMUGuest1-vnc.sock'/>
<video>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
</video>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册