
On 05/30/2011 09:45 AM, Michal Privoznik wrote:
This option accepts 3 values: -keep, to keep current client connected (Spice+VNC) -disconnect, to disconnect client (Spice) -fail, to fail setting password if there is a client connected (Spice) --- docs/schemas/domain.rng | 16 ++++++++++++++++ src/conf/domain_conf.c | 44 +++++++++++++++++++++++++++++++++++++++++--- src/conf/domain_conf.h | 11 +++++++++++ src/libvirt_private.syms | 2 ++ src/qemu/qemu_hotplug.c | 11 ++++++++--- 5 files changed, 78 insertions(+), 6 deletions(-)
In addition to Matthias' correct note that we need a patch to docs/formatdomain.html.in,
+virDomainGraphicsAuthDefParseXML(xmlNodePtr node, + virDomainGraphicsAuthDefPtr def, + int type) { char *validTo = NULL; + char *connected = virXMLPropString(node, "connected");
def->passwd = virXMLPropString(node, "passwd");
@@ -3846,6 +3856,28 @@ virDomainGraphicsAuthDefParseXML(xmlNodePtr node, virDomainGraphicsAuthDefPtr de def->expires = 1; }
+ if (connected) { + int action = virDomainGraphicsAuthConnectedTypeFromString(connected); + if (action < 0) { + virDomainReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("unknown connected value %s"),
Do we want to allow parsing "default"? If not, then change this to 'if (action <= 0)'.
@@ -1755,7 +1760,7 @@ qemuDomainChangeGraphicsPasswords(struct qemud_driver *driver, ret = qemuMonitorSetPassword(priv->mon, type, auth->passwd ? auth->passwd : defaultPasswd, - NULL); + auth->connected ? virDomainGraphicsAuthConnectedTypeToString(auth->connected) : NULL);
Style - this results in a long line. It might be nicer to do: const char *connected = NULL; if (auth->connected) connected = virDomainGraphicsAuthConnectedTypeToString(auth->connected); ... qemuMonitorSetPassword(priv->mon, type, auth->passwd ? auth->passwd : defaultPasswd, connected); This is a new XML feature, but has missed the rc1 freeze, so v2 should not be applied until after the 0.9.2 release, although you can post it for review before then. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org