Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/neutrinolabs/xorgxrdp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatt335672 <30179339+matt335672@users.noreply.github.com>2021-02-26 14:41:04 +0300
committermatt335672 <30179339+matt335672@users.noreply.github.com>2021-03-09 12:25:28 +0300
commit7ad19813be70f7ba5754217e591b379f2483cf33 (patch)
tree42a74eaba17993c8847211956f4f96ba06f3852c
parent6ba766d5b500e67284349d04e11469fdf84b086a (diff)
Check client_info version from xrdp
-rw-r--r--module/rdpClientCon.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/module/rdpClientCon.c b/module/rdpClientCon.c
index bd25996..97e2906 100644
--- a/module/rdpClientCon.c
+++ b/module/rdpClientCon.c
@@ -839,6 +839,14 @@ rdpClientConProcessMsgClientInfo(rdpPtr dev, rdpClientCon *clientCon)
memcpy(&(clientCon->client_info), s->p - 4, bytes);
clientCon->client_info.size = bytes;
+ if (clientCon->client_info.version != CLIENT_INFO_CURRENT_VERSION)
+ {
+ LLOGLN(0, ("expected xrdp client_info version %d, got %d",
+ CLIENT_INFO_CURRENT_VERSION,
+ clientCon->client_info.version));
+ FatalError("Incompatible xrdp version detected - please recompile");
+ }
+
LLOGLN(0, (" got client info bytes %d", bytes));
LLOGLN(0, (" jpeg support %d", clientCon->client_info.jpeg));
i1 = clientCon->client_info.offscreen_support_level;