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 <jfehlig@suse.com>
This commit is contained in:
Jim Fehlig 2015-04-23 16:00:45 -06:00
parent e21b1180a9
commit a460295f4e
2 changed files with 10 additions and 8 deletions

View File

@ -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;
}

View File

@ -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