mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-09-09 08:17:53 -06:00
vnc: call sasl_server_init() only when required
VNC server is calling sasl_server_init() during startup of QEMU, even if SASL auth has not been enabled. This may create undesirable warnings like "Could not find keytab file: /etc/qemu/krb5.tab" when the user didn't configure SASL on host and started VNC server. Instead, only initialize SASL when needed. Note that HMP/QMP "change vnc" calls vnc_display_open() again, which will initialize SASL if needed. Fix assignment in if condition, while touching this code. Related to: https://bugzilla.redhat.com/show_bug.cgi?id=1609327 Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-id: 20180907063634.359-1-marcandre.lureau@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
6624c38d11
commit
b5dc0d7d56
1 changed files with 8 additions and 7 deletions
9
ui/vnc.c
9
ui/vnc.c
|
@ -3821,9 +3821,6 @@ void vnc_display_open(const char *id, Error **errp)
|
||||||
bool reverse = false;
|
bool reverse = false;
|
||||||
const char *credid;
|
const char *credid;
|
||||||
bool sasl = false;
|
bool sasl = false;
|
||||||
#ifdef CONFIG_VNC_SASL
|
|
||||||
int saslErr;
|
|
||||||
#endif
|
|
||||||
int acl = 0;
|
int acl = 0;
|
||||||
int lock_key_sync = 1;
|
int lock_key_sync = 1;
|
||||||
int key_delay_ms;
|
int key_delay_ms;
|
||||||
|
@ -3963,11 +3960,15 @@ void vnc_display_open(const char *id, Error **errp)
|
||||||
trace_vnc_auth_init(vd, 1, vd->ws_auth, vd->ws_subauth);
|
trace_vnc_auth_init(vd, 1, vd->ws_auth, vd->ws_subauth);
|
||||||
|
|
||||||
#ifdef CONFIG_VNC_SASL
|
#ifdef CONFIG_VNC_SASL
|
||||||
if ((saslErr = sasl_server_init(NULL, "qemu")) != SASL_OK) {
|
if (sasl) {
|
||||||
|
int saslErr = sasl_server_init(NULL, "qemu");
|
||||||
|
|
||||||
|
if (saslErr != SASL_OK) {
|
||||||
error_setg(errp, "Failed to initialize SASL auth: %s",
|
error_setg(errp, "Failed to initialize SASL auth: %s",
|
||||||
sasl_errstring(saslErr, NULL, NULL));
|
sasl_errstring(saslErr, NULL, NULL));
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
vd->lock_key_sync = lock_key_sync;
|
vd->lock_key_sync = lock_key_sync;
|
||||||
if (lock_key_sync) {
|
if (lock_key_sync) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue