Commit Graph

18252 Commits

Author SHA1 Message Date
akallabeth 187001ed55 link executables to static runtime 2024-01-25 09:40:10 +01:00
akallabeth fc47a019df [clang] unify tool detection 2024-01-25 09:40:10 +01:00
akallabeth aa9a9564ac [ci] enable clang-tidy for ci builds 2024-01-25 09:40:10 +01:00
akallabeth 98daeb812e [cmake] add clang-format versions
add new versions of clang-format to detection script
2024-01-25 09:40:10 +01:00
akallabeth 15d9e5e01a [cmake] add clang-tidy support 2024-01-25 09:40:10 +01:00
akallabeth 465745131e [client,sdl] fix verbose logging
only call SDL_DestroyTexture if texture != NULL
2024-01-22 13:09:25 +01:00
Vic Lee f2794daf38 [core,transport] make blocking mode available to transport IO interface. 2024-01-22 12:57:01 +01:00
akallabeth bc23b205b5 [release] start new development cycle 2024-01-19 09:57:41 +01:00
akallabeth bb87d4ca50 [release] update to 3.2.0 2024-01-19 09:57:41 +01:00
akallabeth a387b98d3d changelog 2024-01-19 09:57:41 +01:00
akallabeth 575d42312a [code] improve error checks on free 2024-01-19 09:57:41 +01:00
Armin Novak 8d45b3fa66 [client,mac] key down & up for CAPS and NUM lock 2024-01-19 08:54:05 +01:00
dev feceb1c0f3 [client,mac] fix keyboard state sync
* release all keyboard modifiers on pause
* release/sync keyboard modifier states on resume
* update modifier states on keyDown, keyUp and flagsChanged
2024-01-19 08:54:05 +01:00
Armin Novak db73c562a2 [core,gcc] split update of RDP encryption from gcc
* Update EncryptionLevel and EncryptionMethods before writing GCC data
* Use const rdpSettings* in all GCC write functions
2024-01-19 06:51:30 +01:00
Armin Novak 9729a51cb2 [client,common] add example for use with AzuerAD accounts 2024-01-18 11:22:20 +01:00
Armin Novak a4425d945c [server,proxy] drop capture plugin
the capture plugin was written for FreeRDP2 proxy, which used a
different approach that is no longer working with FreeRDP3.
Drop the module so that we don´t diffuse people into thinking that this
is working.
2024-01-18 11:20:29 +01:00
Armin Novak b4587efad1 [proxy,modules] fix module load check 2024-01-17 11:31:13 +01:00
Armin Novak 939e922936 [codec,planar] check resolution for overflow
If the codec resolution is too large return an error as the internal
buffers would otherwise overflow.
2024-01-16 09:02:58 +01:00
akallabeth a842350177 [core,license] improve logging of failures
* ensure every failure path writes an appropriate log message
* fix compiler warnings (integer sizes, ...)
2024-01-15 13:13:42 +01:00
akallabeth c303e4e8b9 [core,security] ensure length, log failures 2024-01-15 13:13:42 +01:00
akallabeth 55f200f1b5 [core,tpkt] log too large tpkt stream length 2024-01-15 13:13:42 +01:00
akallabeth d5eecda8a3 [crypto,cert] log if empty certificate is read 2024-01-15 13:13:42 +01:00
Armin Novak 5298580bbd [winpr,sspi] properly log all kerberos calls
to ease debugging log each failure of a kerberos related function along
with location and function name
2024-01-15 08:10:30 +01:00
Mariusz Bialonczyk 4c17dfb71d [uwac] output: take a max scale into scaling code
Fix for a hybrid multimonitor configurations:
Previous code was working for me because the display with scale=2
was last on the wayland display list. After restarting it was earlier.
To fix this - just take the highest scale provided by a display.
Similar as eg. here the SDL is doing:
b5bc64aa55/src/video/wayland/SDL_waylandwindow.c (L1170)
2024-01-11 16:00:40 +01:00
Mariusz Bialonczyk 26017c71bd [uwac] input: release pressed keys when loosing window focus
The commit is fixing the problem when eg. a user is pressing some
modifier key to switch from active FreeRDP window and when get back to
that window, it "virtually" has that modifier key pressed, thus leading
to pressing eg. `Win+r` instead of just `r`.
2024-01-11 16:00:40 +01:00
Mariusz Bialonczyk 36e79b449d [uwac] input: fix keyboard "sticky" keys when entering window
The commit is fixing the following problem:
When the freerdp window gets keyboard focus and is notified,
it wrongly process keys which are *held*, not a freshly pressed.

