@@ -116,6 +116,7 @@ static int protocol_client_vencrypt_auth(VncState *vs, uint8_t *data, size_t len
return 0;
}
+ qio_channel_set_name(QIO_CHANNEL(tls), "vnc-server-tls");
VNC_DEBUG("Start TLS VeNCrypt handshake process\n");
object_unref(OBJECT(vs->ioc));
vs->ioc = QIO_CHANNEL(tls);
@@ -67,6 +67,8 @@ gboolean vncws_tls_handshake_io(QIOChannel *ioc G_GNUC_UNUSED,
return TRUE;
}
+ qio_channel_set_name(QIO_CHANNEL(tls), "vnc-ws-server-tls");
+
VNC_DEBUG("Start TLS WS handshake process\n");
object_unref(OBJECT(vs->ioc));
vs->ioc = QIO_CHANNEL(tls);
@@ -113,6 +115,7 @@ gboolean vncws_handshake_io(QIOChannel *ioc G_GNUC_UNUSED,
}
wioc = qio_channel_websock_new_server(vs->ioc);
+ qio_channel_set_name(QIO_CHANNEL(wioc), "vnc-ws-server-websock");
object_unref(OBJECT(vs->ioc));
vs->ioc = QIO_CHANNEL(wioc);
@@ -3108,6 +3108,9 @@ static gboolean vnc_listen_io(QIOChannel *ioc,
graphic_hw_update(vs->dcl.con);
sioc = qio_channel_socket_accept(QIO_CHANNEL_SOCKET(ioc), &err);
if (sioc != NULL) {
+ qio_channel_set_name(QIO_CHANNEL(sioc),
+ ioc != QIO_CHANNEL(vs->lsock) ?
+ "vnc-ws-server" : "vnc-server");
qio_channel_set_delay(QIO_CHANNEL(sioc), false);
vnc_connect(vs, sioc, false,
ioc != QIO_CHANNEL(vs->lsock));
@@ -3824,6 +3827,7 @@ void vnc_display_open(const char *id, Error **errp)
}
vs->is_unix = saddr->type == SOCKET_ADDRESS_KIND_UNIX;
sioc = qio_channel_socket_new();
+ qio_channel_set_name(QIO_CHANNEL(sioc), "vnc-reverse");
if (qio_channel_socket_connect_sync(sioc, saddr, errp) < 0) {
goto fail;
}
@@ -3831,6 +3835,7 @@ void vnc_display_open(const char *id, Error **errp)
object_unref(OBJECT(sioc));
} else {
vs->lsock = qio_channel_socket_new();
+ qio_channel_set_name(QIO_CHANNEL(vs->lsock), "vnc-listen");
if (qio_channel_socket_listen_sync(vs->lsock, saddr, errp) < 0) {
goto fail;
}
@@ -3839,6 +3844,7 @@ void vnc_display_open(const char *id, Error **errp)
if (vs->ws_enabled) {
vs->lwebsock = qio_channel_socket_new();
+ qio_channel_set_name(QIO_CHANNEL(vs->lwebsock), "vnc-ws-listen");
if (qio_channel_socket_listen_sync(vs->lwebsock,
wsaddr, errp) < 0) {
object_unref(OBJECT(vs->lsock));
@@ -3883,6 +3889,7 @@ void vnc_display_add_client(const char *id, int csock, bool skipauth)
sioc = qio_channel_socket_new_fd(csock, NULL);
if (sioc) {
+ qio_channel_set_name(QIO_CHANNEL(sioc), "vnc-server");
vnc_connect(vs, sioc, skipauth, false);
object_unref(OBJECT(sioc));
}
Ensure that all I/O channels created for VNC are given names to distinguish their respective roles. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- ui/vnc-auth-vencrypt.c | 1 + ui/vnc-ws.c | 3 +++ ui/vnc.c | 7 +++++++ 3 files changed, 11 insertions(+)