Armin Novak
46c78cf0f0
Fixed missing return check
2021-12-14 13:46:34 +01:00
akallabeth
6ee60ea15a
Fixed various warnings
2021-11-30 08:20:19 +01:00
akallabeth
a3af2c0bdc
Fix duplicate MIN macro definition
2021-11-25 12:25:18 +01:00
Ondrej Holy
fa73c6c8f1
winpr/crypto: Do not load legacy provider from RC4
...
This partially reverts commit 67f3fff2
. The legacy provider is now loaded
from the `winpr_InitializeSSL` function, so it is not needed to load it from
the `winpr_RC4_New` function again.
2021-11-18 14:17:12 +01:00
Ondrej Holy
365c9f6319
winpr/ssl: Fix capitalization in log messages
...
The log messages contained the `ENabled` string, which looks weird to me.
Let's change that to `enabled`.
2021-11-18 14:17:12 +01:00
Ondrej Holy
b90ccfa13f
winpr/ssl: Call the winpr_enable_fips function only once
...
The `winpr_enable_fips` function is called twice from the `winpr_InitializeSSL`
function after commit 49936a7b
. I believe this is a bug, which might lead to
some undesired behavior. Let's call that only once.
2021-11-18 14:17:12 +01:00
Ondrej Holy
2d0b58759b
winpr/ssl: Load legacy provider when initializing OpenSSL 3.0
...
With OpenSSL 3.O, FreeRDP log contains errors like:
```
4036740A4C7F0000:error:0308010C:digital envelope routines:
inner_evp_generic_fetch:unsupported:crypto/evp/evp_fetch.c:346:
Global default library context, Algorithm (MD4 : 85), Properties ()
```
This leads to connection failures in some cases. This is because algorithms
like MD4 are now part of the legacy provider, which is not loaded by
default. Let's explicitly load that provider. With this change, also the
other provides has to be explicitely loaded.
2021-11-18 14:17:12 +01:00
David Fort
67986ea298
Fix compilation with mingw
...
This patch addresses some issues when compiling against mingw. With these changes
FreeRDP can be compiled out-of-the box on a Ubuntu 20.04.
2021-11-15 09:23:16 +01:00
akallabeth
58b24f13fe
Add an option to add the plugin and extension to rpath ( #7425 )
2021-11-04 08:59:38 +01:00
Armin Novak
68eb6e4afc
Drop ASN1 module stub
...
Not implemented, just creates confusion.
2021-11-02 15:13:20 +01:00
Armin Novak
fb924c6bbc
Fixed struct alignment
2021-10-18 16:09:13 +02:00
Armin Novak
319b0e1b7e
Queue_Enqueue const argument
...
By default use const for the object enqueued.
If a `fnObjectNew` function is set, it is copied anyway.
For the case without cast away the const internally.
2021-10-18 16:09:13 +02:00
akallabeth
e72d502b8d
Fixed #7363 : Length checks in ConvertUTF8toUTF16 ( #7365 )
2021-10-15 09:39:50 +02:00
Armin Novak
e362a59aa5
Fixed const correctness of variable
2021-10-14 13:04:59 +02:00
akallabeth
3ccb96d52f
Fixed #7350 : Warnings with Stream_StaticInit
...
* Properly initialize the stream buffer
* Add Stream_StaticConstInit accepting a const buffer
* Modify API to return a pointer to the stream initialized
2021-10-14 12:11:16 +02:00
akallabeth
6ac4cad8dd
Settings fixes ( #7335 )
...
* Fix temporary settings allocation for command line
Detection of legacy command line requires a temporary settings
struct. This was previously manyally allocated instead of using
freerdp_settings_new and freerdp_settings_free.
* Fixed CommandLineParseCommaSeparatedValuesEx
The name argument was not copied into the returned array.
2021-10-07 13:43:12 +02:00
Armin Novak
439ec62cff
Hide implementation of certain stream functions
2021-10-06 09:49:07 +02:00
Armin Novak
983443749d
Added Stream_EnsureValidity
...
This function terminates a process if a stream was used incorrectly.
It will work similar to an assert, but it is not possible to compile
without this.
Purpose is to prevent problems with missing length/capacity checks
2021-10-06 09:49:07 +02:00
Armin Novak
18a3fcf2fc
Updated wStream API and added torough checks
...
* Do length/capacity checks in every read/write/seek function
if WINPR_ASSERT is defined.
* Ensure s->pointer is valid, e.g. within s->buffer + s->capacity
(Stream_Rewind, Stream_Seek, ...)
* Add return values to Stream_Set* functions so inalid arguments
can be reported to the caller
* Deprecated problematic stream manipulation functions
(Stream_SetBuffer, Stream_SetPointer, Stream_SetCapacity)
* Ensure length/capacity functions never return a value larger
than the actual length/capacity
2021-10-06 09:49:07 +02:00
akallabeth
1c84690c2f
Fixes from tests ( #7308 )
...
* Fixed memory leak in tls_verify_certificate
* Fixed missing NULL checks
* Fixed missing checks for FreeRDP_DeactivateClientDecoding
* Added WINPR_ASSERT for client common new/free
* Added /disable-output switch to deactivate client decoding
Allows low resource remote connections that do not require visual
feedback. (e.g. load testing/...)
2021-09-21 09:56:56 +02:00
Armin Novak
1ee8370f28
Fixed leak in TestPipeCreateNamedPipeOverlapped.
2021-09-20 10:59:59 +02:00
Armin Novak
aeb2415af9
Cleaned up NamedPipeOverlapped test.
2021-09-20 10:59:59 +02:00
Armin Novak
b05eb8d834
Fixed thread related changes:
...
* Fixed typo
* Fixed wrong #ifdef
2021-09-20 10:59:59 +02:00
akallabeth
1ca7e1f7a0
Added option to disable graphics decoding in client code path
2021-09-20 10:59:59 +02:00
akallabeth
cb5ccec212
Cleaned up some possible race conditions with threads
...
* ExitThread no longer NORETURN, this eases handling of threads.
* Fixed a (rare) race condition when starting a thread
* Made global thread_list optional (you lose the exit code from
ExitThread)
2021-09-20 10:59:59 +02:00
akallabeth
dc07b10d41
Cleaned up thread pool initialisation
2021-09-20 10:59:59 +02:00
akallabeth
47277a4504
Improved debug logging when operating on invalid handles.
...
* Added backtrace to log
2021-09-20 10:59:59 +02:00
akallabeth
b69156d79c
Eliminated spammy log messages from backtrace functions
2021-09-20 10:59:59 +02:00
akallabeth
162227ce78
Cleaned up GetCombinedPath
2021-09-20 10:59:59 +02:00
akallabeth
76979a47fb
Added new CMake option to dump event handles in use
2021-09-20 10:59:59 +02:00
akallabeth
53a52a055d
Added missing WINPR_ASSERT to MessageQueue
2021-09-20 10:59:59 +02:00
akallabeth
d80b418bbc
Added object copy support to queue
...
* Added object copy support to Queue_Enqueue
* Added Queue_Discard to clear the top of the queue
* Added some doxygen for queue functions.
2021-09-20 10:59:59 +02:00
Armin Novak
1d9e886a7f
Fixed timezone detection on linux.
...
Fix originally proposed via IRC by myth0s
Original changeset at https://paste.debian.net/hidden/0a03314a/
2021-09-20 09:39:40 +02:00
akallabeth
ab90ddc781
Fixed clang pragma
2021-09-14 09:45:03 +02:00
Armin Novak
673fb46836
Fixed uninitialized warnings
2021-09-10 08:16:25 +02:00
Armin Novak
0fe1e2359e
Fixed all reserved-id-macro warnings
2021-09-10 08:16:25 +02:00
Armin Novak
ba0da04217
Fixed compilation warnings and duplicate defines
2021-09-09 08:53:20 +02:00
Armin Novak
4daa09c3e5
Fixed missing checks for queue functions
2021-09-09 08:53:20 +02:00
Armin Novak
0f8c52b9ca
Fixed const warnings with argument parser
2021-09-09 08:53:20 +02:00
Armin Novak
c8571dd5fd
Replaced chmod with safer fchmod
...
* Use fchmod so the file may not change underneath
* Add unit tests for SetFileAttributesA
* Add warning logs for unsupported flags
2021-09-06 10:11:14 +02:00
Armin Novak
fbae9ba88c
Added LoadLibraryX and LoadLibraryExX
...
These functions take a UTF8 string and load a library with
LoadLibraryW under windows.
2021-09-03 08:29:15 +02:00
Armin Novak
737f5a2036
Fixed argument const correctness
2021-08-27 13:21:02 +02:00
akallabeth
f1bde376b1
Raw channel send ( #7255 )
...
* Added raw channel data write function
* Use nego_set_state
* Added ArrayList_ForEachAP
* Provide va_copy for older VS compilers
2021-08-26 16:17:51 +02:00
Armin Novak
68f24477f6
Fixed compilation warnings on mac
2021-08-26 15:08:28 +02:00
Armin Novak
55d2363efb
Removed alloca use from WaitForMultipleObjectsEx
2021-08-25 13:41:38 +02:00
Armin Novak
5afa592244
Fixed cast-qual warnings
2021-08-24 11:10:51 +02:00
Armin Novak
cbb06a7c17
Fixed DsParse implementations and tests
...
* Implemented DsMakeSpnW
* Removed unimplemented DsCrackSpnA and DsCrackSpnW
2021-08-24 10:45:57 +02:00
Armin Novak
04ff6b8824
Implemented TestFileDeleteFile
2021-08-24 10:45:57 +02:00
Armin Novak
af0ce13d8a
Removed not implemented module
2021-08-24 10:45:57 +02:00
Armin Novak
5eea7fc12d
WINPR_UNUSED argc, argv for unit tests
2021-08-24 10:45:57 +02:00
Armin Novak
f515bd4560
Fixed shadowing and type errors
2021-08-24 10:45:57 +02:00
Pascal Nowack
8fe794b312
winpr/clipboard: Omit last line ending for gnome-copied-files
...
Every uri in the x-special/gnome-copied-files mime type is separated by
a '\n' char.
However, not every line ends with '\n'. The last line MUST not include
the new line character.
2021-08-19 09:08:11 +02:00
Mike Gilbert
5208a67ea7
Fix TestUnicodeConversion on big endian machines ( #7219 )
...
Wide character literals are stored in native byte order.
Use an array of bytes as a reference instead.
Fixes: https://github.com/FreeRDP/FreeRDP/issues/6968
2021-08-16 22:11:03 +02:00
Ondrej Holy
67f3fff2c8
winpr/crypto: Load legacy provider to fix rc4 with OpenSSL 3.0 ( #7210 )
...
* winpr/crypto: Exit cleanly when EVP_EncryptInit_ex fails
The `EVP_EncryptInit_ex` function may fail in certain configurations.
Consequently, FreeRDP segfaults in `EVP_CIPHER_CTX_set_key_length`.
Let's handle the `EVP_EncryptInit_ex` failures and exit cleanly in
such case.
* winpr/crypto: Load legacy provider to fix rc4 with OpenSSL 3.0
Currently, the `EVP_EncryptInit_ex` function fails for rc4 with OpenSSL 3.0.
This is becuase rc4 is provided by the legacy provider which is not loaded
by default. Let's explicitly load the legacy provider to make FreeRDP work
with OpenSSL 3.0.
Relates: https://github.com/openssl/openssl/issues/14392
Fixes: https://github.com/FreeRDP/FreeRDP/issues/6604
2021-08-03 15:28:58 +02:00
Armin Novak
00c5a42eef
Fixed warnings in TestLinkedList
2021-08-02 10:28:06 +02:00
Armin Novak
610396e197
Fixed compilation warnings
...
Try to get the number of warnings down
2021-08-02 10:28:06 +02:00
Mike Gilbert
0c81c73c8d
winpr: avoid calling FIPS_mode() with OpenSSL 3.0
...
Fixes: 26bf2816c3
2021-08-02 08:27:07 +02:00
ddoe
fb3f85779b
fixup! Improvement: Add a way to get timezone from environment. Firstly get timezone from environment. If not present, use file method
2021-07-20 15:31:57 +02:00
ddoe
badc57984e
Improvement: Add a way to get timezone from environment.
...
Firstly get timezone from environment. If not present, use file method
2021-07-20 15:31:57 +02:00
Martin Fleisz
74c6ad9906
test: Add unit test for CommandLineParseCommaSeparatedValuesEx
2021-07-07 09:07:46 +02:00
Martin Fleisz
a29cffbb6d
winpr: Fix parsing of comma separated values if list is an empty string
2021-07-07 09:07:46 +02:00
Alexandru Bagu
9c259f09ec
fix setValue for HashTable
2021-06-28 09:12:40 +02:00
Biswapriyo Nath
a22bd407b0
winpr: Fix typo in NTLM_AV_ID member.
...
According to Microsoft specifications[1] the 10th member is named as MsvAvChannelBindings.
[1]: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/
2021-06-23 12:04:29 +02:00
Armin Novak
8ef57bf296
Replaced CMAKE_[SOURCE|BINARY]_DIR with PROJECT_[SOURCE|BINARY]_DIR
...
Thanks @Pollux42 for the hint in #7096
2021-06-22 08:54:18 +02:00
akallabeth
b453d5e40e
Fixed rdtk, uwac and winpr standalone builds
2021-06-22 08:54:18 +02:00
Ali Abdel-Qader
c0e29f7f19
Re-added "extern" to ntlm_export.h symbols
2021-06-19 09:49:41 +02:00
Armin Novak
4dfee30934
Fixed smartcard related warnings
2021-06-18 11:32:16 +02:00
Armin Novak
09cf11ecf0
WinPR: Fixed warnings, added assertions
2021-06-18 11:32:16 +02:00
Armin Novak
81a4670af0
Fixed ntlm_export.h includes
2021-06-18 09:41:02 +02:00
akallabeth
6726772d8d
Fixed integer warnings
2021-06-18 09:41:02 +02:00
akallabeth
8d82adb28a
Fixed warnings
2021-06-17 10:35:22 +02:00
Armin Novak
2e0d1cc33c
Fixed integer warnings, fixed data types
2021-06-17 10:35:22 +02:00
Armin Novak
d9a8083ddf
Added WINPR_NORETURN, fixed warnings
2021-06-17 10:35:22 +02:00
Armin Novak
1af7ef2f1b
Fixed compilation warnings and typos
2021-06-16 15:21:56 +02:00
Armin Novak
f5bb6d12fc
Fixed compilation warnings
2021-06-16 14:26:06 +02:00
Armin Novak
1b3adfae0a
Added WINPR_ASSERT to Stream and StreamPool
2021-06-16 14:26:06 +02:00
Armin Novak
64280aa13c
Added WINPR_ASSERT to collections
2021-06-16 11:46:42 +02:00
Armin Novak
61c1d82e3b
Return function != NULL in HashTable_SetHashFunction
2021-06-16 11:46:42 +02:00
Armin Novak
31862e60f9
Added missing return checks
2021-06-16 11:46:42 +02:00
Armin Novak
bca7bcd8b0
Cleaned up Queue API, use WINPR_ASSERT
2021-06-16 11:46:42 +02:00
Armin Novak
216f65336e
Fixed HashTable and ArrayList use errors
2021-06-16 11:46:42 +02:00
Armin Novak
e25c5625c8
Added WINPR_ASSERT in HashTable
2021-06-16 11:46:42 +02:00
Armin Novak
bfcad7d6aa
Added WINPR_ASSERT in ArrayList
2021-06-16 11:46:42 +02:00
Armin Novak
c2bef2bfa9
Fixed return value checks for ArrayList_Append and HashTable_Insert
2021-06-16 11:46:42 +02:00
Armin Novak
b9a9f50dd2
Hide HashTable_SetupForStringData implementation
2021-06-16 11:46:42 +02:00
Armin Novak
30776358bb
Readded ArrayList_Add and HashTable_Add as deprecated
2021-06-16 11:46:42 +02:00
Armin Novak
a96c192977
Added parameter checks
2021-06-16 11:46:42 +02:00
Armin Novak
96eca171e2
Removed const from HashTable_ForEach function
2021-06-16 11:46:42 +02:00
Armin Novak
d6c84c28fb
Renamed ArrayList_Add to ArrayList_Append
...
* Do not break API silently
2021-06-16 11:46:42 +02:00
Armin Novak
a1c8e4cf85
Refactored ArrayList_Add to conform to other functions
2021-06-16 11:46:42 +02:00
Armin Novak
880c603c26
Renamed HashTable_Add to HashTable_Insert
...
* Since the changes break HashTable_Add rename it so that it will
not fail silently
2021-06-16 11:46:42 +02:00
Armin Novak
cb642699c8
Modified HashTable API to be opaque
...
* Reuse wObject function pointers
* Add missing getters/setters
* Clean up return types, const correctness of arguments
2021-06-16 11:46:42 +02:00
Armin Novak
d36d94766e
Replaced assert with WINPR_ASSERT
2021-06-14 09:37:07 +02:00
Armin Novak
210b9f58b7
Increased time in TestSynchMultipleThreads
2021-06-09 11:03:37 +02:00
Armin Novak
c5fded2d83
Improved runtime of unit tests
2021-06-08 08:21:47 +02:00
Armin Novak
37c7d5d0f0
Increased TestSynchCritical timeout
2021-06-01 14:18:01 +02:00
Armin Novak
855b77a8d5
Fixed memory leak in TestPrint
2021-06-01 14:18:01 +02:00
Armin Novak
98cd46ca9c
Fixed WLog_Uninit loop counter
2021-06-01 14:18:01 +02:00
Marc-André Moreau
96f07ea993
Windows ARM64 build fixes
2021-06-01 14:18:01 +02:00
David Fort
d76c8470b1
Merge pull request #7066 from akallabeth/rdpei_crash_fix
...
Stop rdpei thread before cleaning up listener
2021-05-31 13:19:44 +02:00