Commit Graph

17267 Commits

Author SHA1 Message Date
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
akallabeth 2ec4601669 [cmake,sdl] use option instead of set 2023-05-23 08:51:18 +02:00
akallabeth 27d0da9df0 [cmake] remove duplicate setting for position independent code 2023-05-23 08:51:18 +02:00
akallabeth edce982f9e [cmake] add X11 dependent libraries to detection 2023-05-23 08:51:18 +02:00
akallabeth 3f6ed5ed84 [crypto,cert] fix debug print messages 2023-05-23 08:51:18 +02:00
Armin Novak a8476b8688 [cmake] fix qt5 find_package and linking 2023-05-23 06:04:55 +02:00
Armin Novak 9d5d803730 [cmake] use option instad of set 2023-05-23 06:04:55 +02:00
fifthdegree 449b96adb2 Use popup browser for AAD auth in SDL client
Optionally build the SDL client with Qt WebEngine to create a popup
browser for authentication to AAD. Also change the URL output on the
command line to use the "nativeclient" redirect for easier copy/pasting
of the authorization code.
2023-05-23 06:04:55 +02:00
fifthdegree ba7fdcb5f0 Move alloc_sprintf into the winpr string api 2023-05-23 06:04:55 +02:00
Armin Novak 7832ba2361 [core,transport] properly log failure reason retries exceeded 2023-05-23 05:04:55 +02:00
Armin Novak da38ca3254 [core,server] decrease logging verbosity 2023-05-23 05:04:55 +02:00
Armin Novak a433e1b761 [core,rdp] use a dynamic logger for rdpRdp 2023-05-23 05:04:55 +02:00
akallabeth 9b67ef1a87 [client,common] add command line argument /args-from
This new argument allows reading all command line options from a file or
from stdin. It is a standalone argument and can not be combined with any
other.
2023-05-22 16:17:33 +02:00
Armin Novak b15edda614 [cmake] changed rdpsnd-common to STATIC library 2023-05-22 12:57:16 +02:00
houchengqiu 3e2c5e040f [libfreerdp] add bound check in gdi_surface_bits()
In Windows remote run vulnerabillities exe program, to create rdpgrfx channel, may case Remmina crash.
So, add bound check, check that the paste area is valid, and determine if the picture is in the paste area.
2023-05-22 12:10:29 +02:00
houchengqiu 7fe1f15edd [libfreerdp] add null pointer check in planar_decompress()
In Windows remote run vulnerabillities exe program, to create rdpgrfx
channel, may case Remmina crash.
So, add null pointer check to pSrcData.
2023-05-22 12:10:29 +02:00
houchengqiu 7daaba3c14 [libfreerdp] add bound check in gdi_SolidFill
In Windows remote run vulnerabillities exe program, to create
Micorosoft::Windows::RDS::Graphics channel, case Remmina crash.
So, add bound check, limit the size of the requested rect, no larger than the surface data buffer.
2023-05-22 12:10:29 +02:00
Armin Novak 0ad7480d0e [codec] reset all YUV context data 2023-05-22 11:51:12 +02:00
Armin Novak 05669eff31 [winpr,pool] WINPR_ASSERT thread pool function arguments 2023-05-22 11:51:12 +02:00
Armin Novak 0c7330720f [winpr,crypto] add internal rc4 replacement
RDP relies on RC4 for some operations, so we need these to successfully
log on to windows machines. This is a replacement for use with SSL
libraries that have already deprecated these.
2023-05-17 14:51:58 +02:00
Armin Novak 06bd759c64 [winpr,crypto] use a struct for RC4 context 2023-05-17 14:51:58 +02:00
akallabeth 2d248d1c96 [winpr,sspi] verbosly check NTLM context 2023-05-17 14:51:58 +02:00
akallabeth 93c5058aa5 [winpr,crypto] rc4 allocation check
* check success of winpr_RC4_New
* WINPR_ASSERT context when used
2023-05-17 14:51:58 +02:00
Armin Novak 10f8a7b4e4 [winpr,print] use void* as arguments for dump functions
to avoid casting or type mismatch warnings use void* as pointer to data
for dump functions
2023-05-17 14:19:31 +02:00
Armin Novak d684acb0a3 [crypto,cert] fix update_x509_from_info for OpenSSL3
loading a RSA public key from the parameters was broken, fix with this
commit.
2023-05-17 14:06:58 +02:00
akallabeth 105f0d2366 [channel,audin] move common code to server channel
* manage channel related callbacks with default implementations
* use dynamic logger for server audin channel
2023-05-17 13:33:35 +02:00
Pascal Nowack c5278c874f channels/audin: Rework API to be closer to documentation
The current server side channel handling of AUDIO_INPUT is currently
very constrained:

- Server implementations cannot measure the clients uplink, since the
  Incoming Data PDU is currently unhandled and FreeRDPs DSP handling
  delays the callback call of ReceiveSamples
- Servers currently cannot prefer a different protocol version
- Servers currently cannot change the used format

To solve these issues without running into the risk that some
simplifications constraint certain API usage, rework the current channel
handling to be very close to the documentation.
This means, that all documented API calls can be made by server
implementations and all documented PDUs, that the server side is
expected to receive are just parsed inside FreeRDP and then forwarded to
the API implementation.
2023-05-17 13:33:35 +02:00