Commit Graph

4462 Commits

Author SHA1 Message Date
Armin Novak
fe4cb6de65
[warnings] fix float/double warnings 2024-09-02 16:20:20 +02:00
akallabeth
5887f8a558
[warnings] suppress warnings
Some warnings can not be solved as they depend on external libraries or
limitations of the C standard.
Suppress these warnings selectively
2024-08-30 15:40:16 +02:00
akallabeth
190929c018
[warnings] fix function pointer casts 2024-08-30 15:40:01 +02:00
akallabeth
bd637c6cd1
[warnings] fix various clang-tidy warnings 2024-08-29 17:13:50 +02:00
akallabeth
500495dc00
[warnings] fix SDL3 related issues 2024-08-29 16:03:51 +02:00
akallabeth
ceae258e37
[warnings] fix clang-tidy issues in clients 2024-08-29 15:34:27 +02:00
akallabeth
9c9d74e920
[warnings] fix redundant casts 2024-08-29 12:03:09 +02:00
akallabeth
15456e1ee1
[warnings] fix implicit widening conversion 2024-08-29 10:47:20 +02:00
akallabeth
1d33095500
[warnings] fix cert-err33-c
Fix unused return values, cast to void if on purpose
2024-08-29 10:19:27 +02:00
Armin Novak
d71af44bb1
[warnings] disable warnings for generated code
* Disable clang-tidy in test build directories
* Disable compiler warnings for test binary directories.

These contain generated code we can not change, so the warnings are just noise
2024-08-28 09:18:30 +02:00
akallabeth
00eb86970d
Merge pull request #10510 from akallabeth/serial-cleanup
Serial cleanup
2024-08-26 13:47:10 +02:00
akallabeth
7054b26916
[channels,parallel] compilation checks
* Only compile channel related command line if enabled
* Warn on unsupported platforms
2024-08-26 13:30:30 +02:00
akallabeth
050eef537a
[client,common] guard /serial argument
only enable if serial redirection support is compiled in
2024-08-26 13:21:13 +02:00
akallabeth
56d660f258
[cmake] mark dependency includes SYSTEM
Mark all dependency include paths SYSTEM so warnings from system headers
are excluded from ci warning statistics
2024-08-26 11:10:49 +02:00
akallabeth
2812775c96
Merge pull request #10504 from akallabeth/sdl-monitors
[client,sdl] add support for /monitors argument
2024-08-23 15:03:46 +02:00
akallabeth
49dc431045
[client,sdl] add support for /monitors argument 2024-08-23 14:00:47 +02:00
akallabeth
ba7fd06ec4
[coverity] fix some warnings
* mostly dead store and identical code branches.
* some possible integer overflows
2024-08-23 12:38:41 +02:00
Armin Novak
17d44e847f
[coverity] fix various warnings 2024-08-21 09:47:34 +02:00
akallabeth
37008506c2
[client,sdl] remove tab from dialog messages 2024-08-20 13:31:41 +02:00
akallabeth
7fe1164d26
Merge pull request #10490 from akallabeth/desktop-resize-deadlock
Desktop resize deadlock
2024-08-20 13:28:04 +02:00
akallabeth
37f9d8a930
[client,wayland] improve VerifyCertificate message
* Use FreeRDP_CertificateCallbackPreferPEM for callbacks
2024-08-20 12:42:59 +02:00
akallabeth
d5d3d8501e
[client,x11] improve VerifyCertificate message
* Use FreeRDP_CertificateCallbackPreferPEM for callbacks
2024-08-20 12:42:57 +02:00
akallabeth
7ea8e63a39
[client,sample] improve VerifyCertificate message
* Use FreeRDP_CertificateCallbackPreferPEM for callbacks
2024-08-20 12:42:54 +02:00
akallabeth
39e8c077d4
[client,sdl] improve VerifyCertificate message
* Use FreeRDP_CertificateCallbackPreferPEM for callbacks
* Add notBefore and notAfter dates to callback messages
2024-08-20 12:42:51 +02:00
akallabeth
e95a813560
[client,common] unify PEM ceritificate string
* Unify PEM data extraction
* Add notBefore and notAfter dates to certificate callback messages
2024-08-20 12:42:49 +02:00
akallabeth
dcbeedb4d4
[client,x11] fix a possible deadlock on desktop resize 2024-08-20 12:41:17 +02:00
Armin Novak
1f95865907
[client,common] ignore empty strings for channels
Ignore empty strings when parsing redirection channel arguments
2024-08-14 14:31:58 +02:00
akallabeth
4523c4ec78
Merge pull request #10472 from akallabeth/clip-rdp-2-rdp-fix
Clip rdp 2 rdp fix
2024-08-13 08:27:35 +02:00
Armin Novak
14c85bafd3
[client,x11] fix RAW clipboard copy 2024-08-12 15:55:26 +02:00
David Fort
4e6f7fb989 [sdl3] fix build against last SDL3 2024-08-12 11:50:02 +02:00
akallabeth
7dc51e1b71
[client,x11] log variable name for XGetAtomName
To better debug issues with calls log the name of the target variable to
allow better tracing which call did fail
2024-08-02 15:12:58 +02:00
akallabeth
2f5570cd67
Merge pull request #10423 from akallabeth/action_script
[client,X11] fix ActionScript
2024-07-25 10:00:26 +02:00
Armin Novak
44b07721ec
[client,X11] fix ActionScript
* Unify script calls
* Update documentation
* Fix home directory
2024-07-25 09:42:03 +02:00
akallabeth
56b50966a3
[client,x11] log all XInternAtom calls 2024-07-25 07:47:40 +02:00
Armin Novak
9e71b423cd
[warnings] fix various compiler warnings 2024-07-24 11:08:20 +02:00
Ilya Matthew Kuvarzin
761c3a807b Fix: Prevent RemoteAPP window minimization on desktop switch in Gnome
- Modified xf_event_PropertyNotify in xf_event.c to check for Gnome session before minimizing the window
- Added the session check logic in a new function IsGnome placed in xf_utils
- This resolves the issue where RemoteAPP windows were unintentionally minimized when switching desktops in Gnome
- Ensured minimal impact on other window managers
2024-07-23 14:56:10 +02:00
akallabeth
1fe61c9432
Merge pull request #10391 from akallabeth/timezone_impro
Timezone improved
2024-07-19 12:45:08 +02:00
akallabeth
6c682c8418
[client,common] add option to set timezone
* /timezone now allows setting the timezone used from a windows timezone
  key name
