Commit Graph

4303 Commits

Author SHA1 Message Date
akallabeth
e53dc3dabb [client,x11] fix X11 access during +auth-only
fixes #9946
2024-03-08 11:13:05 +01:00
David Fort
aebe9742e0 [client,win32] Child session fixes
It seems like WaitFor[Single|Multiple]Object calls aren't reliable on pipes, especially
on the pipe opened for childSession access. The object can be marked as signaled even if
no data is available, making the connection laggy and unresponsive (nearly unusable in some
cases).
This patch works around that by using ReadFileEx() with overlapped instead of simple
ReadFile() and use asynchronous reads.
2024-03-01 09:46:53 +01:00
akallabeth
9a7d30d174 [clang,tidy] fix a few warnings 2024-02-27 14:15:43 +01:00
akallabeth
43a70ccb90 [client,sdl] use std::filesystem u8string() 2024-02-27 14:10:14 +01:00
akallabeth
f10e8e9fa1 [client,common] fix help printing
do not drop characters on linebreaks.
fixes #9899
2024-02-26 10:26:58 +01:00
akallabeth
f84108010b [client,sdl] use uint32_t instead of SDL_Keymod
the SDL_Keymod enum is not suitable to hold a mask of SDL_Keymod values
2024-02-23 10:02:08 +01:00
akallabeth
517cd69107 [client,sdl] remove not existing docbooc xml 2024-02-23 10:02:08 +01:00
akallabeth
f5704e025f start development cycle 3.3.1-dev0 2024-02-22 15:18:30 +01:00
akallabeth
a1d8b55048 update release to 3.3.0 2024-02-22 15:18:30 +01:00
akallabeth
a2b220f828 [client,sdl] fix smartcard pin dialog result 2024-02-22 13:13:49 +01:00
akallabeth
5d3ffea061 [client,sdl] unify window related operations
Access window related operations only in SdlWindow class
2024-02-22 13:13:49 +01:00
akallabeth
867e663872 [client,sdl] add windowevent-id to string 2024-02-22 13:13:49 +01:00
akallabeth
8492738b0d [client,sdl] tidy up code 2024-02-22 13:13:49 +01:00
akallabeth
acedd305d3 fixed unused-but-set-variable warnings 2024-02-22 12:31:50 +01:00
akallabeth
05e555feb7 fixed unused-variable warnings 2024-02-22 12:31:50 +01:00
akallabeth
43eae6029f [clang-tidy] fix various review warnings 2024-02-22 12:31:50 +01:00
akallabeth
d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +01:00
Armin Novak
62f974a5c2 [client,sdl] add shortcut config file
Allow keyboard shortcuts to be configured via config file.
2024-02-22 12:24:51 +01:00
Armin Novak
0d30b22a3e [client,wayland] add alternate bitmap mime types
add alternate bitmap mime types to clipboard
2024-02-22 09:33:59 +01:00
Armin Novak
ab3f44921c [client,x11] add alternate bitmap mime types
announce alternate mime types to clipboard
2024-02-22 09:33:59 +01:00
MatteoBax
29b38506b9 Fix undeclared identifier ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED 2024-02-21 08:48:55 +01:00
akallabeth
75b1ce8ef6 [client,sdl] relax CriticalSection locking
When disconnecting the SDL client it is sufficient to no longer process
SDL events. Locking the CriticalSection during disconnect might lead to
a deadlock.
2024-02-20 16:31:50 +01:00
akallabeth
f3c0d22005 [client,sdl] thread safe RDP disconnect
When the RDP session is terminated ensure that no more SDL events are
processed as they might try to access RDP context data.
2024-02-20 09:25:33 +01:00
akallabeth
fd49e00f9c [warning] use nullptr for C++ code 2024-02-15 11:49:16 +01:00
akallabeth
b894199f72 [winpr,collections] add generic string clone functions
The ArrayList, HashTable, ... New functions require
void* (*fkt)(const void* ptr) type functions. Provide a generic wrapper
for CHAR and WCHAR strdup to eliminate warnings. Also export a
corresponding free function to avoid issues with runtime
differences.
2024-02-15 11:49:16 +01:00
akallabeth
d0dc657412 [build] delete unused static functions 2024-02-15 11:49:16 +01:00
akallabeth
0e44b2c674 [clang-tidy] clang-analyzer-unix.Malloc 2024-02-15 11:49:16 +01:00
akallabeth
f69e1fe697 [clang-tidy] readability-duplicate-include 2024-02-15 11:49:16 +01:00
akallabeth
0ba995655d [clang-tidy] cppcoreguidelines-init-variables 2024-02-15 11:49:16 +01:00
akallabeth
207def5c56 [clang-tidy] readability-isolate-declaration 2024-02-15 11:49:16 +01:00
akallabeth
e2e6d09256 [cmake] use DEFAULT_DEBUG_OPTION for all 2024-02-13 17:06:00 +01:00
akallabeth
b193f9ab59 [cmake] guard cmake_policy(CMP0091)
only set the policy to NEW if it is defined
2024-02-13 16:22:37 +01:00
Armin Novak
cc558bd4c5 [client,sdl] add missing include 2024-02-10 06:57:34 +01:00
akallabeth
897f0adcae [client,mac] fix CAPS handling
* do not change capslock if state did not change (triggered by multiple
  flagsChanged calls while autorepeat of a pressed key)
