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(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org