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
Armin Novak
0082b048a9
[security] drop 2.x from supported versions
2026-02-23 10:34:05 +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
Armin Novak
042d0dfd77
[channel,smartcard] fix logging issues
2026-02-20 12:04:57 +01:00
Armin Novak
43f30eb03c
[channels,smartcard] refactor channel handling
...
* Eliminate global sSmartcard instance
* Add logging to device create/init/destroy
* Add logging to context create/destroy
* Do not release context when a device is initialized.
2026-02-20 11:07:49 +01:00
Armin Novak
e6172762aa
[server,proxy] use default threadpool
...
Do not create a threadpool per smartcard channel instance. This is
overkill and does not really improve performance, just wastes resources.
2026-02-20 11:02:34 +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
33a8b879eb
[utils,smartcard] stop context thread on cancel all
...
When cancelling all smartcard context related operations also trigger
smartcard_call_context_signal_stop to terminate all related threads.
2026-02-20 10:04:41 +01:00
Armin Novak
0caa0fb4f6
[client,sdl] make logging less verbose
2026-02-20 10:04:41 +01:00
Armin Novak
98f37bdf8c
[channel,urbdrc] fix warnings
2026-02-20 10:04:37 +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