* add debug log for flagsChanged
2024-02-07 14:14:21 +01:00
akallabeth
5bb618330d [client,win] DesktopOrientaion is of type UINT16
Fixes #9841, use proper getter for settings key
2024-02-07 08:03:24 +01:00
akallabeth
2fffcd64b9 [winpr] use winpr_strerror instead of strerror
use the wrapper from WinPR to use the best implementation available.
2024-02-06 15:45:47 +01:00
akallabeth
ba8cf8cf21 [build] fix Wmismatched-deallocator warnings
With custom malloc function attributes the fail path in the _New
functions produces warnings due to allocator mismatches. Silence them.
2024-02-05 08:16:55 +01:00
akallabeth
bb42d425ed [gcc,clang] add support for attribute(malloc)
Mark all malloc like functions and add their appropriate free function
to let the compiler complain on mismatches
2024-02-02 15:10:40 +01:00
akallabeth
8b04ab53eb [cmake] disable WITH_WEBVIEW if not build on linux/bsd 2024-01-29 10:01:23 +01:00
akallabeth
902832ca76 [client,common] fix clipboard command line
allow both, +/- and /clipboard style options.
2024-01-29 09:23:58 +01:00
akallabeth
465745131e [client,sdl] fix verbose logging
only call SDL_DestroyTexture if texture != NULL
2024-01-22 13:09:25 +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
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
9729a51cb2 [client,common] add example for use with AzuerAD accounts 2024-01-18 11:22:20 +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
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
akallabeth
2b39afcc7a [client,SDL] optimize map lookup 2024-01-05 09:18:07 +01:00
Armin Novak
87557b1e4e [release] start new development cycle 3.1.1-dev0 2023-12-22 17:29:20 +01:00
Armin Novak
959a195df7 [release] update version to 3.1.0 2023-12-22 17:29:20 +01:00
Armin Novak
a7decba8c2 [cmake] unify common options 2023-12-22 16:21:30 +01:00
Armin Novak
7debd0f621 [cmake] set policy 0091
On windows we need to set the runtime linker settings extra
https://cmake.org/cmake/help/latest/policy/CMP0091.html
2023-12-22 15:37:56 +01:00
Armin Novak
19d3c27e3d [cmake] link SDL only static if explicitly requested 2023-12-22 15:37:56 +01:00
Armin Novak
11d84f067d [client,sdl] fix full static linking 2023-12-22 15:37:56 +01:00
Armin Novak
6009a516dd [client,win] fix executable output name 2023-12-22 15:37:56 +01:00
Armin Novak
175a3ca09a [cmake] do not append EXECUTABLE_SUFFIX to OUTPUT_NAME 2023-12-22 15:37:56 +01:00
Armin Novak
7d641a67b9 [doc,manpage] name manpages versioned
if WITH_BINARY_VERSIONING is activated also version the manpages to
match the binary names
2023-12-22 10:24:09 +01:00
Armin Novak
2b654a8226 [client,sdl] use versioned resource location
if WITH_BINARY_VERSIONING is ON also use versioned resource locations.
2023-12-22 10:24:09 +01:00
Armin Novak
598266b2fc [client,common] add clipboard help text 2023-12-22 10:24:09 +01:00
Armin Novak
6a1a2eb661 [client,common] update manpage helper binary
improve formatting of docbook xml from argument description
2023-12-22 10:24:09 +01:00
Armin Novak
89bd55e1f6 [client,common] improve cmdline help formatter
break on listings (*)
2023-12-22 10:24:09 +01:00
Armin Novak
b04271ae2d [cmake] add executable versioning
optionally append API version to generated binaries
2023-12-21 18:56:51 +01:00
Armin Novak
7f25a7cebf [cmake] provide default project version
each subproject inherits the project version of the top level project
2023-12-21 18:56:51 +01:00
Armin Novak
3e53b3ecce [client,sdl] work around c++ static initialization
wrap the factory map in a function to ensure it is initialized first.
2023-12-21 16:34:04 +01:00
Armin Novak
8fa938f629 [client,sdl] make dialog image support optional 2023-12-21 16:34:04 +01:00
Armin Novak
fcdb1a6fd4 [client,sdl] dialogs respect UseCommonStdioCallbacks
If FreeRDP_UseCommonStdioCallbacks is set do not show connection/error
dialogs but only print to console
2023-12-21 12:26:24 +01:00
Armin Novak
ad0de52ab6 [client,sdl] show error dialog on session quit
if a session is terminated in an unusual way (e.g. not user action) show
an error dialog.
2023-12-21 07:11:12 +01:00
Armin Novak
c395094f73 [client,sdl] fix connection dialog reset
only clean up on sdl thread quit to show error dialogs after the RDP
connection already terminated.
2023-12-21 07:11:12 +01:00
Armin Novak
46179077b9 [client,sdl] reset connection dialog on sdl quit 2023-12-20 23:16:10 +01:00
Armin Novak
c269086765 [client,sdl] show a logo on connection dialog
* Show a icon to indicate the type of message
* Show the FreeRDP logo below the icon
2023-12-20 23:16:10 +01:00
Armin Novak
23f8fd2fee [client,sdl] lock connection dialog access
might happen from different threads.
2023-12-20 23:16:10 +01:00
Armin Novak
3bdaca81d0 [client,sdl] fix c++ static initialization order 2023-12-20 23:16:10 +01:00
Armin Novak
3095814184 [client,sdl] add pre std::filesystem compatibility 2023-12-20 23:16:10 +01:00
Armin Novak
187f562098 [client,sdl] generate binary resources during build 2023-12-20 23:16:10 +01:00
Armin Novak
41665700bb [client,sdl] added resource manager 2023-12-20 23:16:10 +01:00
Armin Novak
c952fae5b1 [client,sdl] add icon to connect dialog 2023-12-20 23:16:10 +01:00
Armin Novak
35d584287d [client,sdl] improve file to array helper 2023-12-20 23:16:10 +01:00
Armin Novak
dd7115889d [client,sdl] improve connection dialog 2023-12-20 23:16:10 +01:00
Armin Novak
765129aacf [client,sdl] improve dialog test drawing 2023-12-20 23:16:10 +01:00
Armin Novak
5e6ca89ded [client,sdl] add SDL quit event wrapper 2023-12-20 23:16:10 +01:00
Armin Novak
a8eaf2a38d [client,sdl] improve dialog button highlighting
move state to buttons or button list
2023-12-20 23:16:10 +01:00
Armin Novak
e6384c06c2 [client,sdl] fix smartcard chooser dialog 2023-12-20 23:16:10 +01:00
Armin Novak
b89f025c5b [client,sdl] hide connection dialog
if another dialog is shown hide the connection dialog.
2023-12-20 23:16:10 +01:00
Armin Novak
caac867c79 [client,sdl] fix ubuntu 20.04 compatibility 2023-12-20 23:16:10 +01:00
Armin Novak
e1de32f9ab [client,sdl] add connection dialog 2023-12-20 23:16:10 +01:00
Armin Novak
49936fc529 [client,common] call RetryDialog on reconnect 2023-12-20 23:16:10 +01:00
Armin Novak
6e718f7958 [client,sdl] add signal termination handler 2023-12-20 23:16:10 +01:00
Armin Novak
2db9e1e258 [client,common] sync AVC444 and AVC444v2 settings 2023-12-20 14:17:05 +01:00
Armin Novak
0bb3e2dc97 [client,common] update documentation for /gfx 2023-12-20 14:17:05 +01:00
Armin Novak
7ba84737ba [client,sdl] wrap sdl windows in c++ class
use RAII for SDL window creation/destruction by wrapping it in
SdlWindow constructor/destructor
2023-12-20 11:24:31 +01:00
Armin Novak
65da185275 [client,sdl] respect -decorations
Disable window borders if requested, fixes #9673
2023-12-20 09:27:39 +01:00
Armin Novak
a7eeb8e1ba [cmake] simplify manpage generation 2023-12-20 09:21:31 +01:00
Armin Novak
000f32d48a [client,x11] rename project to binary 2023-12-20 09:21:31 +01:00
Armin Novak
c064d54cb1 [client,sdl] add manpage 2023-12-20 09:21:31 +01:00
Armin Novak
8df97272b7 [client,sdl] correctly handle AuthenticateEx 2023-12-20 09:07:35 +01:00
Armin Novak
9575f386cd fixed WCHAR constants, use endian safe definitions 2023-12-20 09:03:58 +01:00
Armin Novak
8613613913 [client,common] fix relative mouse event detect
Only send relative mouse events, if the client explicitely enabled them,
the calling function is reporting the events as relative and the server
announced support for it.
2023-12-19 21:26:46 +01:00
David Fort
8d461f40ab [build] fix some warnings 2023-12-19 16:34:41 +01:00
David Fort
4e97cc4dbe [build] fix build without AINPUT channel
If the option was disabled, it was not building.
2023-12-19 16:34:41 +01:00
Nicolas Höft
396e13a928 [client,sdl] Do not disable compositing on Linux
This can be overridden by setting the environment variable
SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR=1
2023-12-16 20:57:53 +01:00
Armin Novak
ed4c1e1685 [client,sdl] unify dialog result wait 2023-12-15 09:11:33 +01:00
Armin Novak
f4bc5e69c2 [client,sdl] handle smartcard logon dialog error 2023-12-15 09:11:33 +01:00
Armin Novak
749da7eefc [client,sdl] add smartcard chooser dialog 2023-12-15 09:11:33 +01:00
st0ne77
8dc01cebb0 [client,sdl] propagate error from auth dialog 2023-12-15 09:11:33 +01:00
Armin Novak
35697c0292 [client,x11] fix segfault due to wrong print function 2023-12-14 14:05:39 +01:00
Armin Novak
4b3a479557 [client,common] do not create useless copy
The command line argument does not need to be copied twice
2023-12-13 14:02:33 +01:00
Armin Novak
3043fca91d [warnings] fixed -Wdiscarded-qualifiers 2023-12-13 13:24:22 +01:00
Armin Novak
d6b7cfc1c2 [warnings] fixed -Wpointer-sign 2023-12-13 13:24:22 +01:00
Armin Novak
fb2a1f61f8 [client,common] fix -Wunused-variable warning 2023-12-13 13:24:22 +01:00
Armin Novak
49c52b1ee8 start 3.0.1-dev0 cycle 2023-12-12 19:36:54 +01:00
Armin Novak
a34fa7c49d release-3.0.0 2023-12-12 19:36:54 +01:00
Armin Novak
67f4dcabdc [git] remove build artifact 2023-12-12 19:36:54 +01:00
Armin Novak
9e9ad3815d fix typos in various places 2023-12-12 19:36:54 +01:00
Armin Novak
d89ef74163 [client,sdl] use SDL timer for display resize
* use SDL timer instead of freerdp implementation
* Disable timer after all events have been processed
2023-12-11 11:59:45 +01:00
Armin Novak
f4fcf3f96f [client,sdl] fix crash #9627
lock SDL context while recreating window structures.
2023-12-11 11:59:45 +01:00
Armin Novak
2b1aae0238 [client,x11] fix maximum number of input events 2023-12-07 10:53:34 +01:00
Armin Novak
6f6c0248f0 [client,common] check for relative mouse events
Added freerdp_client_use_relative_mouse_events to tell the client if the
coordinates should be relative or absolute
2023-12-06 10:45:01 +01:00
dev
dd56308bde [client,mac] Simplify builder
* Build MacFreeRDP as normal application, let the bundling out of
  building
