Commit Graph

14949 Commits

Author SHA1 Message Date
Armin Novak 268bc2e8ef Updated RDPEI channel API
* Added new function pointers to cancel a pending operation
* Added new function pointers to send custom event flags
* Added exposed feature mask to disable channel features
2021-05-20 15:20:18 +02:00
David Fort 4ec6014964 RDPUDP dissector: cookie hash is present in SYN packet instead of SYN/ACK 2021-05-20 15:10:11 +02:00
Armin Novak 1d53117508 Fixed async-input quit 2021-05-20 15:08:40 +02:00
Armin Novak 6f2c6625e4 Added FREERDP/WINPR prefix to define GIT_REVISION 2021-05-18 13:37:34 +02:00
Armin Novak 2b19576fc7 Fixed compiler warnings, function arguments and const parameter 2021-05-18 13:37:34 +02:00
akallabeth 80d7f206af
Refactored settings string setter (#7014)
* Common function to clear strings
* Set string memory to '\0' before free
2021-05-18 11:22:27 +02:00
David Fort d418c6ff09 tools: add a wireshark plugin to decode RDP-UDP
This wireshark plugin can decode RDPUDP traffic according to MS-RDPEUDP and MS-RDPEUDP2.
The plugin is statefull and is able to track protocol versions and does its best to
reassemble TLS and DTLS records, even when they are fragmented across different PDUs.
2021-05-17 12:13:49 +02:00
David Fort ab4fe21439 winpr: add a HashTable_Foreach function and associated tests
This useful functions allows to browse all value pairs of a hashtable without
having to allocate some memory for keys and then retrieving each element.
It may also make sense with synchronized hashtables because before you were forced to
HashTable_GetKeys() and then HashTable_GetItemValue() which is locking again for each
element of the table.
2021-05-17 09:29:25 +02:00
Ondrej Holy 26bf2816c3 Fix FIPS mode support and build with OpenSSL 3.0
FreeRDP fails to build with OpenSSL 3.0 because of usage of the `FIPS_mode`
and `FIPS_mode_set` functions, which were removed there. Just a note that
the FIPS mode is not supported by OpenSSL 1.1.* although the mentioned
functions are still there (see https://wiki.openssl.org/index.php/FIPS_modules).
Let's make FreeRDP build with OpenSSL 3.0 and fix the FIPS mode support.

See: https://bugzilla.redhat.com/show_bug.cgi?id=1952937
2021-05-17 08:51:05 +02:00
David Fort 4753c64038 X11: don't instanciate a clipboard implementation when clipboard is disabled 2021-05-12 09:19:55 +02:00
akallabeth 3765a9fe35 Fixed AAC encoding for microphone
* Fixed b-frame interval for FFMPEG
* Fixed sample size for FAAC
2021-05-11 15:33:23 +02:00
akallabeth 566f47f63b Fixed compilation warnings. 2021-05-11 08:32:18 +02:00
akallabeth c10a030ec6 Fixed use fo crypto_rsa_public_encrypt in license module 2021-05-11 08:00:18 +02:00
akallabeth d4ebf8546f Cleaned up crypto API 2021-05-11 08:00:18 +02:00
akallabeth b494a193db Refactored certificate API:
* Proper encapsulation
* known_hosts2 backend extended (storing PEM)
* New backend storing each host certificate in a file
2021-05-11 08:00:18 +02:00
akallabeth c3171b90cb Removed unit tests for legacy known_hosts file 2021-05-11 08:00:18 +02:00
akallabeth 384f997aa7 Removed support for obsolete known_hosts file. 2021-05-11 08:00:18 +02:00
akallabeth ab49694101 Added new RDP file options 2021-05-11 07:59:05 +02:00
akallabeth 9e466abe6f Fixed #6989: Use X509_STORE_set_default_paths 2021-05-03 13:37:26 +02:00
Armin Novak bad528d36b Added version check for deprecated ffmpeg symbols 2021-05-03 10:38:35 +02:00
akallabeth b83e3bf61c Fix uninitialized variable warnings. 2021-04-28 17:12:24 +02:00
Biswapriyo Nath a3a89a43f7 Fix intialization, remove some unused variables. 2021-04-28 17:11:31 +02:00
Biswapriyo Nath 3a1168cbda Check _MSC_VER for MSVC specific pragma directives. 2021-04-28 17:11:31 +02:00
Biswapriyo Nath 5d502c9d06 CMake: Set ffmpeg and zlib optional in Win32. 2021-04-28 17:11:31 +02:00
Ondrej Holy 892cbe3261 Fix various memory leaks reported by Coverity
Covscan report contains various memory leak defects which were marked
as important. I have spent some time analyzing them and although they
were marked as important, most of them are in error cases, so probably
nothing serious. Let's fix most of them anyway. The rest are false
positives, or too complicated to fix, or already fixed in master, or
simply I am unsure about them.

Relates: https://github.com/FreeRDP/FreeRDP/issues/6981
2021-04-27 14:25:20 +02:00
Ondrej Holy ac25baa5ee codec/rfx: Silence BAD_FREE reported by Coverity
The `rfx_context_free` function uses the `rfx_message_free` function
with an address of the statically allocated `RFX_MESSAGE` struct. This
causes that the following is reported from covscan:

```
address_free: "rfx_message_free" frees address of "context->currentMessage".
```

I am convinced that this is just false-positive as the address is freed
only when `freeArray` is `0`, which is not in case of `RFX_CONTEXT`.
Let's add a code annotation to silence the false-positive next time.
2021-04-27 14:25:20 +02:00
Ondrej Holy 637413daf4 winpr/utils/lodepng: Fix USE_AFTER_FREE reported by Coverity
Although the `lodepng_zlib_compress` function expects the `*out` parameter
to be `NULL`, it uses `uvector_init_buffer` internally, which takes the
`*out` value. This confuses covscan, which consequently reports the following
defects:

```
double_free: Calling "ucvector_cleanup" frees pointer "zlibdata.data" which has already been freed.
double_free: Calling "ucvector_cleanup" frees pointer "compressed.data" which has already been freed.
double_free: Calling "ucvector_cleanup" frees pointer "compressed_data.data" which has already been freed.
```

Let's use the `uvector_init` function instead as in other cases to make
covscan happy and to make the code more bulletproof. Consequently, also
remove the outdated comments.
2021-04-27 14:25:20 +02:00
Armin Novak 18ceebb774 Simplified sync test 2021-04-27 11:48:39 +02:00
akallabeth 187946e965 Removed duplicated escape 2021-04-27 11:48:39 +02:00
akallabeth d4ae65dbb5 Added version to client log, removed build_date 2021-04-22 14:07:37 +02:00
David Fort db02de2d8b
winpr: fix error path in winpr_event_init (#6974) 2021-04-22 11:57:44 +02:00
David Fort 5e3e2cd9fd winpr: fix #6970
Timer changes were wrong when timerfd support is not available (no valid file
descriptor returned by GetFd calls).
2021-04-22 10:32:02 +02:00
David Fort ec6b11c537
Merge pull request #6969 from mfleisz/fix_event_reset
event: Fix reset of non eventfd winpr event
2021-04-20 14:46:15 +02:00
Martin Fleisz b7c4ec759f event: Fix reset of non eventfd winpr event 2021-04-20 13:51:55 +02:00
akallabeth 2ea7ac0c06 Unified bin to hex and hex to bin conversion
* Added new functions in WinPR
* Added unit tests for new functions
* Replaced existing (internal) conversion functions
2021-04-19 10:45:21 +02:00
Armin Novak 8cd61a01ff Refactored shadow argument parsing
* Remove global struct
* Add logger options
2021-04-16 17:06:27 +02:00
Armin Novak c4b3d53a9a Fix NTLM auth message return code. 2021-04-16 16:34:17 +02:00
Armin Novak 4a9efacc65 Fixed duplicate call to NtCurrentTeb 2021-04-16 16:34:17 +02:00
akallabeth b500800104 Cleaned up SAM file parser. 2021-04-16 16:22:39 +02:00
akallabeth 5075539022 Fixed log filter initialization from env 2021-04-16 16:18:07 +02:00
akallabeth 9f573a1b40 Fixed #6938: Remote app mode clipboard fix
In remote app mode the _FREERDP_TIMESTAMP_PROPERTY does not work.
Therefore ignore it
2021-04-16 11:18:00 +02:00
Norbert Federa 689cb70da2 client/x11: fix parent window size restrictions
If a parent window id is specified, the "workarea limits" of the
display must not apply.
2021-04-16 10:28:14 +02:00
akallabeth ef6e4c0570
ADDIN_ARGV cleanup, added camera setting to RDP parser (#6947)
* Added camerastoredirect to RDP parser

* Refactored ADDIN_ARGV handling

* Added ADDIN_ARGV unit tests
2021-04-12 10:38:40 +02:00
akallabeth 6d2b44843e Create SECURITY.md 2021-04-12 10:21:13 +02:00
Martin Fleisz 6fa9896474 core: Clear message queue to reset its closed state 2021-04-08 14:01:50 +02:00
Max Roncace e2920d7259 Wayland client: Disable shortcut inhibition on rctrl press 2021-04-08 09:23:58 +02:00
David Fort aeba30a505 winpr: correctly implement APC
This patch implements APC functions and fixes waitable timers with completions.
2021-04-07 08:15:16 +02:00
David Fort dfbbf3b618 winpr: cleanup polling code
Externalize all the polling logic in a pollset component. This patch prepares the
support of APC and alertable state.
2021-04-07 08:15:16 +02:00
akallabeth 7d4a84ca89 Added error logging. 2021-04-06 09:18:37 +02:00
akallabeth 721e05fc34 Reenabled multithreadded decoding 2021-04-06 09:18:37 +02:00