summaryrefslogtreecommitdiff
path: root/ui/spice-core.c
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2013-10-16 17:52:33 +0200
committerGerd Hoffmann <kraxel@redhat.com>2013-10-17 12:25:25 +0200
commit764eb39d1b6f614e9734ea3ed1b7dcf6c3aaa260 (patch)
treecbf51eed72a3b0faaca57d9b033577de406b0728 /ui/spice-core.c
parent26defe81f6a878f33e0aaeb1df4d0d7022c929ca (diff)
downloadqemu-764eb39d1b6f614e9734ea3ed1b7dcf6c3aaa260.tar.gz
Fix VNC SASL authentication when using a QXL device
ui/vnc.c:vnc_display_open() and spice-server/server/reds.c:do_spice_init() are both calling sasl_server_init(). If spice_server_set_sasl_appname() hasn't been called, spice-server will call it with "spice" as an appname, causing cyrus-sasl to try to use a /etc/sasl2/spice.conf config file rather than the /etc/sasl2/qemu.conf file that QEMU uses. When using -spice sasl on the command line, QEMU properly calls spice_server_set_sasl_appname() to set the SASL appname as "qemu", but when using a QXL device without using SPICE, spice_server_init() is called from qemu_spice_add_interface() without setting the appname to "qemu", which then causes the VNC code to try to use spice.conf instead of qemu.conf. Signed-off-by: Christophe Fergeau <cfergeau@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/spice-core.c')
-rw-r--r--ui/spice-core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ui/spice-core.c b/ui/spice-core.c
index 79020a105f..1976b712ba 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -832,6 +832,7 @@ int qemu_spice_add_interface(SpiceBaseInstance *sin)
* With a command line like '-vnc :0 -vga qxl' you'll end up here.
*/
spice_server = spice_server_new();
+ spice_server_set_sasl_appname(spice_server, "qemu");
spice_server_init(spice_server, &core_interface);
qemu_add_vm_change_state_handler(vm_change_state_handler, NULL);
}