Commit Graph

5154 Commits

Author SHA1 Message Date
matt335672 bafd7eb2df login screen: Use fastpath updates if available
If output fastpath is enabled, use TS_FP_UPDATE_BITMAP rather than
TS_UPDATE_BITMAP for the login screen.
2025-10-27 10:47:19 +00:00
matt335672 1c1a5ebe0f Merge pull request #3600 from matt335672/rfx_segv
Ignore Frame ACKs when the encoder is deleted
2025-10-21 12:02:27 +01:00
matt335672 43a0c91aa2 Merge pull request #3632 from matt335672/add_fuse_root_report_max_free
Add FuseRootReportMaxFree option
2025-10-15 16:20:58 +01:00
matt335672 a14443119f Merge pull request #3637 from AlexTMjugador/fix/unitialized-pam-tty-item
Fix `PAM_TTY` item being set to uninitialized data in PAM userpass lib
2025-10-15 16:06:11 +01:00
Alejandro González 0ae672d200 Fix PAM_TTY item being set to uninitialized data in PAM userpass lib
The local variable it referenced was never initialized before use. I
replaced it with a reference to the seemingly intended `SERVICE`
preprocessor constant, which is also used in the `pam_start` call
slightly above.
2025-10-13 21:18:13 +02:00
matt335672 4d2c4ae8a5 Add FuseRootReportMaxFree option
Add an option to allow effectively disable file system space checks for
some file managers before copying files to remote drives.

This is a temporary solution. A better solution is to provide each
remote drive with its own mountpoint, so that the xrdp FUSE filesystem
becomes POSIX compliant.
2025-10-06 11:45:43 +01:00
matt335672 c83da5c6b6 Merge pull request #3616 from matt335672/sslkeylogfile
Allow TLS pre-master secrets to be recorded
2025-09-15 19:54:06 +01:00
matt335672 733990e9ed Pre-master secret file: Change location for permission setting
Coverity scan picked up on the result on g_chmod_hex() not being
checked. This call has now been moved to the place where the file is
checked for writeability, as we only really need to make it when the
file is created.
2025-09-15 18:28:35 +01:00
matt335672 7f6899567b Allow TLS pre-master secrets to be recorded
This allows for RDP sessions to be easily decrypted within Wireshark
2025-09-12 11:55:19 +01:00
matt335672 976a708599 Merge pull request #3612 from matt335672/code_improvements
Code improvements
2025-09-11 12:19:36 +01:00
matt335672 127a95e254 struct xrdp_session: Remove void * pointers
void * pointers in xrdp_session are replaced with pointers to
incomplete types. This allows us to remove a very large number of casts
related to these members in libxrdp.c
2025-09-09 15:16:32 +01:00
matt335672 0a13316e6a ms-rdpbcgr.h: Rename incorrect slow path constants
Rename the defines from [MS-RDPBCGR] 2.2.9.1.1.3.1 to match
the documentation.
2025-09-09 15:15:46 +01:00
matt335672 2759680b8b ms-rdpbcgr.h: Rename incorrect PDUTYPE2_ defines
Rename the defines from [MS-RDPBCGR] 2.2.8.1.1.1.2 to
match the documentation.
2025-09-09 15:14:28 +01:00
matt335672 557b580cb0 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.
2025-09-09 15:11:45 +01:00
matt335672 aade869fb7 Merge pull request #3607 from matt335672/fix_incorrect_control_pdu_vals
Fix more inconsistencies with [MS-RDPBCGR]
2025-09-06 10:04:35 +01:00
matt335672 b56cb03254 Merge pull request #3606 from matt335672/fill_in_deactivateall
Fill in all fields for TS_DEACTIVATE_ALL_PDU
2025-09-06 10:04:08 +01:00
matt335672 fa6ed3c702 Fix more inconsistencies with [MS-RDPBCGR] 2025-09-05 12:19:56 +01:00
matt335672 4c8f2abf6d Fill in all fields for TS_DEACTIVATE_ALL_PDU 2025-09-05 11:42:44 +01:00
matt335672 a09b4c7589 Merge pull request #3602 from matt335672/priv_fixes
[Resubmit] Improve support for running xrdp without privileges
2025-09-01 10:09:49 +01:00
matt335672 e38a5d0d7d Wording change following review 2025-09-01 09:55:14 +01:00
matt335672 1b1e2317ff xrdp: Don't try to drop privs if we are already unprivileged 2025-08-29 11:33:19 +01:00
matt335672 0afefbbc46 Ignore Frame ACKs when the encoder is deleted
Ignore late frame ACKs from the client if the encoder is mssing.
2025-08-29 11:06:04 +01:00
matt335672 436a61e854 Correct sense of test
issue with 2a022ad681 uncovered
during Wayland testing on Trixie
2025-08-26 12:25:27 +01:00
matt335672 2a022ad681 Fix Coverity regression
Fix Coverity regression introduced by 0ff175c85e
2025-08-26 10:20:26 +01:00
matt335672 5d31c81220 Merge pull request #3595 from matt335672/pam_groups_regression
[devel] Fix regression in PAM groups handling
2025-08-25 14:29:56 +01:00
matt335672 4ae0cb75b9 Fix regression in PAM groups handling
Commit 991770cc5d re-introduced
a problem which was earler fixed in
4183d8ddbf. This commit fixes the
regression so that pam_group.so on Linux now works again.

