From: Jim Fehlig Date: Thu, 23 Apr 2015 22:00:45 +0000 (-0600) Subject: xenconfig: fix spicepasswd handling X-Git-Tag: v1.2.16-rc1~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a460295f4e3b1e21354bc8035eb761b9bc2bf3fa;p=thirdparty%2Flibvirt.git xenconfig: fix spicepasswd handling The logic related to spicedisable_ticketing and spicepasswd was inverted. As per man xl.cfg(5), 'spicedisable_ticketing = 1' means no passwd is required. On the other hand, a passwd is required if 'spicedisable_ticketing = 0'. Fix the logic and produce and error if 'spicedisable_ticketing = 0' but spicepasswd is not provided. Also fix the spice cfg test file. Signed-off-by: Jim Fehlig --- diff --git a/src/xenconfig/xen_xl.c b/src/xenconfig/xen_xl.c index 19a2698848..92c12bf3d7 100644 --- a/src/xenconfig/xen_xl.c +++ b/src/xenconfig/xen_xl.c @@ -192,9 +192,9 @@ xenParseXLSpice(virConfPtr conf, virDomainDefPtr def) if (xenConfigGetBool(conf, "spicedisable_ticketing", &val, 0) < 0) goto cleanup; - if (val) { - if (xenConfigCopyStringOpt(conf, "spicepasswd", - &graphics->data.spice.auth.passwd) < 0) + if (!val) { + if (xenConfigCopyString(conf, "spicepasswd", + &graphics->data.spice.auth.passwd) < 0) goto cleanup; } @@ -697,12 +697,14 @@ xenFormatXLSpice(virConfPtr conf, virDomainDefPtr def) return -1; if (graphics->data.spice.auth.passwd) { - if (xenConfigSetInt(conf, "spicedisable_ticketing", 1) < 0) + if (xenConfigSetInt(conf, "spicedisable_ticketing", 0) < 0) return -1; - if (graphics->data.spice.auth.passwd && - xenConfigSetString(conf, "spicepasswd", - graphics->data.spice.auth.passwd) < 0) + if (xenConfigSetString(conf, "spicepasswd", + graphics->data.spice.auth.passwd) < 0) + return -1; + } else { + if (xenConfigSetInt(conf, "spicedisable_ticketing", 1) < 0) return -1; } diff --git a/tests/xlconfigdata/test-spice.cfg b/tests/xlconfigdata/test-spice.cfg index b2b9742fed..d89f2bad9a 100644 --- a/tests/xlconfigdata/test-spice.cfg +++ b/tests/xlconfigdata/test-spice.cfg @@ -25,6 +25,6 @@ spice = 1 spicehost = "127.0.0.1" spiceport = 590 spicetls_port = 500 -spicedisable_ticketing = 1 +spicedisable_ticketing = 0 spicepasswd = "thebeast" spiceagent_mouse = 0