提交 35c63329 编写于 作者: C Christophe Fergeau 提交者: Gerd Hoffmann

Error out when tls-channel option is used without TLS

It's currently possible to setup spice channels using TLS when
no TLS port has been specified (ie TLS is disabled). This cannot
work, so better to error out in such a situation.
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
上级 339a475f
...@@ -511,6 +511,12 @@ static int add_channel(const char *name, const char *value, void *opaque) ...@@ -511,6 +511,12 @@ static int add_channel(const char *name, const char *value, void *opaque)
int rc; int rc;
if (strcmp(name, "tls-channel") == 0) { if (strcmp(name, "tls-channel") == 0) {
int *tls_port = opaque;
if (!*tls_port) {
error_report("spice: tried to setup tls-channel"
" without specifying a TLS port");
exit(1);
}
security = SPICE_CHANNEL_SECURITY_SSL; security = SPICE_CHANNEL_SECURITY_SSL;
} }
if (strcmp(name, "plaintext-channel") == 0) { if (strcmp(name, "plaintext-channel") == 0) {
...@@ -680,7 +686,7 @@ void qemu_spice_init(void) ...@@ -680,7 +686,7 @@ void qemu_spice_init(void)
spice_server_set_playback_compression spice_server_set_playback_compression
(spice_server, qemu_opt_get_bool(opts, "playback-compression", 1)); (spice_server, qemu_opt_get_bool(opts, "playback-compression", 1));
qemu_opt_foreach(opts, add_channel, NULL, 0); qemu_opt_foreach(opts, add_channel, &tls_port, 0);
if (0 != spice_server_init(spice_server, &core_interface)) { if (0 != spice_server_init(spice_server, &core_interface)) {
error_report("failed to initialize spice server"); error_report("failed to initialize spice server");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册