(cherry picked from commit c2b3cc6fc27c8c354ec39eac016cceb05430370d)
2025-08-25 13:22:31 +01:00
matt335672 b1fffbc9ab Merge pull request #3592 from matt335672/vnc_support_forwarded_resize
Vnc support forwarded resize
2025-08-22 14:45:59 +01:00
matt335672 0ff175c85e Add support for forwarded resize request to VNC module
This feature was added to the RFB community wiki on 2020-12-22. See
commit a6dab64825b2ce4e9b47b8c9541619b94b7d908b in the rfbproto
repository
2025-08-22 12:29:20 +01:00
matt335672 3700867e87 Add timers module
Allows a polled timer to be set for a future event. The timeout
values are suitable for passing to g_obj_wait() or poll().
2025-08-22 12:29:20 +01:00
matt335672 d8bce01e45 Merge pull request #3585 from matt335672/fix_stray_carriage_return
Fix stray carriage returns in xrdp-sesadmin output
2025-08-11 10:03:07 +01:00
matt335672 7b4d673c94 Fix stray carriage returns in xrdp-sesadmin output
The ctime() function adds a carriage return to its output, and this
has not properly been taken into account with recent additions.
2025-08-11 09:50:41 +01:00
matt335672 214110a56f Merge pull request #3583 from matt335672/devel_fix_macos_black_screen
Fix VNC backend regression
2025-08-05 10:17:09 +01:00
matt335672 51cc4f50a2 Fix VNC backend regression
Fix a regression introduced in v0.10.x, where it became impossible to
connect to a VNC server which did not support the ExtendedDesktopSize
encoding.

(cherry picked from commit 6b25bdb7db487ff73152643815d55977d7a7efda)
2025-08-05 10:06:31 +01:00
matt335672 f3cd14fd61 Merge pull request #3581 from matt335672/fix_null_text_to_clipboard
Allow for empty UTF8_STRING to be pasted
2025-08-04 11:33:30 +01:00
matt335672 8099299ab0 Allow for empty UTF8_STRING to be pasted
The current code doesn't allow for an empty string to be pasted to the
clipboard on the X11 side.  This is done by some lock screen programs
to prevent information leakage.
2025-08-04 11:25:54 +01:00
matt335672 1c854e8afe Merge pull request #3576 from matt335672/mac_fixes
Get getgrouplist() compiling on MacOS
2025-07-23 11:49:51 +01:00
matt335672 21f663150e Get getgrouplist() compiling on MacOS
(cherry picked from commit 846a268cdcb691adf51e039b21ff201226b6b47b)
2025-07-23 11:38:11 +01:00
matt335672 6d8af8591d Merge pull request #3574 from matt335672/deepin20_build_error
Fix compilation failure in Deepin 20 (glibc < 2.38)
2025-07-23 10:35:38 +01:00
matt335672 416a5e66e5 Fix compilation failure in Deepin 20 2025-07-23 09:56:31 +01:00
matt335672 3d244ec306 Merge pull request #3567 from matt335672/close_on_reconnect
Close on reconnect
2025-07-21 14:37:16 +01:00
matt335672 159947ca9b Minor logging improvement 2025-07-21 11:30:14 +01:00
matt335672 f371876e8c Set XRDP_CLIENT_xx variables for the reconnect script 2025-07-21 11:30:14 +01:00
matt335672 cd98b013f1 Add logging of connect/disconnect times
on connection, client IP and name are passed from xrdp to sesman to
sesexec, and then back to sesman again.

xrdp-sesadmin can now access the connection data from sesman
2025-07-21 11:30:14 +01:00
matt335672 ac95cdffc3 Rename client_info hostname to client_name
This name better matches the name from [MS-RDPBCGR]. Also, the size
of the UTF-8 buffer allocated for the client name is not large
enough for some of the names which could potentially be passed across
in UTF-16 from the client.
2025-07-21 11:30:14 +01:00
matt335672 db50a27089 Remove unnecessary include from session.h 2025-07-21 11:30:14 +01:00
matt335672 d88cf53453 Add CCP support to sesexec
sesexec can now tell the xrdp process to exit, and is aware when
the xrdp process exits.
2025-07-21 11:30:14 +01:00
matt335672 b5ba5635e1 Replace unneeded callback data value 2025-07-21 11:30:14 +01:00
matt335672 d015535065 Add CCP support to xrdp
This allows sesexec to send a reason for a connection close
request to xrdp.

xrdp is also updated to support server initiated disconnection sequences
from [MS-RDPBCGR] 1.3.1.4, along with reporting a reason to the client
for the disconnection.
2025-07-21 11:30:14 +01:00
matt335672 7433ded30d Use correct symbolic names for TS_SET_ERROR_INFO_PDU 2025-07-21 11:30:14 +01:00
matt335672 d09ebb2d10 Add initial CCP to libipm 2025-07-21 11:30:14 +01:00