* /list:timezones now lists all available windows timezone key names
2024-07-19 11:39:46 +02:00
akallabeth
e72bec8441
[client,SDL] fix thread termination order
* Wait in SDL thread until RDP thread has terminated to avoid race
  conditions during autoreconnect
* Fix exit code mappings in case the connection was cancelled
2024-07-19 09:10:32 +02:00
akallabeth
b0320d8068
[client,SDL] fix autoreconnect
retry on handle check failure, not if WaitForMultipleObjects fails
2024-07-18 15:31:24 +02:00
Armin Novak
51204c1433
[client,X11] fix X11 event mask
When reading incremental data for clipboard restore previous event mask
when finished. Fixes #10377
2024-07-17 14:19:58 +02:00
Armin Novak
2ac05d4d4a
[client,X11] X11 locking log with WITH_DEBUG_X11 2024-07-17 11:32:21 +02:00
Armin Novak
71760d6d9a
[client,X11] log XConvertSelection calls 2024-07-17 11:05:57 +02:00
Armin Novak
3f0f1a3bbb
[client,X11] fix duplicate file clipboard clear 2024-07-17 10:41:14 +02:00
Armin Novak
5ebbd39187
[client,X11] prevend duplicate formatID in formatList
When announcing client clipboard formats skip any format already in the
list.
2024-07-17 10:31:14 +02:00
Armin Novak
d9d81d347c
[client,X11] fix clipboard locking 2024-07-17 09:49:54 +02:00
Ondrej Holy
17c95924d7 [client,x11] fix typo in help
There is a typo in the xfreerdp client help. It says "localtion" instead
of "location". Let's fix it.
2024-07-10 07:16:43 +02:00
Frederick Zhang
c79c28348d
[client,common] update /ipv[4|6] help text 2024-07-09 22:47:11 +10:00
akallabeth
194873b78c
[client,common] fix error logging
freerdp_client_command_line_post_filter did log wrong parsing errors.
2024-07-08 14:41:06 +02:00
akallabeth
7c7217dc7c
[client,common] fix typo in command line help 2024-07-08 14:13:56 +02:00
Frederick Zhang
919a692abc
[client,common] fix /ipv4 /ipv6 without :force
As arg->Value is NULL when using /ipv4 or /ipv6 alone, it segfaulted
doing strncmp.
2024-07-05 00:04:32 +10:00
Armin Novak
d3efbe004d [client,x11,sdl] fix manpage generation
* fix name of xfreerdp manpages
* fix name of sdl-freerdp manpages
2024-07-04 12:11:26 +02:00
Armin Novak
3b8a2d3568
[release] start 3.6.2-dev0 cycle 2024-07-04 10:00:24 +02:00
Armin Novak
e767cf3b6c
[release] 3.6.1 2024-07-04 10:00:24 +02:00
akallabeth
2669edf623
start 3.6.1-dev0 cycle 2024-07-03 14:03:28 +02:00
akallabeth
41df7bcded
release 3.6.0 2024-07-03 14:03:28 +02:00
akallabeth
fbc0d161ca
Merge pull request #10335 from akallabeth/command-line-print
[client,common] print failed command line argument
2024-07-03 13:55:36 +02:00
akallabeth
fcb8f39bc5
[client,common] print failed command line argument 2024-07-03 11:22:39 +02:00
akallabeth
46bced61fb
[cmake] fix cross compilation
helper utilities are now compiled on host only
2024-07-02 13:24:38 +02:00
akallabeth
4099bd4e45
[warnings] integer casts/checks 2024-07-02 12:38:00 +02:00
akallabeth
95eefc7fb8
[client,sdl] add_scheme_handler stub for windows 2024-07-02 08:31:51 +02:00
akallabeth
b00b38abc2
Merge pull request #10319 from akallabeth/safe_atom_name_log
[client,X11] log atom numbers passed to XGetAtomName
2024-06-28 11:06:17 +02:00
akallabeth
357a92ce55
[client,X11] log atom numbers passed to XGetAtomName 2024-06-28 09:21:17 +02:00
akallabeth
562fa8a03d
[core,tcp] Improve IPv4 or IPv6 connect
* Fix +ipv6 option, now fall back to IPv4 if no IPv6 entry found
* Add new option ForceIPvX to fail connect if no such entry is found
2024-06-28 09:07:33 +02:00
akallabeth
388ad6b537
[client,common] add support for /kbd:lang:de style
allows mapping of languages to keyboard layouts
2024-06-20 10:27:53 +02:00
akallabeth
fc5ed616c7
[client,sdl] fix typo 2024-06-17 09:14:35 +02:00
akallabeth
711a6603f2
Merge pull request #10267 from akallabeth/sdl-fix
[client,SDL2] fix renderer height
2024-06-08 09:43:00 +02:00
akallabeth
221a442270
[client,sdl] keep hotkey state of keyboard grab
keep the keyboard grab state from:
1. +/-grab-keyboard command line as default
2. toggle this state by hotkey later on
2024-06-08 09:30:28 +02:00
akallabeth
a6abca5e89
[client,SDL2] fix renderer height 2024-06-08 09:08:49 +02:00
akallabeth
04e3fe0b06
[client,sdl] update manpages
* Respect default configuration directory depending on
  WITH_FULL_CONFIG_PATH
