Commit Graph

4569 Commits

Author SHA1 Message Date
metalefty
76242bbf63
GFX: Relegate some logs to LOG_DEVEL (#2939) 2024-02-08 21:09:09 +09:00
Nexarian
8027a42497 More NPE fix 2024-02-02 21:19:49 -05:00
Nexarian
75b41afa04 Fix crash with resizing 2024-02-02 18:53:41 -05:00
jsorg71
33539c1d8b
Gfx mainline merge multimon1 (#2933)
* GFX: work on multimon

* fix for non GFX multimon
2024-02-01 10:28:30 -05:00
matt335672
54acca43cf Resize state machine: A fix and a question (#2929)
* Store EGFX state before entering resize state machine

At present the EGFX state is destroyed by states WMRZ_EGFX_DELETE_SURFACE
through WRMZ_EGFX_DELETE. This means that at WMRZ_EGFX_INITIALIZE we
cannot distinguish between EGFX not being ever used, and EGFX
having been torn down. Consequently, when running non-GFX, we don't
correctly recover the session.

* Allow multiple reasons for suppress_output

Replaces the single boolean for suppress_output with
a bitmask, to allow output to be suppressed for
more than one reason

* Disable output during resize

* Add states to dynamic resize

Adds states to the dynamic resize state machine so we wait for a
Deactivation-Reactivation sequence to finish before sending pointer
updates, etc.

* suppress module output during the dynamic resize

* Add support for dynamic resize to VNC backend

xrdp_mm needs to be informed when a resize has been performed so that
the resize stte machine can be updsate.
2024-01-31 19:08:29 -05:00
matt335672
d9783a9529 Don't pass drdynvc to neutrinoRDP
Since v0.9.9, xrdp has assumed that the "drdynvc" static virtual
channel is available for its exclusive use. With GFX support, it
is necessary to codify this to prevent this sequence of operations:-

- NeutrinoRDP target sends DVC Capabilities Request PDU
- target responds wih DVC Capabilities Response PDU
- xrdp processes this, starting the GFX virtual channel again

In the future, if NeutrinoRDP requires access to virtual channels,
data may somehow need to be passed through to the target while being
parsed and handled appropriately within xrdp.
2024-01-31 19:08:29 -05:00
matt335672
d23d147dc7 Don't enable GFX if client doesn't support 32 BPP
mstsc.exe indicates it supports GFX in the early capability flags, even
if it not able to support 32 BPP. This results in a session failure
if a RDPGFX_CAPS_CONFIRM_PDU is sent on the EGFX virtual channel.
2024-01-31 19:08:29 -05:00
matt335672
e5d455d0be error-check xrdp_mm_egfx_send_planar_bitmap() paths
Without some checking for this call, it's possible for the xrdp
process to never end when the client goes away.
2024-01-31 19:08:29 -05:00
Christopher Pitstick
ccead296e6 Fix service call filter. 2024-01-31 19:08:29 -05:00
Jay Sorg
3fab31c644 GFX: fix multimon login screen drawing 2024-01-31 19:08:29 -05:00
Nexarian
97b2527018 Enabling RFX_PRO key frame handling.
- Also update librfxcodec
2024-01-31 19:08:29 -05:00
Nexarian
2e1f7f1484 Adding KEY_FRAME_REQUESTED parameter. 2024-01-31 19:08:29 -05:00
Nexarian
c08cebb01d Making SHM read only from xup 2024-01-31 19:08:29 -05:00
jsorg71
c961563403 GFX: sort versions, flags to return the highest version we support in… (#2911)
* GFX: sort versions, flags to return the highest version we support in caps advertise

* GFX: simpify swtich in caps_advertise

* GFX: log skipped capability versions in caps_advertise
2024-01-31 19:08:29 -05:00
Nexarian
5293f13f39 Fix resize-on-the-fly by processing memory allocation complete. 2024-01-31 19:08:29 -05:00
Nexarian
1b6ca2245d Fix memory leak and RFX encoder notify 2024-01-31 19:08:29 -05:00
Nexarian
584a894490 Add 0 as valid g_obj_wait timeout instead of having it be equivalent to -1. 2024-01-31 19:08:29 -05:00
Nexarian
63e963daf6 Switching encoder logging statements to LOG not LOG_DEVEL 2024-01-31 19:08:29 -05:00
Nexarian
de2c01ad1d Updating quantization values to remove corruption. 2024-01-31 19:08:29 -05:00
Nexarian
65137e6edb More integration work from mainline_merge_shm
- Introduce functional EGFX caps.
- Prototype of RFX Progressive working.
- Update resizing to work with it.
- Refactoring
2024-01-31 19:08:29 -05:00
Nexarian
afa70e464a Initial rfx progressive integration
- Mostly base functions and utilities necessary to enable RFX
  Progressive
- Add more EGFX work & mode flags.
- Update encoder.
- Does not yet include caps determination to enable RFX progressive
  (yet).
- Update protocol constants
2024-01-31 19:08:29 -05:00
matt335672
8af430e197
Fix regression in using window message names (#2925)
FreeRDP defines macros WM_LBUTTONUP, WM_LBUTTONDOWN, WM_RBUTTONUP
and WM_RBUTTONDOWN. These conflict with the definitions we have in
xrdp_constants.h. Because the FreeRDP system includes followed the local
includes however, the compiler did not emit a diagnostic for this -
see gcc bug #16358.

This PR rearranges the includes for NeutrinoRDP so the macro
redefinitions are flagged by the compiler.
2024-01-31 19:06:59 -05:00
Nexarian
17ba2e01e8 Librfxcodec had a build break. Fixing. 2024-01-22 12:24:19 -05:00
Nexarian
5742e1cafa Updating librfxcodec 2024-01-22 12:11:25 -05:00
matt335672
ec8dd8ad33
Merge pull request #2909 from matt335672/add_clearenv
Improve portability
2024-01-11 14:06:02 +00:00
matt335672
b80f07d2a7 Improve portability
- Use clearenv() if it exists
- Don't rely on <limits.h> being pulled in by <sys/param.h>
- Rename the DEFAULT_TYPE macro in sesrun.c.  This name appears to be
  used on Solaris. It's not a good choice.
2024-01-11 11:16:06 +00:00
matt335672
a547a8b613
Merge pull request #2901 from matt335672/test_suite_add_timeouts
Increase back-stop timeouts for some tests
2024-01-07 14:28:50 +00:00
matt335672
db04b4b54c Increase back-stop timeouts for some tests
The Debian build farm has a number of older and slower machines
which need to run the xrdp test suite.

On these platforms, we occasionally get timeouts where machine load is
high. This results in duplicate issues being raised. It is not obvious
that the issues are duplicates, which wastes time all round.

This commit splits up some test cases into multiple cases and
adds larger timeouts for those cases that are CPU-intensive.
2024-01-04 15:16:23 +00:00
matt335672
db70ce8b8d
Merge pull request #2888 from matt335672/fix_g_strtrim_utf8
Fix g_strtrim() regression
2024-01-02 12:12:32 +00:00
matt335672
62a51dead9 Fix g_strtrim() regression
Commit 36ea4a3 failed to take UTF-8 characters into account on
platforms with signed char.
2024-01-02 11:07:28 +00:00
matt335672
4d03d69125
Merge pull request #2896 from matt335672/update_to_freebsd_13
Bump CI version of FreeBSD to 13.2
2024-01-02 10:55:21 +00:00
matt335672
05c78bb284 Bump CI version of FreeBSD to 13.2 2024-01-02 10:32:17 +00:00
matt335672
7bcaa2a0b9
Merge pull request #2886 from matt335672/cppcheck_2_13
Bump cppchck to v2.13.0
2023-12-23 14:21:26 +00:00
matt335672
c38308a2d9 Bump cppchck to v2.13.0 2023-12-23 13:37:06 +00:00
matt335672
bbd3571d09
Merge pull request #2884 from matt335672/fix_sesman_cpu
Fix session_list scanning where some entries were skipped
2023-12-23 13:20:55 +00:00
matt335672
e529a04d26 Fix session_list scanning where some entries were skipped 2023-12-23 13:10:31 +00:00
metalefty
c65494886d
Merge pull request #2883 from metalefty/funding
Add FUNDING.yml
2023-12-22 14:41:48 +09:00
Koichiro Iwao
1b8e30ad29 Add FUNDING.yml 2023-12-22 14:28:04 +09:00
matt335672
9fbe0ad18c
Merge pull request #2872 from r-a-sattarov/e2k-initial-support
common/arch.h: added e2k arch definition
2023-12-11 20:46:07 +00:00
r-a-sattarov
aa8c651e38 common/arch.h: added e2k arch definition
Ref: https://en.wikipedia.org/wiki/Elbrus_(computer)
2023-12-11 22:34:17 +03:00
matt335672
04db78f6c6
Merge pull request #2864 from matt335672/neutrinordp-sidebutton-click
Neutrinordp sidebutton click
2023-11-27 16:09:26 +00:00
matt335672
c52a173db0 Use symbolic constants in the modules for WM events 2023-11-27 15:42:24 +00:00
Naruhito
e520ce3a5d Proxy extended mouse button 8, 9 events
https://github.com/neutrinolabs/xrdp/pull/2860#issuecomment-1818705074
2023-11-27 15:12:01 +00:00
matt335672
94b1481270
Merge pull request #2863 from matt335672/update_bug_template
Add markdown asking user to read the FAQ before submitting a bug
2023-11-27 09:56:04 +00:00
matt335672
a679b4ed2b Add markdown asking user to read the FAQ before submitting a bug 2023-11-22 16:06:11 +00:00
matt335672
64b347d7ef
Merge pull request #2855 from matt335672/fix_issue_2853
Allow for empty fields in TS_EXTENDED_INFO_PACKET (regression)
2023-11-13 19:24:23 +00:00
matt335672
cdf574cf6c Allow for empty fields in TS_EXTENDED_INFO_PACKET
Some clients appears to be sending cbClientAddress and/or cbClientDir
as 0 in the TS_EXTENDED_INFO_PACKET. This appears to be at odds with
[MS-RDPBCGR] which requires mandatory terminators for these fields.
2023-11-13 10:26:20 +00:00
matt335672
50cff2eb75
Merge pull request #2794 from matt335672/utf_changes_new
Improve Unicode support
2023-11-02 10:57:39 +00:00
matt335672
76d12c50a8
Merge pull request #2838 from matt335672/fix_devredir_ordering
Fix message ordering in devredir
2023-10-26 15:28:10 +01:00
matt335672
7ceff70c1c Fix message ordering in devredir
The drive redirector is not compliant with the message ordering
in [MS-RDPEFS], causing FreeRDP 2.11.2 ro fail on redirecting drives.
2023-10-26 15:17:17 +01:00