From 6ba1503b6aa36ac73f5e1b67e9c905e89c8e2955 Mon Sep 17 00:00:00 2001 From: matt335672 <30179339+matt335672@users.noreply.github.com> Date: Thu, 8 May 2025 11:51:32 +0100 Subject: [PATCH] Disable vmconnect mode for non-vsock connections --- libxrdp/xrdp_iso.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libxrdp/xrdp_iso.c b/libxrdp/xrdp_iso.c index 5e2cae89..c3c72b18 100644 --- a/libxrdp/xrdp_iso.c +++ b/libxrdp/xrdp_iso.c @@ -72,6 +72,17 @@ xrdp_iso_create(struct xrdp_mcs *owner, struct trans *trans) self = (struct xrdp_iso *) g_malloc(sizeof(struct xrdp_iso), 1); self->mcs_layer = owner; self->trans = trans; + + // See if we're running in vmconnect mode on this connection + struct xrdp_client_info *client_info = &(self->mcs_layer->sec_layer->rdp_layer->client_info); + if (client_info->vmconnect && trans->mode != TRANS_MODE_VSOCK) + { + char desc[MAX_PEER_DESCSTRLEN]; + g_sck_get_peer_description(trans->sck, desc, sizeof(desc)); + LOG(LOG_LEVEL_INFO, "Disabling vmconnect mode for connection from %s", + desc); + client_info->vmconnect = 0; + } return self; }