This saves a few lines of code and catches the error when: <spice autoport ='yes' defaultMode='any' ..> <channel name='main' mode='secure'/> </spice> is specified with spice_tls = 0 in qemu.conf. Instead of this error in qemuBuildGraphicsSPICECommandLine: error: unsupported configuration: spice secure channels set in XML configuration, but TLS port is not provided an error is reported in qemuProcessSPICEAllocatePorts: error: unsupported configuration: Auto allocation of spice TLS port requested but spice TLS is disabled in qemu.conf Inspired by: https://www.redhat.com/archives/libvir-list/2014-June/msg01408.html --- src/qemu/qemu_process.c | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 570960e..ccc571b 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -3534,7 +3534,8 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, break; case VIR_DOMAIN_GRAPHICS_SPICE_CHANNEL_MODE_ANY: - needTLSPort = true; + if (cfg->spiceTLS) + needTLSPort = true; needPort = true; break; } @@ -3552,28 +3553,16 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, if (needTLSPort || graphics->data.spice.tlsPort == -1) { if (!cfg->spiceTLS) { - /* log an error and fail if tls was specifically - * requested, or simply ignore (don't allocate a port) - * if we're here due to "defaultMode='any'" - * (aka unspecified). - */ - if ((graphics->data.spice.tlsPort == -1) || - (graphics->data.spice.defaultMode - == VIR_DOMAIN_GRAPHICS_SPICE_CHANNEL_MODE_SECURE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Auto allocation of spice TLS port requested " - "but spice TLS is disabled in qemu.conf")); - goto error; - } - } else { - /* cfg->spiceTLS *is* in place, so it makes sense to - * allocate a port. - */ - if (virPortAllocatorAcquire(driver->remotePorts, &tlsPort) < 0) - goto error; - - graphics->data.spice.tlsPort = tlsPort; + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Auto allocation of spice TLS port requested " + "but spice TLS is disabled in qemu.conf")); + goto error; } + + if (virPortAllocatorAcquire(driver->remotePorts, &tlsPort) < 0) + goto error; + + graphics->data.spice.tlsPort = tlsPort; } return 0; -- 1.8.5.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list