tiemio
e9b71caa09
[client,x11] add keysym-based fallback for keyboard mapping
...
When using X11 forwarding from non-standard X servers (e.g. XQuartz,
Xephyr), the XKB key names reported by the remote server do not match
the expected evdev names, causing all keys to map to RDP_SCANCODE_UNKNOWN.
Add a keysym-to-scancode lookup table as fallback. Unlike XKB key names,
keysyms are standardized across X11 implementations. The fallback only
fills keycodes that remain unmapped after the XKB pass, so standard
setups are unaffected.
Tested with X11 forwarding from Exegol (Docker) via XQuartz on macOS,
and natively on Linux and macOS.
Related to #4215
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 16:15:43 +01:00
akallabeth
3bbd8497e6
Merge pull request #12353 from akallabeth/rdg-channel-response-optional
...
[core,gateway] parse [MS-TSGU] 2.2.10.5 HTTP_CHANNEL_RESPONSE_OPTIONA…
2026-02-23 12:09:58 +01:00
Armin Novak
55f6827f6d
[client,common] filter some error codes from reconnect
...
Credential and account errors are most likely related to a permanent
error server side. Do not try to reconnect.
2026-02-23 11:55:33 +01:00
Armin Novak
c3c9a723e0
[core,gateway] fix rdg_pkt_type_to_string
2026-02-23 11:28:37 +01:00
Armin Novak
3d8bcd1c71
[core,gateway] parse [MS-TSGU] 2.2.10.5 HTTP_CHANNEL_RESPONSE_OPTIONAL Structure
...
just to avoid warnings about incompletely parsed packets. Currently
unused as no UDP support is implemented.
2026-02-23 11:10:18 +01:00
akallabeth
eef3e85be1
Merge pull request #12350 from akallabeth/sdl-legacy
...
[client,sdl] fix sdl_Pointer_New
2026-02-23 08:56:51 +01:00
Armin Novak
5f62aa11c1
[client,sdl] fix sdl_Pointer_New
...
reset ptr->data after free.
2026-02-23 08:52:01 +01:00
akallabeth
ce72584855
Merge pull request #12347 from akallabeth/progressive-fix
...
[codec,progressive] refine progressive decoding
2026-02-21 17:06:25 +01:00
Armin Novak
1dde0b3eeb
[codec,progressive] refine progressive decoding
...
Refinement of 1a7a4c508c that might
produce glitches.
2026-02-20 17:45:18 +01:00
akallabeth
549febe685
Merge pull request #12345 from akallabeth/proxy-config-fix
...
Proxy config fix
2026-02-20 15:59:31 +01:00
Armin Novak
9dc3e9fbe4
[server,proxy] clone user/doman/password
...
add missing elements of struct to copy
2026-02-20 15:32:25 +01:00
akallabeth
37ace4ddc7
Merge pull request #12338 from akallabeth/winpr-nodiscard-optional
...
[cmake] Define WINPR_DEFINE_ATTR_NODISCARD
2026-02-20 10:26:04 +01:00
Armin Novak
262dade595
[cmake] Define WINPR_DEFINE_ATTR_NODISCARD
...
* Do not define WINPR_ATTR_NODISCARD if WINPR_DEFINE_ATTR_NODISCARD is
not defined.
* Define WINPR_DEFINE_ATTR_NODISCARD via CMake to enable this for
internal use only
2026-02-20 09:01:54 +01:00
akallabeth
6a983751b6
Merge pull request #12336 from akallabeth/urbdrc-select-fix
...
[channel,usb] fix message parsing and creation
2026-02-19 22:52:30 +01:00
akallabeth
1546f2e32d
Merge pull request #12335 from akallabeth/win32-signal
...
Win32 signal
2026-02-19 22:52:05 +01:00
Armin Novak
e8099c493d
[utils,signal] implement windows handlers
2026-02-19 22:27:14 +01:00
Armin Novak
a1ebab4192
[utils,signal] split handlers per platform
2026-02-19 22:27:11 +01:00
akallabeth
aa08548cbe
Merge pull request #12334 from akallabeth/x11-leak-fix
...
[client,x11] fix XGetWindowProperty return handling
2026-02-19 22:23:37 +01:00
Armin Novak
db3dcf57b1
[client,x11] fix XGetWindowProperty return handling
2026-02-19 21:59:15 +01:00
Armin Novak
0890f24ebc
[channel,usb] fix message parsing and creation
...
* 2.2.10.3 TS_URB_SELECT_INTERFACE_RESULT was generated incorrect
* 2.2.9.4 TS_URB_PIPE_REQUEST OutputBuffer check was wrong
2026-02-19 20:22:23 +01:00
akallabeth
caa0736f94
Merge pull request #12329 from akallabeth/rdtk-attr-nodiscard
...
[rdtk,nodiscard] mark rdtk API nodiscard
2026-02-19 16:32:01 +01:00
Armin Novak
69200a7217
[rdtk] default to OFF in all builds
...
Since this is now optional (and was never really used for much) disable
it unless explicitly enabled.
2026-02-19 16:18:37 +01:00
Armin Novak
f4c991f902
[server,shadow] make rdtk optional
2026-02-19 16:18:32 +01:00
Armin Novak
73419a3a29
[rdtk,nodiscard] mark rdtk API nodiscard
2026-02-19 13:19:26 +01:00
akallabeth
ef6611c809
Merge pull request #12331 from akallabeth/shadow-fixes
...
Shadow fixes
2026-02-19 12:23:16 +01:00
Armin Novak
dbef19705b
[server,shadow] clean up code, check returns
...
* Fix return value checks
* Mark internal functions [[nodiscard]]
* Refactor x11 backend to simplify locking checks
2026-02-19 12:23:02 +01:00
Armin Novak
33bcf76950
[winpr,collections] fix Queue and MessageQueue
...
EnsureCapacity was nulling the wrong elements, this commit rectifies
that.
2026-02-19 12:07:42 +01:00
akallabeth
dc6d4b17cb
Merge pull request #12330 from akallabeth/shadow-fix
...
[server,shadow] fix return and parameter checks
2026-02-19 08:58:39 +01:00
Armin Novak
56d6c97a41
[proxy,modules] mark functions [[nodiscard]]
2026-02-19 08:57:50 +01:00
Armin Novak
86327cba6f
[server,shadow] fix return and parameter checks
2026-02-19 08:49:33 +01:00
akallabeth
51e66d7bf0
Merge pull request #12322 from akallabeth/msg-queue-fix
...
[winpr,utils] ensure message queue capacity
2026-02-18 15:58:55 +01:00
Armin Novak
b08892fb9c
[winpr,utils] improve TestQueue
...
properly test queue fill, drain and resize
2026-02-18 15:43:40 +01:00
Armin Novak
d48452faf3
[winpr,utils] Add Queue_Capacity
2026-02-18 15:43:40 +01:00
Armin Novak
b78cb455cb
[winpr,queue] improve queue management
...
* Fix Queue_EnsureCapacity reallocation handling, ensure queue->tail is
properly updated.
* Fix allocation behaviour, use growthFactor * 32 as block size.
* Add doxygen for Queue_New
2026-02-18 15:43:39 +01:00
Armin Novak
c0d477d278
[winpr,utils] improve TestMessageQueue
...
properly test queue fill, drain and resize
2026-02-18 15:32:04 +01:00
Armin Novak
57dfd75231
[winpr,utils] add MessageQueue_Capacity
2026-02-18 14:26:03 +01:00
Armin Novak
c9b72743e3
[winpr,utils] ensure message queue capacity
...
the capacity should always be larger than what is actually used.
2026-02-18 14:26:03 +01:00
Armin Novak
3b286a923d
[winpr,stream] improve return checks in Stream_EnsureCapacity
...
* Properly check all return values and propagate them back to caller
* Simplify new stream size calculation
2026-02-18 14:26:03 +01:00
akallabeth
6e59663401
Merge pull request #12323 from akallabeth/resource-fix
...
Resource fix
2026-02-18 13:49:28 +01:00
Armin Novak
e05252cdea
[codec,dsp] fix duplicate NULL checks
2026-02-18 13:24:50 +01:00
Armin Novak
48769060aa
[server,shadow] simplify locking
...
use a wrapper function holding the locks, so no error conditions need to
be checked and the lock is released unconditionally.
2026-02-18 13:23:48 +01:00
Armin Novak
5475aeecf1
[client,common] fix mask for freerdp_client_handle_touch
2026-02-18 13:23:48 +01:00
Armin Novak
72c4c14918
[gdi,shape] fix gdi_FillRect checks
2026-02-18 13:23:47 +01:00
Armin Novak
ab1675f2cb
[gdi,graphics] fix gdi_Glyph_BeginDraw return checks
2026-02-18 13:15:56 +01:00
akallabeth
7e486348e9
Merge pull request #12320 from akallabeth/rdpdr-simplify
...
Rdpdr simplify
2026-02-17 16:51:05 +01:00
Armin Novak
cf86ec9ed0
[gdi] fix handling of empty regions
...
Do not abort if an empty update region is found, ignore it.
2026-02-17 16:38:36 +01:00
Armin Novak
d015ba58de
[winpr,collections] fix sign warnings
2026-02-17 16:38:35 +01:00
Armin Novak
d20f9af0e8
[client,sdl] fix single window dynamic screen updates
2026-02-17 16:38:35 +01:00
Armin Novak
5f10ae9599
[channels,rdpdr] fix IRP handling
...
* clean up IRP creation
* Properly handle each IRP, call irp->Complete or irp->Discard only once
for each IRP
* For each channel split IRP handling, one function prepares the data
and a single evaluate function later calls irp->Complete or irp->Discard
2026-02-17 16:38:31 +01:00
Armin Novak
66d84e7f45
[client,sdl] fix a memory leak on startup
2026-02-17 16:14:15 +01:00