Commit Graph

17750 Commits

Author SHA1 Message Date
Armin Novak 5be5553e0d [nightly,deb] fix libwebkit2gtk-4.0 name 2023-08-05 08:43:00 +02:00
Armin Novak 4d7762b390 [nightly,deb] add missing dependency 2023-08-05 08:14:57 +02:00
akallabeth 63a2f65618 [codec,rfx] fix possible out of bound read
Allows malicious servers to crash FreeRDP based clients
reported by @pwn2carr
2023-08-04 15:09:59 +02:00
akallabeth 41bd8bd3fb [various] fix integer conversions 2023-08-04 15:07:56 +02:00
akallabeth fee2b10ba1 change version to 3.0.0-dev3 2023-08-04 12:59:11 +02:00
Armin Novak d3e428c51f change version to 3.0.0-beta2 2023-08-04 12:59:11 +02:00
Armin Novak 316ca3f4e0 changelog for 3.0.0-beta2 2023-08-04 12:59:11 +02:00
akallabeth a17b1ecec0 [client,android] use 'text/plain' to access clipboard 2023-08-04 12:59:11 +02:00
akallabeth 22fffdd5ea [freerdp,api] log NULL IFCALL/IFCALLRET calls 2023-08-04 12:59:11 +02:00
akallabeth 8877614d50 [android] updated openssl, cjson and ffmpeg 2023-08-04 12:59:11 +02:00
akallabeth b12e2ee469 [cmake] do not require NTDLL 2023-08-04 12:59:11 +02:00
akallabeth c8ce3eba06 [codeql] add libwebkit2gtk-4.0-dev 2023-08-04 12:59:11 +02:00
akallabeth 793d80f2c4 [cmake] update ci defaults 2023-08-04 12:59:11 +02:00
Armin Novak fafc2e61f9 [client,sdl] redirect sdl log to wlog 2023-08-04 12:59:11 +02:00
akallabeth 67bc4565e2 [cmake] default to require FFMPEG and SWCALE
As for modern RDP some kind of H264 and image scaling is required,
default to enable FFMPEG support.
2023-08-04 12:59:11 +02:00
akallabeth 8470b6ea26 [cmake] set default build type
set with CACHE STRING FORCE to properly be picked up by configuration
tools
2023-08-04 12:59:11 +02:00
akallabeth 0e458c8c2c [cmake] WITH_WEBVIEW new defaults
* Enable by default now
* Use a config file to detect if it is enabled
2023-08-04 12:59:11 +02:00
akallabeth 10ea529f70 [cmake] build samples by default 2023-08-04 12:59:11 +02:00
akallabeth 21ac28bb54 [cmake] build server components by default 2023-08-04 12:59:11 +02:00
akallabeth 76d23885d4 [cmake] add common options to subprojects 2023-08-04 12:59:11 +02:00
Pascal Nowack 8fc7062605 client/cliprdr_file: Do not deadlock with FUSE2 when stopping fuse loop
FUSE2 has compared to FUSE3 a rather complicated structure with respect
to the FUSE loop, as it uses two handles for the loop and the mount.
Due to needing the possibility to invalidate inodes during the session
and to exit the FUSE session, the session and channel handles need to be
kept alive.
When the session stops, and with that the FUSE session too, the FUSE
thread must still be able to unmount the FUSE mount.
But due to FUSE2's annoying structure, the FUSE session must be
destroyed before doing this.
In this time period, where the FUSE2 loop stops running and between
stopping the FUSE2 session, it cannot answer any requests.
As a result, the "path test", where the mount path is poked cannot be
performed.
This "path test" is however necessary to ensure, that the FUSE loop
exits.
So, the main thread pokes at the FUSE mount to ensure the loop
definitely exits to then signal the FUSE thread, that it can destroy the
session and channel object.
But at the same time, the FUSE loop may already exited and wait for the
main thread to be signalled, that it can destroy the session and channel
object.
The waiting conditions here cannot be satisfied, leading to a deadlock.