* Unify manpage files for SDL2 and SDL3
2024-06-06 11:42:09 +02:00
akallabeth
7aa72a7507
[core,settings] unify configuration paths
* Add new function freerdp_settings_get_config_path to get current
  user configuration directory
* Add CMake option WITH_FULL_CONFIG_PATH (default OFF): If defined, use
  <appdata>/Vendor/Product as config directory, otherwise use
  <appdata>/vendor (lowercase, only if vendor equal to product)
2024-06-06 11:31:22 +02:00
akallabeth
ad83ba2088
[client,sdl3] fix typo in variable 2024-06-06 11:31:12 +02:00
Armin Novak
cedc631b3e
[client,SDL] add windows WebView2 link
Add a CMake script to download and link WebView2 for SDL client
2024-06-05 13:52:10 +02:00
akallabeth
42f1da7132
[client,SDL] add webkit2gtk4.1 support 2024-06-04 12:55:34 +02:00
akallabeth
e569119fa2
Merge pull request #10227 from mjt0k/sdl-kbd-config-once
SDL2: sdl_kbd: parse keyboard config once instead of at each keypress
2024-06-03 11:38:16 +02:00
akallabeth
cdc8d62108
[client,sdl] move parsing of hotkeys to constructor
* implement that for SDL3 just like for SDL2
* rename members to conform to style of file
2024-06-03 11:05:07 +02:00
akallabeth
ee789dee0b
[client,x11] fix floatbar hide 2024-06-03 10:52:38 +02:00
Michael Tokarev
f8cb7d86f6 SDL2: sdl_kbd: parse keyboard config once instead of at each keypress
Currently, sdl-freerdp.json file is parsed at every keypress, which
is just wrong.  Instead, parse it at startup and remember the key
configuration for the whole session.

