Commit Graph

4296 Commits

Author SHA1 Message Date
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
Armin Novak e0e72f9c28 [cmake] use CMAKE_MSVC_RUNTIME_LIBRARY
* Increase required CMake version to 3.15 (windows only)
* Use
  https://cmake.org/cmake/help/latest/prop_tgt/MSVC_RUNTIME_LIBRARY.html#prop_tgt:MSVC_RUNTIME_LIBRARY
  to select windows runtime
2023-11-16 10:40:04 +01:00
David Fort d9fda957e7 [build] fix windows build under mingw
The path to resource file was wrong.
2023-11-13 19:43:44 +01:00
Martin Fleisz ad44573164 cient/common: Apply GatewayCredentialsSource setting read from rdp files 2023-11-09 13:54:20 +01:00
akallabeth f0709d00a9 [channel,rail] move client_rail_server_start_cmd
the function needs access to channel internals, so move to channel
2023-11-07 14:42:56 +01:00
Armin Novak 16c4ede603 [client,common] add custom line parser option
freerdp_client_settings_parse_command_line_arguments_ex allows supplying
user defined options to be parsed with the default ones from
client/common.
A callback must be implemented to handle the supplied arguments.
2023-11-07 14:11:51 +01:00
Armin Novak 925e2bf5f1 [client,common] print command line sorted
* always sort the command line arguments before listing them.
* merege implementation defined and default arguments before sorting
2023-11-07 14:11:51 +01:00
Armin Novak 70a360bf38 [client,sdl] clear screen on resize
* clear screen on window resize
* redraw window on window resize
2023-11-06 08:48:49 +01:00