Fix this situation, by already signalling the FUSE thread, that it can
destroy the FUSE objects, after calling fuse_session_exit.
2023-08-04 11:08:01 +02:00
Hodol Han d962f1e4d0 [client,common] Fix minor code errors
`cctx->contacts` -> `cctx->pens`
2023-08-03 17:55:49 +02:00
Hodol Han 5d61ab1eac [client,common] Fix freerdp_client_register_pen
Pass null device id rather than `deviceid` to find an empty pen device
slot.
2023-08-03 17:55:49 +02:00
David VERON fb406feb33 libwinpr/crt/unicode: unicode conversion functions with allocation
Unicode conversion functions with allocation returned NULL when the input was
a string of len = 0. Now those functions allocate buffers with the
corresponding empty string that the caller has to free.
2023-08-03 17:23:52 +02:00
akallabeth e51a5b33fb [core,orders] fix undefined variable, unify log strings 2023-08-03 13:54:03 +02:00
ehdgks0627 2496037f03 Standardize failure messages for order functions 2023-08-03 13:54:03 +02:00
ehdgks0627 105ce6c56b Update error message when update_read* function failed 2023-08-03 13:54:03 +02:00
ehdgks0627 8e3d72e814 Add return statement when not enough data 2023-08-03 10:16:05 +02:00
Pascal Nowack 33c2c5eb96 client/cliprdr_file: Fix build when using FUSE2 instead of FUSE3
To invalidate inodes, FUSE2 uses a FUSE channel handle, while FUSE3 uses
the FUSE session.
So, ensure the correct handle is passed to the respective API calls.
2023-08-03 08:57:26 +02:00
Pascal Nowack c031e7eba6 client/cliprdr_file: Do not destroy FUSE session while using it
When invalidating inodes, it is obligatory, that the session was not
destroyed yet.
So, in case of the FUSE loop stops before the session stops wait with
the destroyal of the session, until it is clear, that it is not used
anymore.
2023-08-03 08:57:26 +02:00
weoses 8f1ba61553 [client,android] Fix keyboard ui issues
Set inputType to system keyboard, otherwise keyboard can be opened with last used input type (eg. numeric)
Fix keyboard/modifiers panel opening, when keyboard stuck in other app
Hide zoom controls when keyboard is opened
2023-08-02 19:50:00 +02:00
Martin Fleisz 45ee30da5e rdpdr: Fix potential null pointer access 2023-08-02 19:09:26 +02:00
Richard Markiewicz cd06e7179a [winpr,crypto] Fix compilation with mbedTLS 2023-08-02 10:11:35 +02:00
David Fort a16c4efb98 mingw: fix build under Ubuntu 22.04 2023-08-02 09:37:32 +02:00
Pascal Nowack d3d7f05322 client/cliprdr_file: Tighten up data size check for FILE_SIZE requests
FILECONTENTS_SIZE requests explicitly specify the size of 8 Bytes, so
expect that there are no further fill Bytes used.
2023-08-01 17:35:34 +02:00
Pascal Nowack 63c72b418a client/cliprdr_file: Move some debug messages under DEBUG_CLIPRDR
Do no expose filenames of copied files, unless it is explicitly wanted.
2023-08-01 17:35:34 +02:00
Armin Novak b97a5448d2 update timezones 2023-08-01 17:18:22 +02:00
akallabeth ad56fbe674 [client,android] Fix #8158 anonymous thread leak 2023-08-01 15:46:57 +02:00
akallabeth eb67f41a50 [cmake] use find_library for windows libs 2023-08-01 13:32:35 +02:00
akallabeth 2b84309b10 [mingw] fix build issues on debian 12 2023-08-01 13:32:35 +02:00
Kai Pastor 5ecc011c13 Export interface include directories 2023-08-01 11:12:46 +02:00
akallabeth afbe16c850 [api] remove obsolete define 2023-08-01 08:58:06 +02:00
Armin Novak 0cd36c1526 [build] fix Wmissing-prototypes 2023-08-01 08:37:58 +02:00
Armin Novak 3bcf173e2b [ci] disable Wcast-align and Wexit-time-destructors 2023-08-01 08:37:58 +02:00
Armin Novak 007ca8b646 [rdtk] code cleanups 2023-08-01 08:37:58 +02:00
Kai Pastor 21cfc456f5 find_dependency for exported cmake config 2023-08-01 08:13:30 +02:00
Joan Torres c843e35b75 [codec] encode messages considering endianness
The byte order of the pixels is affected by endianness, use bitwise
operations to access those bytes so the endiannes won't affect the final
result.
2023-08-01 07:56:16 +02:00
Joan Torres a332db7cf5 [libfreerdp] fix endianness issues
There were some fields sent without considering endianness, making the
clients fail when parsing those fields.

Use Data_Write_XXX functions so the endiannes won't affect the byte order
and the clients will read properly the fields.
2023-08-01 07:56:16 +02:00
Armin Novak 6bdd36c83d [winpr,test] fix testsynchmultiplethreads 2023-08-01 07:44:48 +02:00
Richard Markiewicz f59c98eebe [core,info] Fix rdp_info_read_string conversion check 2023-08-01 07:15:59 +02:00