From 318eba1c4ba369f0b7500a54593baa19c9ec038f Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Mon, 11 Mar 2024 21:08:05 +0900 Subject: [PATCH 1/6] Update NEWS for v0.9.25 --- NEWS.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/NEWS.md b/NEWS.md index 99a5b3c452..ae1adb8a9d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,31 @@ +# Release notes for xrdp v0.9.25 (2024/03/11) +* Running xrdp and xrdp-sesman on separate hosts is still supported by this release, but is now deprecated. This is not secure. A future v1.0 release will replace the TCP socket used between these processes with a Unix Domain Socket, and then cross-host running will not be possible. + +## General announcements + +_This is the last v0.9.x version which is released regularly. v0.9.x will be maintained for a while but less actively. New releases will happen only when severe security vulnerabilities or critical bugs are found._ + +We have created a fund on [Open Collective](https://opencollective.com/xrdp-project). Support us if you like xrdp! Direct donations to each developer via GitHub Sponsors are also welcomed. + +## Security fixes +No new security fixes in this release. + +## Bug fixes +* Backport touchpad inertial scrolling (#2364 #2424 #2948). + +## New features +* If the client announces support for the Image RemoteFX codec it is logged (back-port of #2946) + +## Internal changes +* FreeBSD CI version bumped to 13.2 from 12.4 (#2897) +* Some test timeouts have been increased for slow CI machines (#2903) + +## Known issues +* On-the-fly resolution change requires the Microsoft Store version of Remote Desktop client but sometimes crashes on connect (#1869) +* xrdp's login dialog is not relocated at the center of the new resolution after on-the-fly resolution change happens (#1867) + +----------------------- + # Release notes for xrdp v0.9.24 (2023/12/30) * Running xrdp and xrdp-sesman on separate hosts is still supported by this release, but is now deprecated. This is not secure. A future v1.0 release will replace the TCP socket used between these processes with a Unix Domain Socket, and then cross-host running will not be possible. From a74747f16237075ccb41fa071525d05bd297013b Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Mon, 11 Mar 2024 21:08:13 +0900 Subject: [PATCH 2/6] Bump version to v0.9.25 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index e2e4d63da1..0991203f37 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ # Process this file with autoconf to produce a configure script AC_PREREQ(2.65) -AC_INIT([xrdp], [0.9.24], [xrdp-devel@googlegroups.com]) +AC_INIT([xrdp], [0.9.25], [xrdp-devel@googlegroups.com]) AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in) AM_INIT_AUTOMAKE([1.7.2 foreign]) AC_CONFIG_MACRO_DIR([m4]) From 14c21566dc83368a2860ecb007896cd4eb546d31 Mon Sep 17 00:00:00 2001 From: sefler Date: Mon, 14 Nov 2022 20:13:50 +0800 Subject: [PATCH 3/6] Disabel touch events on XVNC session Fixes: #2993 (cherry picked from commit e97a66593bf6f7ef8d8ae567ab53586b6bb54b35) --- xrdp/xrdp_mm.c | 1 - xrdp/xrdp_types.h | 8 ++++++++ xrdp/xrdp_wm.c | 10 ++++------ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/xrdp/xrdp_mm.c b/xrdp/xrdp_mm.c index c27c2341b3..df78dbb07a 100644 --- a/xrdp/xrdp_mm.c +++ b/xrdp/xrdp_mm.c @@ -55,7 +55,6 @@ xrdp_mm_chansrv_connect(struct xrdp_mm *self, const char *ip, const char *port); static void xrdp_mm_connect_sm(struct xrdp_mm *self); - /*****************************************************************************/ struct xrdp_mm * xrdp_mm_create(struct xrdp_wm *owner) diff --git a/xrdp/xrdp_types.h b/xrdp/xrdp_types.h index b794890b08..4acaa23635 100644 --- a/xrdp/xrdp_types.h +++ b/xrdp/xrdp_types.h @@ -32,6 +32,14 @@ #define MAX_NR_CHANNELS 16 #define MAX_CHANNEL_NAME 16 +/* Code values used in 'xrdp_mm->code=' settings */ +#define XVNC_SESSION_CODE 0 +#define XRDP_SESSION_CODE 10 +#define XORG_SESSION_CODE 20 + +/* To check whether touch events has been implemented on session type 'mm' */ +#define XRDP_MM_IMPLEMENTS_TOUCH(mm) ((mm)->code != XVNC_SESSION_CODE) + struct source_info; /* lib */ diff --git a/xrdp/xrdp_wm.c b/xrdp/xrdp_wm.c index 97173496d3..b95c151abd 100644 --- a/xrdp/xrdp_wm.c +++ b/xrdp/xrdp_wm.c @@ -29,8 +29,6 @@ #include "log.h" #include "string_calls.h" - - /*****************************************************************************/ struct xrdp_wm * xrdp_wm_create(struct xrdp_process *owner, @@ -1806,7 +1804,7 @@ xrdp_wm_process_input_mouse(struct xrdp_wm *self, int device_flags, * The negative number is represented by complement. */ delta = (device_flags & WheelRotationMask) | ~WheelRotationMask; - if (delta != 0) + if (delta != 0 && XRDP_MM_IMPLEMENTS_TOUCH(self->mm)) { // Use nature scrolling, up direction is negative. xrdp_wm_mouse_touch(self, TOUCH_TWO_FINGERS_UP, delta); @@ -1819,7 +1817,7 @@ xrdp_wm_process_input_mouse(struct xrdp_wm *self, int device_flags, else { delta = device_flags & WheelRotationMask; - if (delta != 0) + if (delta != 0 && XRDP_MM_IMPLEMENTS_TOUCH(self->mm)) { xrdp_wm_mouse_touch(self, TOUCH_TWO_FINGERS_DOWN, delta); } @@ -1852,7 +1850,7 @@ xrdp_wm_process_input_mouse(struct xrdp_wm *self, int device_flags, * The negative number is represented by complement. */ delta = (device_flags & WheelRotationMask) | ~WheelRotationMask; - if (delta != 0) + if (delta != 0 && XRDP_MM_IMPLEMENTS_TOUCH(self->mm)) { // Use nature scrolling, right direction is negative. xrdp_wm_mouse_touch(self, TOUCH_TWO_FINGERS_RIGHT, delta); @@ -1865,7 +1863,7 @@ xrdp_wm_process_input_mouse(struct xrdp_wm *self, int device_flags, else { delta = device_flags & WheelRotationMask; - if (delta != 0) + if (delta != 0 && XRDP_MM_IMPLEMENTS_TOUCH(self->mm)) { xrdp_wm_mouse_touch(self, TOUCH_TWO_FINGERS_LEFT, delta); } From 82bf205ef511504e20ae1f2bea87feac7080abf1 Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Wed, 13 Mar 2024 09:47:02 +0900 Subject: [PATCH 4/6] Remove XRDP_SESSION_CODE which is no longer used --- xrdp/xrdp_types.h | 1 - 1 file changed, 1 deletion(-) diff --git a/xrdp/xrdp_types.h b/xrdp/xrdp_types.h index 4acaa23635..1f9a85665f 100644 --- a/xrdp/xrdp_types.h +++ b/xrdp/xrdp_types.h @@ -34,7 +34,6 @@ /* Code values used in 'xrdp_mm->code=' settings */ #define XVNC_SESSION_CODE 0 -#define XRDP_SESSION_CODE 10 #define XORG_SESSION_CODE 20 /* To check whether touch events has been implemented on session type 'mm' */ From 999dc3f968281c155fea5e4e71dacd7882f1745b Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Wed, 13 Mar 2024 13:29:43 +0900 Subject: [PATCH 5/6] Update NEWS for v0.9.25.1 --- NEWS.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/NEWS.md b/NEWS.md index ae1adb8a9d..8a107585dc 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,19 @@ +# Release notes for xrdp v0.9.25.1 (2024/03/13) + +This release fixes a bug that occurred in v0.9.25 where scrolling did not work in the Xvnc backend. + +Thanks to @bsmojver reporting the issue and testing! + +## General announcements +_This is the last v0.9.x version which is released regularly. v0.9.x will be maintained for a while but less actively. New releases will happen only when severe security vulnerabilities or critical bugs are found._ + +We have created a fund on [Open Collective](https://opencollective.com/xrdp-project). Support us if you like xrdp! Direct donations to each developer via GitHub Sponsors are also welcomed. + +## Bug fixes +* Mouse wheel scrolling in Xvnc session no longer works in 0.9.25 (#2993 #2994) + +----------------------- + # Release notes for xrdp v0.9.25 (2024/03/11) * Running xrdp and xrdp-sesman on separate hosts is still supported by this release, but is now deprecated. This is not secure. A future v1.0 release will replace the TCP socket used between these processes with a Unix Domain Socket, and then cross-host running will not be possible. From 41c79932c8743aa0240a04dff6956a2af907766f Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Wed, 13 Mar 2024 13:30:06 +0900 Subject: [PATCH 6/6] Bump version to v0.9.25.1 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 0991203f37..7b90a2c24d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ # Process this file with autoconf to produce a configure script AC_PREREQ(2.65) -AC_INIT([xrdp], [0.9.25], [xrdp-devel@googlegroups.com]) +AC_INIT([xrdp], [0.9.25.1], [xrdp-devel@googlegroups.com]) AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in) AM_INIT_AUTOMAKE([1.7.2 foreign]) AC_CONFIG_MACRO_DIR([m4])