mirror of
https://github.com/mii443/qemu.git
synced 2025-12-03 11:08:25 +00:00
Store VNC auth scheme per-client as well as per-server
A future patch will introduce a situation where different clients may have different authentication schemes set. When a new client arrives, copy the 'auth' and 'subauth' fields from VncDisplay into the client's VncState, and use the latter in all authentication functions. * ui/vnc.h: Add 'auth' and 'subauth' to VncState * ui/vnc-auth-sasl.c, ui/vnc-auth-vencrypt.c, ui/vnc.c: Make auth functions pull auth scheme from VncState instead of VncDisplay Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
committed by
Anthony Liguori
parent
e69ae5c49a
commit
7e7e2ebc94
@@ -538,8 +538,8 @@ void start_auth_sasl(VncState *vs)
|
||||
|
||||
#ifdef CONFIG_VNC_TLS
|
||||
/* Inform SASL that we've got an external SSF layer from TLS/x509 */
|
||||
if (vs->vd->auth == VNC_AUTH_VENCRYPT &&
|
||||
vs->vd->subauth == VNC_AUTH_VENCRYPT_X509SASL) {
|
||||
if (vs->auth == VNC_AUTH_VENCRYPT &&
|
||||
vs->subauth == VNC_AUTH_VENCRYPT_X509SASL) {
|
||||
gnutls_cipher_algorithm_t cipher;
|
||||
sasl_ssf_t ssf;
|
||||
|
||||
@@ -570,8 +570,8 @@ void start_auth_sasl(VncState *vs)
|
||||
#ifdef CONFIG_VNC_TLS
|
||||
/* Disable SSF, if using TLS+x509+SASL only. TLS without x509
|
||||
is not sufficiently strong */
|
||||
|| (vs->vd->auth == VNC_AUTH_VENCRYPT &&
|
||||
vs->vd->subauth == VNC_AUTH_VENCRYPT_X509SASL)
|
||||
|| (vs->auth == VNC_AUTH_VENCRYPT &&
|
||||
vs->subauth == VNC_AUTH_VENCRYPT_X509SASL)
|
||||
#endif /* CONFIG_VNC_TLS */
|
||||
) {
|
||||
/* If we've got TLS or UNIX domain sock, we don't care about SSF */
|
||||
|
||||
Reference in New Issue
Block a user