Commit Graph

17294 Commits

Author SHA1 Message Date
akallabeth 734ae69756 [winpr] fix some msan warnings
initialize local stack variables
2023-06-07 09:14:45 +02:00
Armin Novak 8ec0b1262e [client,common] add /args-from:env
allow reading command line from a environment variable
2023-06-06 10:39:48 +02:00
Armin Novak b40e20ce85 [gateway,rdg] fix a leak and NULL access in RDG 2023-06-05 15:47:05 +02:00
Armin Novak 1b7b597f02 [cmake] add option to enable/disable building X11 2023-06-05 14:15:03 +02:00
Armin Novak a0fd9cf957 [client,sdl] encapsulate c++ context
to properly initialize c++ us a heap allocated wrapper class
2023-06-05 14:15:03 +02:00
Sergey Bronnikov b1ae467ae2 [libfreerdp/common] Add fuzzing tests
Part of #5063
Closes #6681
2023-06-05 11:28:48 +02:00
Sergey Bronnikov 1c0c804981 [cmake] Introduce a target for building fuzzing tests
Part of #5063
2023-06-05 11:28:48 +02:00
Sergey Bronnikov 2b7f09ea3c [clang-format] remove duplicate option
```
/home/sergeyb/sources/MRG/oss-fuzz/FreeRDP/.clang-format:110:1: error: duplicated mapping key 'ObjCSpaceAfterProperty'
ObjCSpaceAfterProperty: false
^~~~~~~~~~~~~~~~~~~~~~
Error reading /home/sergeyb/sources/MRG/oss-fuzz/FreeRDP/.clang-format: Invalid argument
```
2023-06-05 11:28:48 +02:00
Armin Novak 9a7aa8dbac [core,rdp] log rdp_read_share_control_header
in rdp_read_share_control_header read and log all available header data
before checking remaining length.
2023-06-05 11:07:30 +02:00
akallabeth 00b393c094 [channels,rdpdr] enforce client state checks
Keep track of client channel state and abort on invalid messages for a
certain state
2023-06-05 09:56:43 +02:00
Armin Novak d0bf018e95 [test] fix uninitialized variables in test case 2023-05-31 17:44:41 +02:00
Armin Novak da7c3b688f [client,sdl] use unique_ptr for SDL_Surface et al 2023-05-31 11:29:21 +02:00
Armin Novak 68995ddffb [client,sdl] wrap WinPR event in class 2023-05-31 11:29:21 +02:00
Armin Novak ccbcc4cb65 [client,sdl] wrap critical section in class 2023-05-31 11:29:21 +02:00
Armin Novak 63ed6dc771 [client,sdl] use std::thread 2023-05-31 11:29:21 +02:00
Armin Novak 16cbe8882d [client,sdl] unique_ptr for input 2023-05-31 11:29:21 +02:00
Armin Novak 1a74d832de [client,sdl] unique_ptr for display channel 2023-05-31 11:29:21 +02:00
Armin Novak 324e8c7813 [client,sdl] use SDL_WaitEvent 2023-05-31 11:29:21 +02:00
Armin Novak 3e44efc841 [cmake] use FindX11 from CMake 3.13 2023-05-31 11:05:56 +02:00
akallabeth 28b0821ec6 [cmake] build xfreerdp standalone project 2023-05-31 11:05:56 +02:00
Armin Novak ba98aa0a8c [winpr] add atexit calls for WLog and SSL providers
C11 atexit cleanup handler are used to call cleanup routines for WLog
and SSL on program termination. This removes false positives when using
ASAN runtime memory debugger
2023-05-30 15:42:39 +02:00
Armin Novak 481ba1581c [client,sdl] fixed warning in webview 2023-05-30 15:42:39 +02:00
Armin Novak 4545783dff [client,x11] always only send available clipboard 2023-05-30 13:42:28 +02:00
Armin Novak e3f660e11f [channels,cliprdr] fix sending of empty format list 2023-05-30 13:42:28 +02:00
akallabeth d71c58a04b [core,licensing] allow all SEC_AUTODETECT_REQ messages
follow up to fdcc36dd8d
autodetect messages also seem to be sent over global channel id
instead of message channel id
2023-05-26 11:52:54 +02:00
akallabeth 87b8c25392 [cmake] only check client deps for standalone builds 2023-05-26 11:38:32 +02:00
akallabeth f941a1ec8e [cmake] unify RPATH settings and client deps detection 2023-05-26 11:38:32 +02:00
akallabeth dc5ec9c196 [cmake] sfreerdp-client standalone build 2023-05-26 11:38:32 +02:00
Sergey Bronnikov 3cbef821c0 [cmake] Enable static building
OSS Fuzz strongly recommends static linking for tests [1]. Patch enables
static linking for a fuzzing test added in commit
2ad1469612 ("Add fuzzer for
certificate_data_set_pem()").

1. https://google.github.io/oss-fuzz/further-reading/fuzzer-environment/#runtime-dependencies
2023-05-25 19:39:24 +02:00
Sergey Bronnikov 9b355c3b0c [packaging] fix a typo 2023-05-25 19:39:24 +02:00
akallabeth 98fb56b767 [channels,cliprdr] implement client clipboard direction filter
* Filter remote -> local or local -> remote clipboard depending on
  setting.
* Filter remote -> local or local -> remote file clipboard
  depending on setting.
2023-05-25 16:26:39 +02:00
akallabeth 7288680bdd [client,common] add clipboard feature mask
allow selectivly enabling or disabling clipboard direction and file
support
2023-05-25 16:26:39 +02:00
akallabeth 393577750e [settings] add FreeRDP_ClipboardFeatureMask 2023-05-25 16:26:39 +02:00
akallabeth b8f7b59fff [warnings] fix casts and return 2023-05-24 08:24:32 +02:00
akallabeth 9f2d22c975 [client,sdl] refactor webview 2023-05-24 08:24:32 +02:00
akallabeth 9b112be058 [warnings] fix -Wold-style-cast 2023-05-24 08:24:32 +02:00
akallabeth 4ee6cfe13a [warnings] fix -Wmissing-prototypes 2023-05-24 08:24:32 +02:00
akallabeth 4efc4e769e [warnings] fix -Wunused-label 2023-05-24 08:24:32 +02:00
akallabeth b598386928 [warnings] fix -Wnewline-eof 2023-05-24 08:24:32 +02:00
akallabeth fc78064ec3 [warnings] fix -Wunused-variable 2023-05-24 08:24:32 +02:00
akallabeth 3ff34c03a0 [warnings] fix -Wwritable-strings 2023-05-24 08:24:32 +02:00
akallabeth df76b59da7 [warnings] fix -Wshadow 2023-05-24 08:24:32 +02:00
akallabeth ab677f8abe [warnings] fix -Wempty-translation-unit 2023-05-24 08:24:32 +02:00
akallabeth 9f1b13cf0a [warnings] fix -Wsuggest-override 2023-05-24 08:24:32 +02:00
akallabeth 066276a85a [warnings] fix -Wsometimes-uninitialized 2023-05-24 08:24:32 +02:00
akallabeth 18cde293e8 [warnings] fix -Wmissing-field-initializers 2023-05-24 08:24:32 +02:00
akallabeth c355b2656b [warnings] fix -Wextra-semi 2023-05-24 08:24:32 +02:00
akallabeth 8e51463a7e [warnings] fix -Wzero-as-null-pointer-constant 2023-05-24 08:24:32 +02:00
akallabeth b5fc019c64 [cmake] update clang toolchain 2023-05-24 08:24:32 +02:00
Bernhard Miklautz 3626981d8e new [libfreerdp]: use compile time paths in FreeRDP cmake module
The exported paths for

* FreeRDP_PLUGIN_DIR
* FreeRDP_PROXY_PLUGIN_DIR
* FreeRDP_EXTENSION_DIR

introduced in ddc9e5835f were relative to
the installation of the cmake module because of the use of CMakePackageConfigHelpers.
This could lead to different paths for configuration and runtime -
causing channels not to be found and loaded.

Instead of using paths relative to the cmake module set the paths
configured during configure/compile for plugins and extension.

This way the exported paths match the paths in build-config.h and are the
same used in the pkg-config variables.
2023-05-23 13:02:19 +02:00