|
@@ -45,6 +45,16 @@ static int vncws_start_tls_handshake(struct VncState *vs)
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
+ if (vs->vd->tls.x509verify) {
|
|
|
+ if (vnc_tls_validate_certificate(vs) < 0) {
|
|
|
+ VNC_DEBUG("Client verification failed\n");
|
|
|
+ vnc_client_error(vs);
|
|
|
+ return -1;
|
|
|
+ } else {
|
|
|
+ VNC_DEBUG("Client verification passed\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
VNC_DEBUG("Handshake done, switching to TLS data mode\n");
|
|
|
qemu_set_fd_handler2(vs->csock, NULL, vncws_handshake_read, NULL, vs);
|
|
|
|