The comment in the code explains it more.
2024-01-11 16:00:40 +01:00
Vic Lee 16206cb505 [channels,drdynvc] Add settings to enable synchronous dynamic channels. 2024-01-11 15:24:55 +01:00
Vic Lee 277ea28926 [channels,rdpgfx] fix potential stack corruption. 2024-01-11 13:44:47 +01:00
efferre79 5b731aca4d command line help should not be part of the log info 2024-01-11 09:12:57 +01:00
Armin Novak 650154b2e7 [channels,rdpgfx] add debug logs for server side
add debug logs for cache import offer and reply
2024-01-10 21:49:38 +01:00
Armin Novak a45e464d6f [client,SDL] check for timer initialized
before manipulating SDL timers check if the SDL subsystem was actually
initialized. Fixes #9736
2024-01-10 19:53:05 +01:00
Armin Novak d1a159c483 [build,mac] FFmpeg --enable-cross-compile 2024-01-10 12:41:34 +01:00
Armin Novak 55f92a329c [build,android] simplify SDK cmake check 2024-01-10 12:41:34 +01:00
Armin Novak 47017af3e4 [build,mac] enable internal RC4, MD4 and MD5 2024-01-10 12:41:34 +01:00
Armin Novak a371309672 [cmake,build] enable wayland on BSD
https://reviews.freebsd.org/differential/changeset/?ref=1272215
2024-01-10 11:42:16 +01:00
akallabeth 78cdb555c5 [winpr,sysinfo] add additional neon check
systems not explicitly handled in IsProcessorFeaturePresent now enable
NEON intrinsics if __ARM_NEON is defined.
Fixes #9746
2024-01-10 09:27:46 +01:00
akallabeth 0e828bd657 [core,peer] properly handle out of sequence PDU
If the peer state machine is in state
CONNECTION_STATE_CAPABILITIES_EXCHANGE_MONITOR_LAYOUT properly check for
available data. If a PDU was received in this state it is an out of
sequence PDU (that might happen during deactivation/reactivation) and
must be parsed.
2024-01-10 08:27:14 +01:00
akallabeth a612463c96 [core,peer] improve logging
log unhandled data in peer_recv_callback as warning if the loop
terminates.
2024-01-10 08:27:14 +01:00
akallabeth 2e42d8ac2b [core,connection] add more logging
log peer->ClientCapabilities execution failures
2024-01-10 08:27:14 +01:00
akallabeth 59ed125eed [server,proxy] add TlsSecLevel option to config
To support legacy targets add the TlsSecLevel configuration option that
is equivalent to the /tls:seclevel option of the client implementations.
This allows automatic configuration of OpenSSL legacy providers if they
are available.
2024-01-09 15:53:22 +01:00
akallabeth af9e74273d [common,assist] improve test to cover full parsing 2024-01-09 15:18:37 +01:00
akallabeth c2f4ad80a5 [common,settings] fix TargetNetAddresses usage
* use a common function to allocate both, TargetNetAddresses and
  TargetNetPorts
* unify handling, utilize helper functions as much as possible
2024-01-09 15:18:37 +01:00
akallabeth f6a208f75e [cmake] generate relative pkgconfig path
generate the relative pkgconfig path from the actual install locations.
fixes #9718
2024-01-05 14:19:34 +01:00
Mariusz Bialonczyk 09c1269962 [uwac] window: fix damage region dimensions (rounding errors) 2024-01-05 14:17:38 +01:00
Mariusz Bialonczyk d56af70dc1 [uwac] input: fix a crash when the pointer_focus is not set yet when starting 2024-01-05 14:17:38 +01:00
Mariusz Bialonczyk 72b6c7096d [uwac] scaling: fix damage surface
Some detailed overview of this change:
I was trying to use the wl_surface_damage_buffer() [1] function, like in
this [2] code, but there were some problems with calling it; even more,
we also need to check the compositor version before calling it.
Next approach was using full damage like described here [3]. This was
working fine, but it was of course suboptimal. Finally: looking at
chromium/ozone code [4] I ended up with correctly calculating the damage
region within surface coordinates.

Refs:
[1] https://wayland-client-d.dpldocs.info/wayland.client.protocol.wl_surface_damage_buffer.html
[2] b01c31b24f/clients/simple-damage.c (L585)
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=1648872#c21
[4] 6763b7710c/ui/ozone/platform/wayland/host/wayland_surface.cc (118)
2024-01-05 14:17:38 +01:00
Mariusz Bialonczyk b14fe531a6 [uwac] window: check for viewporter before invoking wp_viewporter_get_viewport() 2024-01-05 14:17:38 +01:00
Mariusz Bialonczyk 8d661cc85a [uwac] input: fix cursor scaling
Fixes #9687
2024-01-05 14:17:38 +01:00
Mariusz Bialonczyk f73ecf6000 [uwac] input: pointer_handle_motion: take a scale into account 2024-01-05 14:17:38 +01:00
Mariusz Bialonczyk c29ba79851 [uwac] add scaling support using `viewporter` protocol
Wayland compositors can support the wp_viewporter protocol,
which allows for the mapping of arbitrarily sized buffer
regions to output surfaces.
This result in correct scaling on HiDPI outputs with scaling
enabled.
2024-01-05 14:17:38 +01:00