* Add a bunding script allowing to create a MacFreeRDP with all
  dependencies installed
2023-12-05 09:21:23 +01:00
akallabeth
f02375e4ec [client,x11] remove hardware bitmap 2023-12-01 10:18:33 +01:00
akallabeth
99a0a28d77 [client,X11] drop direct glyph mapping 2023-12-01 10:18:33 +01:00
akallabeth
3361116834 [client,x11] drop direct gdi mapping
windows GDI is legacy and can not be properly mapped to X11 equivalents
witout glitches. Drop support for that while preserving XImage/Pixmap
acceleration support.
2023-12-01 10:18:33 +01:00
Armin Novak
2ce7283087 [client,common] enable gfx channel also on /gfx only 2023-11-29 17:50:16 +01:00
Stefan Heinzel
52606929fb 5726 add vsock support for client and server 2023-11-29 15:12:51 +01:00
Stefan Koell
155cd2e561 Fix DPI issue when parent-window specified 2023-11-28 12:25:07 +01:00
akallabeth
615fcc4370 [cmake] prevent in source builds 2023-11-28 12:14:55 +01:00
akallabeth
1b31852d32 [git] remove .gitignore
we do no longer allow in source builds, so remove all the .gitignore
files just hiding generated files
2023-11-28 12:14:55 +01:00
Armin Novak
6547b2dfe7 started 3.0.0-dev6 cycle 2023-11-27 11:04:16 +01:00
Armin Novak
e6fffdb7b0 release 3.0.0-rc0 2023-11-27 11:04:16 +01:00
akallabeth
5b937fb330 [client,common] fix superfluous if 2023-11-27 09:35:58 +01:00
akallabeth
32c730faea [client,common] fix format string 2023-11-27 09:35:58 +01:00
akallabeth
a9c57b6319 [client,x11] fix settings access warning 2023-11-27 09:35:58 +01:00
akallabeth
ed3a1113f5 [client,x11] fix monitor detection 2023-11-27 09:35:58 +01:00
Armin Novak
1e88b2fa37 [client,x11] query correct display 2023-11-27 09:35:58 +01:00
akallabeth
45b41bae72 [client,common] split command line parser switch
* handle larger switch cases in static functions
2023-11-27 09:35:58 +01:00
Duncan Overbruck
50d05d921e [cmdline] add missing return statement 2023-11-25 17:48:01 +01:00
David Fort
137f9fc2f2 [client,win]: warning fixes and opaque settings fixes 2023-11-25 08:00:27 +01:00
dev
89f650b8ae [client,mac] fix opaque settings 2023-11-24 21:23:38 +01:00
Armin Novak
9261f5c001 [client,windows] fix getter for ParentWindowId 2023-11-24 18:19:03 +01:00
akallabeth
dd2d110870 [warnings] fix -Wcast-qual 2023-11-24 18:19:03 +01:00
akallabeth
dd03f49ed2 [client,wayland] fixed wrong settings getter 2023-11-24 18:19:03 +01:00
Armin Novak
704ee8bc4b [settings] add unused values and sign correct keys
* add -1 as unused enum entry
* change key parameter type from size_t to SSIZE_T
2023-11-24 14:54:56 +01:00
Armin Novak
6e6559c41a [settings] fix type mismatch warnings 2023-11-24 14:54:56 +01:00
Armin Novak
81d7558184 [settings] remove obsolete generator script 2023-11-24 14:54:56 +01:00
Armin Novak
593e2bf4a9 [api] fix compiler warnings
check #if defined(__GNUC__)
2023-11-24 14:54:56 +01:00
akallabeth
4e438d1c3e [client] make settings opaque 2023-11-24 14:54:56 +01:00
Martin Fleisz
13d35c8a98 client/common: Return NULL/-1 if settings value was not set 2023-11-23 18:05:19 +01:00
Armin Novak
25035b094d [client,common] support redirectlocation in rdp files 2023-11-22 13:01:10 +01:00
Armin Novak
60ceff95c5 [fflush] remove of unnecessary fflush 2023-11-20 18:00:42 +01:00