The same should be done for SDL3 I guess.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2024-05-30 11:53:48 +03:00
akallabeth
3261598d42
[client,sdl] guard USE_COMPILED_RESOURCES
functions only required with USE_COMPILED_RESOURCES should not be
compiled if the option is not set.
2024-05-25 09:17:20 +02:00
akallabeth
d4fc2cdd2f
[client,cmdline] fix inverted frame-ack option 2024-05-24 18:18:19 +02:00
akallabeth
4d79cf2848
[client,common] add command line gfx frame-ack option
expose the option to turn on or off the GFX frame ACK sending.
2024-05-24 11:52:04 +02:00
akallabeth
06598da910
[client,sdl] fix resourcemanager
due to moving to a static class the C++ initializer did no longer work.
add explicit calls for initializers to ensure the generated classes are
referenced.
2024-05-24 09:46:07 +02:00
akallabeth
2efcf1c436
[client,sdl] Use SDL_CreateWindowAndRenderer
Recommendated in https://github.com/libsdl-org/SDL/issues/9076
2024-05-24 08:59:10 +02:00
Armin Novak
41841997cc
[client,cliprdr] send format list msgFlags = 0
only a response message might have msgFlags != 0 set
2024-05-22 16:31:34 +02:00
akallabeth
17bc7b7613
[client,common] add nodelay to dump options
add a new flag nodelay to /dump option to replay dumps as fast as
possible
2024-05-17 10:36:30 +02:00
akallabeth
e72f634fba
[client,sdl] automatically use detected SDL
* Automatically enable detected SDL version
* Abort if no SDL version is detected
2024-05-16 23:07:07 +02:00
akallabeth
ff772084e6
[client,sdl] add assignmen and move operator delete 2024-05-16 20:50:07 +02:00
akallabeth
cc038ad89b
[client,sdl] merge SDL2 and SDL3 projects 2024-05-16 20:34:11 +02:00
akallabeth
35859c81a1
[client,sdl] allow side by side and replacement
Allow SDL2 and SDL3 client to be installed side by side as well as an
option to only install one and name it accordingly
2024-05-16 18:27:44 +02:00
akallabeth
4c4e185b66
[client,sdl] add clipboard support 2024-05-16 18:27:32 +02:00
akallabeth
4a2ebe263b
[client,sdl] update to SDL3
update client for SDL3. Not compatible with SDL2
2024-05-16 18:27:26 +02:00
akallabeth
8281186a6d
[client,sdl] create a copy for SDL3
* Copy SDL2 client to SDL3 as the new version is not API compatible
* Move existing SDL2 client to SDL2 directory
* Move fonts from SDL client to resources folder in top level directory
2024-05-16 18:27:11 +02:00
Ondrej Holy
3f97fb59ad
[client,sdl] add test case for SDL prefs
Let's add test case for SDL prefs functionality. This is to test the
JSON wrapper to ensure it doesn't break something.
2024-05-16 16:51:44 +02:00
akallabeth
632f500f3e
[client,sdl] refactor SdlPref
* Wrap in class
* Allow overriding default configuration file for tests
2024-05-16 15:37:22 +02:00
Ondrej Holy
945c496812
[client,sdl] use WITH_WINPR_JSON instead of WINPR_JSON_FOUND
The WINPR_JSON_FOUND macro is never defined currently. Consequently,
the SDL prefs always use the fallback implementation. Let's use the
WITH_WINPR_JSON instead to really parse the sdl-freerdp.json file.
2024-05-16 11:56:17 +02:00
Ondrej Holy
e197d27c8d
[client,sdl] move prefs to static lib
This is in preparation for the subsequent commit adding test case for
the prefs functionality to avoid building the code twice.
2024-05-16 11:56:13 +02:00
Ondrej Holy
702acc93c6
[client,sdl] remove duplicated include statement 2024-05-16 11:55:58 +02:00
akallabeth
aaded541d9
[core,client] replace cJSON with WinPR wrapper
use the new WinPR JSON wrapper API
2024-05-14 20:45:31 +02:00
akallabeth
1efefceb5c
[core,settings] refactor /network
* add CONNECTION_TYPE_INVALID
* default to CONNECTION_TYPE_AUTODETECT
* allow /network:invalid and /network:0 to disable
2024-05-14 11:18:29 +02:00
akallabeth
a1d8754f1f
[core,autodetect] abort on unexpected message. 2024-05-14 11:07:50 +02:00
Armin Novak
e272eb3966 [warnings] fix Wshadow warnings 2024-05-08 15:30:01 +02:00
Armin Novak
d8cabe84ce [client,X11] check PubSub for NULL 2024-05-08 10:08:08 +02:00
Richard Markiewicz
61d3f1f201 [client,mac] Enable secure restorable state 2024-05-04 11:50:54 +02:00
toreonify
9118551334 Renamed Atom identifiers, reserved names were used 2024-05-04 11:32:39 +02:00
toreonify
6ea047558e Custom context/popup menus stay on screen
Fix maximized/restored window state
Add support for window allowed actions
2024-05-04 11:32:39 +02:00
Armin Novak
c172713c41 [client,sdl] handle dialog on key up event
Handle keyboard input dialog status change on key up event. If handled
on key down event the dialog closes and the key up event is handled on
the next SDL event queue (usually connection dialog cancel)
Fixes #10133
2024-04-24 10:35:22 +02:00
akallabeth
1687a6424a start-3.5.2-dev0 2024-04-22 11:18:39 +02:00
akallabeth
eda5c99686 release-3.5.1 2024-04-22 11:18:39 +02:00
akallabeth
3cf4bac0e8 [client,sdl] implement key remapping 2024-04-19 12:59:01 +02:00
akallabeth
71e78bedd7 [warnings] fixed sign and const
* fix various char/BYTE sign warnings
* fix various const warnings
* fix format string size_t
* remove unused CMake variables
2024-04-18 11:05:58 +02:00
Armin Novak
390762bff9 [client,sdl] initialize member 2024-04-17 18:47:16 +02:00
akallabeth
fdc253e909 start 3.5.1-dev0 cycle 2024-04-16 21:20:04 +02:00
akallabeth
cab5adde26 release-3.5.0 2024-04-16 21:20:04 +02:00
akallabeth
0a0df77c39 [build,ipp] drop support for IPP
Intel Performance Primitives do not have a test setup in FreeRDP and
most likely no longer compile.
2024-04-16 12:44:38 +02:00
Armin Novak
2500fb7bfb [cleanup] refactor some checks 2024-04-15 12:40:01 +02:00
Armin Novak
587175fdb8 [coverity] 1543090 Division or modulo by float zero 2024-04-15 12:40:01 +02:00
Armin Novak
c3939a750c [coverity] 1543120 Check of thread-shared field evades lock acquisition 2024-04-15 12:40:01 +02:00
Armin Novak
30f489c2a0 [cliprdr,common] fix file_context->request_table 2024-04-15 12:40:01 +02:00
Armin Novak
8633a437e0 [coverity] 1543094 Use of auto that causes a copy 2024-04-15 11:30:31 +02:00
Armin Novak
a77a0c45d7 [coverity] 1543261 Not restoring ostream format 2024-04-15 11:30:31 +02:00
Armin Novak
b197ae8a05 [coverity] 1543280 Data race condition 2024-04-15 11:30:31 +02:00
Armin Novak
405a24c200 [coverity] 1543179 Array compared against 0 2024-04-15 11:30:31 +02:00
akallabeth
8267a4c3d6 [client,common] fix missing function return 2024-04-12 12:41:42 +02:00
akallabeth
1232cdbc6a [coverity] 1543092 Dereference before null check 2024-04-12 12:41:42 +02:00
akallabeth
158d26aa91 [coverity] 1543224 Dereference after null check 2024-04-12 12:41:42 +02:00
akallabeth
2477b37128 [warnings,types] fix BOOL assingments 2024-04-12 09:45:09 +02:00
akallabeth
793145b8c5 [coverity] 1543198 Explicit null dereferenced 2024-04-12 09:45:09 +02:00
akallabeth
af1c890295 [coverity] 1543263 Missing unlock 2024-04-12 09:45:09 +02:00
akallabeth
dab58421f1 [coverity] 1543191 Resource leak 2024-04-12 09:45:09 +02:00
akallabeth
f49d753b7f [coverity] 1543200 Resource leak 2024-04-12 09:45:09 +02:00
akallabeth
fbc5dfffac [coverity] 1543183 Resource leak 2024-04-11 12:04:07 +02:00
akallabeth
88bea503fc [coverity] 1543087 Resource leak 2024-04-11 12:04:07 +02:00
akallabeth
80c562d040 [coverity] 1543235 Out-of-bounds access 2024-04-11 12:04:07 +02:00
akallabeth
61e0d122b7 [coverity] 1543235 Out-of-bounds access 2024-04-11 12:04:07 +02:00
akallabeth
4b1bdc622a [x11,client] always use current clipboard owner 2024-04-07 08:59:51 +02:00
akallabeth
7efd75cb01 [client,wlfreerdp] use wm-class for app_id 2024-04-06 09:17:17 +02:00
Martin Fleisz
f62a61886f common: Parse actual value of redirectlocation rdp file setting 2024-04-04 21:20:39 +02:00
akallabeth
1956fffd3d [build,mingw] fix build issues found 2024-04-03 11:53:58 +02:00
Armin Novak
ff92ef4331 [client,windows] clean up clipboard 2024-04-03 10:45:12 +02:00
Ilya Shipitsin
be50010d1d client/Windows/wf_cliprdr.c: handle malloc error 2024-04-03 10:45:12 +02:00
akallabeth
735cb1ec14 [cmake] fix mingw linking 2024-04-03 09:42:44 +02:00
Mathias Lithen
532a3cd1a9 Set res_class on classHints 2024-04-01 09:30:30 +02:00
sasha0552
d864393a8a [client,X11] fix detection of need to use relative movements
Register XI raw masks when MouseUseRelativeMove enabled
Fix duplication of sent events (in previous implementation relative and absolute events were sent at the same time)
Slightly refactor code
2024-03-26 09:20:50 +01:00
akallabeth
8bd1e72dd4 [client,common] guard ainput access with correct guard 2024-03-26 09:20:35 +01:00
sasha0552
c6dd5e45e0 [client,common] fix TS_RELPOINTER_EVENT sending logic
Send relative mouse events using TS_RELPOINTER_EVENT only when capability present
2024-03-22 20:15:24 +01:00
akallabeth
1b2f95dfde [client,common] allow deactivating RAILS hidef mode 2024-03-21 14:26:14 +01:00
akallabeth
678ff144ab [cmake] unify windows resource file generation
* use a macro to add resource files for executables and shared libraries
* use that macro to declare targets
* use that macro to set library/binary versioning
* use that macro to set target output name
* use a macro to create manpages and names
2024-03-20 11:17:18 +01:00
akallabeth
622c688d56 [client,common] adjust command line tests
invalid drive redirection paths are now ignored and no longer create an
error but just a warning message
2024-03-18 13:28:03 +01:00
akallabeth
925b23bef5 [client,common] skip invalid drives to redirect
Fixes #9989: ignore invalid drive (=path) redirections from
configuration, but notify the user with a warning message.
2024-03-18 13:28:03 +01:00
akallabeth
c22d9844a4 [client,common] fix incompatible-pointer-types
use a union to cast to expected types.
2024-03-18 13:27:32 +01:00