[libvirt] [PATCH 8/8] qemu: error out when vnc vncTLSx509secretUUID is unsupported

Ján Tomko jtomko at redhat.com
Wed Jan 16 07:41:50 UTC 2019


Add a capability check to qemuDomainDefValidate.

Signed-off-by: Ján Tomko <jtomko at redhat.com>
---
 src/qemu/qemu_domain.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index da9c4e566d..851cb6d622 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -4127,6 +4127,7 @@ qemuDomainDefValidate(const virDomainDef *def,
                       void *opaque)
 {
     virQEMUDriverPtr driver = opaque;
+    virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
     virQEMUCapsPtr qemuCaps = NULL;
     int ret = -1;
 
@@ -4249,10 +4250,19 @@ qemuDomainDefValidate(const virDomainDef *def,
     if (qemuDomainDefValidateMemory(def, qemuCaps) < 0)
         goto cleanup;
 
+    if (cfg->vncTLS && cfg->vncTLSx509secretUUID &&
+        !virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_TLS_CREDS_X509)) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                       _("encrypted VNC TLS keys are not supported with "
+                         "this QEMU binary"));
+        goto cleanup;
+    }
+
     ret = 0;
 
  cleanup:
     virObjectUnref(qemuCaps);
+    virObjectUnref(cfg);
     return ret;
 }
 
-- 
2.20.1




More information about the libvir-list mailing list