[libvirt] [PATCH 3/4] xenconfig: fix spicepasswd handling

Jim Fehlig jfehlig at suse.com
Fri May 8 22:00:43 UTC 2015


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 at suse.com>
---
 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




More information about the libvir-list mailing list