From a460295f4e3b1e21354bc8035eb761b9bc2bf3fa Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Thu, 23 Apr 2015 16:00:45 -0600 Subject: [PATCH] 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 --- src/xenconfig/xen_xl.c | 16 +++++++++------- tests/xlconfigdata/test-spice.cfg | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) 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 -- GitLab