From 557b580cb01964ca0de286c4865aaf27c785e845 Mon Sep 17 00:00:00 2001 From: matt335672 <30179339+matt335672@users.noreply.github.com> Date: Tue, 9 Sep 2025 12:00:12 +0100 Subject: [PATCH] ms-rdpbcgr.h : Rename incorrect pointer update constants Rename the defines from [MS-RDPBCGR] 2.2.9.1.1.4 and 2.2.9.1.1.4.3 to match the documentation. --- common/ms-rdpbcgr.h | 18 ++++++++++-------- libxrdp/libxrdp.c | 14 +++++++------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/common/ms-rdpbcgr.h b/common/ms-rdpbcgr.h index 52d32f64..7526cd63 100644 --- a/common/ms-rdpbcgr.h +++ b/common/ms-rdpbcgr.h @@ -542,16 +542,18 @@ ) /* Server Pointer Update PDU: messageType (2.2.9.1.1.4) */ -/* TODO: to be renamed */ -#define RDP_POINTER_SYSTEM 1 /* TS_PTRMSGTYPE_SYSTEM */ -#define RDP_POINTER_MOVE 3 -#define RDP_POINTER_COLOR 6 -#define RDP_POINTER_CACHED 7 -#define RDP_POINTER_POINTER 8 +#define TS_PTRMSGTYPE_SYSTEM 1 +#define TS_PTRMSGTYPE_POSITION 3 +#define TS_PTRMSGTYPE_COLOR 6 +#define TS_PTRMSGTYPE_CACHED 7 +#define TS_PTRMSGTYPE_POINTER 8 /* System Pointer Update: systemPointerType (2.2.9.1.1.4.3) */ -#define RDP_NULL_POINTER 0 -#define RDP_DEFAULT_POINTER 0x7F00 +/* These may also be defined by freerdp */ +#ifndef SYSPTR_NULL +#define SYSPTR_NULL 0 +#define SYSPTR_DEFAULT 0x7F00 +#endif /* Server Fast-Path Update PDU: action (2.2.9.1.2) */ #define FASTPATH_OUTPUT_ACTION_FASTPATH 0x0 diff --git a/libxrdp/libxrdp.c b/libxrdp/libxrdp.c index fda20fca..45ee867f 100644 --- a/libxrdp/libxrdp.c +++ b/libxrdp/libxrdp.c @@ -748,7 +748,7 @@ libxrdp_send_pointer_system(struct xrdp_session *session, int pointer_type) make_stream(s); init_stream(s, 8192); xrdp_rdp_init_data((struct xrdp_rdp *)(session->rdp), s); - out_uint16_le(s, RDP_POINTER_SYSTEM); + out_uint16_le(s, TS_PTRMSGTYPE_SYSTEM); out_uint16_le(s, 0); /* pad */ out_uint32_le(s, pointer_type); s_mark_end(s); @@ -829,19 +829,19 @@ libxrdp_send_pointer(struct xrdp_session *session, int cache_idx, xrdp_rdp_init_data((struct xrdp_rdp *)session->rdp, s); if ((session->client_info->pointer_flags & 1) == 0) { - out_uint16_le(s, RDP_POINTER_COLOR); + out_uint16_le(s, TS_PTRMSGTYPE_COLOR); out_uint16_le(s, 0); /* pad */ LOG_DEVEL(LOG_LEVEL_TRACE, "Adding header [MS-RDPBCGR] TS_POINTER_PDU " "messageType %d (TS_PTRMSGTYPE_COLOR), pad2Octets ", - RDP_POINTER_COLOR); + TS_PTRMSGTYPE_COLOR); } else { - out_uint16_le(s, RDP_POINTER_POINTER); + out_uint16_le(s, TS_PTRMSGTYPE_POINTER); out_uint16_le(s, 0); /* pad */ LOG_DEVEL(LOG_LEVEL_TRACE, "Adding header [MS-RDPBCGR] TS_POINTER_PDU " "messageType %d (TS_PTRMSGTYPE_POINTER), pad2Octets ", - RDP_POINTER_POINTER); + TS_PTRMSGTYPE_POINTER); out_uint16_le(s, bpp); /* TS_POINTERATTRIBUTE -> xorBpp */ } @@ -992,11 +992,11 @@ libxrdp_set_pointer(struct xrdp_session *session, int cache_idx) else { xrdp_rdp_init_data((struct xrdp_rdp *)session->rdp, s); - out_uint16_le(s, RDP_POINTER_CACHED); + out_uint16_le(s, TS_PTRMSGTYPE_CACHED); out_uint16_le(s, 0); /* pad */ LOG_DEVEL(LOG_LEVEL_TRACE, "Adding header [MS-RDPBCGR] TS_POINTER_PDU " "messageType %d (TS_PTRMSGTYPE_CACHED), pad2Octets ", - RDP_POINTER_CACHED); + TS_PTRMSGTYPE_CACHED); } out_uint16_le(s, cache_idx); /* cache_idx */