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 <jfehlig@xxxxxxxx> --- src/xenconfig/xen_xl.c | 18 ++++++++++-------- tests/xlconfigdata/test-spice.cfg | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/xenconfig/xen_xl.c b/src/xenconfig/xen_xl.c index 7f3cd89..2e9294c 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,13 +697,15 @@ xenFormatXLSpice(virConfPtr conf, virDomainDefPtr def) return -1; if (graphics->data.spice.auth.passwd) { + if (xenConfigSetInt(conf, "spicedisable_ticketing", 0) < 0) + return -1; + + if (xenConfigSetString(conf, "spicepasswd", + graphics->data.spice.auth.passwd) < 0) + return -1; + } else { if (xenConfigSetInt(conf, "spicedisable_ticketing", 1) < 0) return -1; - - if (graphics->data.spice.auth.passwd && - xenConfigSetString(conf, "spicepasswd", - graphics->data.spice.auth.passwd) < 0) - return -1; } if (xenConfigSetInt(conf, "spiceagent_mouse", diff --git a/tests/xlconfigdata/test-spice.cfg b/tests/xlconfigdata/test-spice.cfg index b2b9742..d89f2ba 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 -- 1.8.4.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list