Commit Graph

17493 Commits

Author SHA1 Message Date
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
akallabeth
d4fc9d5327 [client,common] auto reconnect abort early on cancel 2023-05-23 08:51:41 +02:00