Commit Graph

5320 Commits

Author SHA1 Message Date
matt335672 9e1a8d78c2 Merge pull request #3572 from matt335672/cppcheck_2_18
Update to cppcheck 2.18.3
2025-11-03 10:39:57 +00:00
matt335672 c646002779 Code quality: Remove 'struct xrdp_process *' casts
The first argument to libxrdp_init() is a intptr_t / tbus value. This
represents the xrdp instance which is using the library, but this value
is always a 'struct xrdp_process' pointer.

This PR replaces the intptr_t with an incomplete type declaration at
the interface between xrdp and libxrdp.

The original intention was probably to provide some separation from
xrdp and the libxrdp code, but in practice this has turned out not to be
useful.
2025-11-03 10:34:42 +00:00
matt335672 b8e7c6eeb2 cppcheck: Minor bump to 2.18.3 2025-10-31 20:30:24 +00:00
matt335672 5853a781b9 Update to cppcheck 2.18.0 2025-10-31 20:30:24 +00:00
matt335672 854d9489df Merge pull request #3655 from matt335672/coverity_fix
Coverity: Fix CHECKED_RETURN warning
2025-10-31 14:38:04 +00:00
matt335672 d95893a8c3 Coverity: Fix CHECKED_RETURN warning 2025-10-31 14:20:02 +00:00
matt335672 f387522c83 Merge pull request #3653 from matt335672/fix_bsd_confusion
configure: Remove confusion between bsd and enable_bsd symbols
2025-10-30 15:48:55 +00:00
matt335672 e329a34b58 configure: Remove confusion between bsd and enable_bsd symbols 2025-10-30 11:51:16 +00:00
matt335672 0f17ac3b87 Merge pull request #3642 from matt335672/restricted_shell
session management: Allow for restricted shells
2025-10-28 10:13:00 +00:00
matt335672 90a027851a PassShellAsEnv: Update docs 2025-10-28 10:04:03 +00:00
matt335672 6b6edca8ca session management: Allow for restricted shells
Allows the AlternateShell specified by the user in the TS_INFO_PACKET
to be passed to startwm.sh as an environment variable.
2025-10-28 10:04:03 +00:00
jsorg71 23e12403e3 Merge pull request #3647 from jsorg71/daemon_pid
do not delete pid file unless this current pid matches the daemon pid
2025-10-27 11:22:29 -07:00
Jay Sorg 1cecd786f7 do not delete pid file unless this current pid matches the daemon pid 2025-10-27 10:48:14 -07:00
jsorg71 1efcad26f8 Merge pull request #3648 from jsorg71/jpeg_frame_ack
pass frame id back to main thread in jpeg encode
2025-10-27 10:44:34 -07:00
Jay Sorg 74c2cf31d2 pass frame id back to main thread in jpeg encode 2025-10-27 09:48:33 -07:00
matt335672 5d8901d5df Merge pull request #3613 from matt335672/use_fastpath_for_login_screen
Use fastpath for login screen
2025-10-27 11:40:52 +00:00
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