David Fort
b128ec4fba
spnego: add various check and fixes
2022-07-07 17:31:49 +02:00
David Fort
6c834eaa15
winpr: adjust negotiate_GetMechByOID function
2022-07-07 17:31:49 +02:00
fifthdegree
2a3c92b4cc
spnego: use winpr asn.1 library
2022-07-07 17:31:49 +02:00
Pascal Nowack
43b609cd6c
winpr/clipboard: Allow overriding ValidFileNameComponent call
...
When using the wClipboard API, the connected peer might not be on the
Windows platform, where further filename restriction exists.
As a result, it is currently not possible to use the wClipboard API,
when intending to allow filenames, containing characters like ':'.
So, add a callback to the wClipboardDelegate, which is set to the
ValidFileNameComponent call by default.
This callback can be overridden by the API user, when it is known, that
there is no need to impose very strict filename restrictions.
2022-07-07 07:45:26 +00:00
David Fort
168117e85b
winpr: fix encoding of octetString containers and add required functions for SPNego
2022-07-05 15:04:01 +02:00
akallabeth
05b339b0b1
Added strndup replacement
2022-07-04 14:31:08 +02:00
akallabeth
51f4c374c4
Clear OpenSSL error queue before BIO_read/BIO_write
2022-07-02 16:32:50 +02:00
David Fort
bddb71230e
winpr asn1: fixes and more features
...
This patches adds support for octet string containers that are used by SPNego
(a subfield is contained in an octet string record).
It also adds a performance test to test reallocations in asn1 encoder.
It fixes reallocation problems for both chunks and containers.
2022-07-01 09:43:01 +02:00
David Fort
cbda255dcd
winpr: add some ASN1 parsing functions
...
This patch implements ASN1 parsing in WinPR, as we need it in SSPI packages.
2022-07-01 07:51:31 +02:00
akallabeth
5d1d3d6582
Fixed #8022 : leaks in kerberos code
2022-06-30 23:00:48 +02:00
akallabeth
39bd78d2fb
Fixed missing includes
2022-06-29 18:10:33 +02:00
akallabeth
7c85949f1d
Fixed unused variable warnings
2022-06-29 18:10:33 +02:00
akallabeth
99cda9249f
Fixed uninitialized warnings
2022-06-29 18:10:33 +02:00
akallabeth
684ada9c0e
Fixed uninitialized warnings
2022-06-29 18:10:33 +02:00
Adrian Perez de Castro
81e8e28062
Fix building with LibreSSL 2.7.0 or newer
...
With LibreSSL 2.7.0 (or newer versions) some more structs have made
opaque, which requires a few changes:
- BIO_meth_new() and related functions are now defined by LibreSSL, the
versions from opensslcompat.{h,c} does not need to be used anymore.
- HMAC_CTX is now opaque, HMAC_CTX_new(), EVP_MD_CTX_new, and related
functions should be used instead in winpr's hash.c.
2022-06-27 12:42:06 +02:00
akallabeth
9fee695ed0
Assert stream pool if duplicate entry is found
2022-06-27 11:21:24 +02:00
akallabeth
488a0d1edd
Fixed streampool release
2022-06-27 11:21:24 +02:00
akallabeth
25c120d25d
Fixed type mismatches and memory leaks
2022-06-27 11:21:24 +02:00
akallabeth
bc8b4ade1c
reformatted
2022-06-23 08:48:39 +02:00
akallabeth
ec8550e87f
Fix unwind backtrace warnings
2022-06-23 07:45:55 +02:00
fifthdegree
56d10c2d27
kerberos: don't get a tgt ticket for inbound creds
2022-06-21 10:27:17 +02:00
fifthdegree
8ac977e671
make sure existing ccache credentials are not expired
2022-06-21 10:27:17 +02:00
David Fort
a31574d359
kerberos: correctly detect missing credentials even with an empty cache
2022-06-21 10:27:17 +02:00
David Fort
90a2b9a10c
Various fixes in negotiate.c
2022-06-21 10:27:17 +02:00
fifthdegree
b5ba6d135c
retry on all errors from acquire_creds
2022-06-21 10:27:17 +02:00
fifthdegree
c51348a33b
fixes
2022-06-21 10:27:17 +02:00
fifthdegree
e66b99f8dc
deprecate old hash callback field
2022-06-21 10:27:17 +02:00
fifthdegree
6d3aa52496
set SAM file and hash callback on credential rather than context
2022-06-21 10:27:17 +02:00
fifthdegree
eeece1a027
server-side kerberos (and some fixes)
2022-06-21 10:27:17 +02:00
fifthdegree
8d9f990124
some more tweaks
2022-06-21 10:27:17 +02:00
fifthdegree
441fa01acb
adjust ntlm unit test
2022-06-21 10:27:17 +02:00
fifthdegree
a359124339
some small fixes and changes
2022-06-21 10:27:17 +02:00
fifthdegree
1c012b09b8
implement proper SPNEGO negotiation
2022-06-21 10:27:17 +02:00
akallabeth
f25261e271
Unifiy string append functions
2022-06-17 08:41:46 +02:00
akallabeth
31708d8b20
Disable LTO on apple devices
2022-06-03 08:51:40 +02:00
akallabeth
3d65e5a138
Fix return of getlogin()
2022-06-02 13:57:09 +02:00
Marc-André Moreau
227aa6a55f
Fix WinPR SSPI unit tests to always use SSPI function table
2022-06-01 15:16:12 +02:00
Marc-André Moreau
1d5c0be5ec
Add settings to load a custom SSPI shared library module
2022-06-01 15:16:12 +02:00
David Fort
0a404d5728
fix a warning seen on the MacOS CI
2022-05-30 14:05:41 +02:00
akallabeth
65938708c0
Fixed WITH_PKCS11 option
2022-05-12 11:36:01 +02:00
David Fort
77413f49b2
winpr: rework alignment functions
...
_align_XXX functions aren't widely available depending on the C runtime. That causes
problems with mingw where we can easily have some runtime mixes (which lead to mysterious
segfaults most of the time). This patch introduce winpr_aligned_XXX functions that will
either use the function available, or use an emulation layer.
2022-05-12 11:36:01 +02:00
David Fort
82092f6752
smartcard: add verbose output during listing
2022-05-12 11:36:01 +02:00
akallabeth
ca9247ddd9
Do not compile ncrypt_pkcs11 if CMake option is not set
2022-05-06 13:39:26 +02:00
David Fort
4ffd3e84b9
smartcard: take in account pkcs11-module in smartcard listing and print pkcs11 errors
2022-05-06 13:39:26 +02:00
David Fort
a612ca4ba2
winpr: fix unitary test when CreateProcess is CreateProcessW
...
As the second argument of CreateProcessW is modified to split with spaces and so
this can not be a const arg.
2022-05-05 13:11:18 +02:00
Armin Novak
03ed367fb9
Fixed broken USE_UNWIND check
2022-05-05 13:05:33 +02:00
Armin Novak
400fe6f796
Fixed argument mismatch
2022-05-03 11:48:20 +02:00
akallabeth
6ce3499e13
Settings getter tests ( #7869 )
...
* Added tests for freerdp_[static|dynamic]_collection_* functions
* Added settings unit test for clone functions
* Fix argument for winpr_RAND and winpr_RAND_pseudo
Using void* eliminates all assumptions of which type the buffer is.
This eliminates unnecessary warnings.
2022-05-02 11:39:38 +02:00
akallabeth
a62fe8a3e9
Enable unwind.h and dladdr as default backtrace implementation
...
* config option USE_UNWIND to enable/disable
2022-04-29 15:15:53 +02:00
akallabeth
f10da4552b
default android to unwind
2022-04-29 14:27:44 +02:00
akallabeth
9330559d24
Defined and use _write
2022-04-29 14:27:44 +02:00
akallabeth
00b00ea521
Added unwind.h support
2022-04-29 14:27:44 +02:00
akallabeth
f146709eec
Moved corkscrew backtrace to own file
2022-04-29 14:27:44 +02:00
akallabeth
3e62a05134
Moved windows backtrace to own file
2022-04-29 14:27:44 +02:00
akallabeth
0491f91327
Moved execinfo backtrace to own file
2022-04-29 14:27:44 +02:00
akallabeth
f8ada8984d
Simplified CMake variable names
2022-04-29 14:27:44 +02:00
akallabeth
340f9dd775
Fixed conditional warnings
2022-04-28 12:37:19 +02:00
akallabeth
d63817640f
Fixed ArrayList_SetItem, return success
2022-04-28 12:37:19 +02:00
akallabeth
6bc7f6ca88
Fixed cast-qual warnings
2022-04-28 12:37:19 +02:00
akallabeth
962c5c3ef0
Fixed dead store warnings
2022-04-28 12:37:19 +02:00
akallabeth
ec699f6c75
scanbuild fixes
2022-04-28 12:37:19 +02:00
akallabeth
1dcc5a180a
Fixed warnings
2022-04-28 11:24:51 +02:00
akallabeth
cc3e28f2f1
Fixed -Wdocumentation errors
2022-04-28 11:24:51 +02:00
akallabeth
507722aca4
Fixed snprintf return value checks
2022-04-28 10:49:09 +02:00
akallabeth
2dfc1ddb12
Removed obsolete trio
2022-04-28 10:49:09 +02:00
akallabeth
667b471686
Fixed cast-quality warnings
2022-04-28 09:17:20 +02:00
Armin Novak
e1b4b4aee0
Replaced WINPR_HANDLE_DEF with a struct type
2022-04-28 08:42:09 +02:00
Armin Novak
2dc98adb62
Updated _wcschr and _wcsrchr to match MSDN spec
2022-04-27 19:42:04 +02:00
Armin Novak
833a445e4e
Refactor thread condition logic
...
* Add better return value checks
* Combine logic blocks in structs
* Add (easier to read) static functions for blocks
* Use condition variables only in combination with BOOL
2022-04-27 18:12:37 +02:00
akallabeth
19de452f9c
Cleaned up ntlm_fetch_ntlm_v2_hash
2022-04-22 15:30:23 +02:00
akallabeth
73cdcdfe09
Logging and parser fixes ( #7796 )
...
* Fixed remdesk settings pointer
* Fixed sign warnings in display_write_monitor_layout_pdu
* Use freerdp_abort_connect_context and freerdp_shall_disconnect_context
* Added and updates settings
* info assert/dynamic timezone
* mcs assert/log/flags
* Fixed and added assertions for wStream
* Unified stream length checks
* Added new function to check for lenght and log
* Replace all usages with this new function
* Cleaned up PER, added parser logging
* Cleaned up BER, added parser logging
* log messages
* Modified Stream_CheckAndLogRequiredLengthEx
* Allow custom format and options
* Add Stream_CheckAndLogRequiredLengthExVa for prepared va_list
* Improved Stream_CheckAndLogRequiredLength
* Now have log level adjustable
* Added function equivalents for existing logger
* Added a backtrace in case of a failure is detected
* Fixed public API input checks
2022-04-19 14:29:17 +02:00
akallabeth
752ac3b479
Fix #7793 : Do not expose internal input API ( #7794 )
...
* Fixed GetFileInformationByHandle initializers
* Fix #7793 : Do not expose internal input API
Slow-Path input uses UINT16 for scancodes on wire, but only the
lower byte is actually used. (the extended fields are sent in
keyboardFlags field)
Hide this implementation detail and adjust the API to use UINT8
for the code instead just like the corresponding Fast-Path PDU
* Added a warning for problematic slow path keyCodes
2022-04-13 09:34:05 +02:00
Armin Novak
9d5e7b0d38
Fixed broken stream check
2022-04-06 08:58:32 +02:00
Armin Novak
037084abd5
Fix #7754 remove last newline in convert_filedescriptors_to_file_list
2022-03-28 16:21:27 +02:00
Armin Novak
22194a2ec6
Fixed missing field read.
2022-03-28 15:52:59 +02:00
Armin Novak
29b8298ff8
Fixed windows build (_snpnrintf)
2022-03-28 15:52:59 +02:00
Armin Novak
42ddb0898e
Fixed NTLM flag handling
...
* NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED and NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED
* Problem with clients not supporting NTLMSSP_NEGOTIATE_LM_KEY
* Improve logging
2022-03-28 15:52:59 +02:00
akallabeth
47bd162065
Added function sspi_SetAuthIdentityW
2022-03-28 15:52:59 +02:00
akallabeth
905609381f
Unified sspi_FreeAuthIdentity
2022-03-28 15:52:59 +02:00
Armin Novak
453d3b4c8b
Fixed #7754 : nautilus does not like \r\n
2022-03-28 14:59:30 +02:00
akallabeth
c2e882c509
Nla server cleanup && server auth fix ( #7743 )
...
* Reduce negotiate logging verbosity
* Remove duplicate pointers from rdpNla
* Fixed server nla auth
* Encapsulated nla_server_recv_credentials
2022-03-25 10:47:05 +01:00
Zhengyi Fu
e62aaff319
winpr: add GetFileInformationByHandle
2022-03-24 13:40:31 +01:00
Armin Novak
4f07e75bac
Removed unnecessary assert
2022-03-22 10:59:58 +01:00
Armin Novak
8d4332235e
Refactored WinPR::NTLM
...
* added assertions
* added log messages
* removed code duplication
2022-03-22 10:59:58 +01:00
Mike Gabriel
d337ea9c16
winpr/{libwinpr/thread/thread.c,include/winpr/thread.h}: Keep DumpThreadHandles as a symbol even if WITH_DEBUG_THREADS is OFF.
2022-03-08 09:16:10 +01:00
akallabeth
3d38d2636c
Decreased logging verbosity for INFO level
2022-03-04 09:34:02 +01:00
Armin Novak
d1f8c00f7b
Fixed duplicated symbols
2022-03-03 11:26:48 +01:00
Armin Novak
6ed50b4b1d
Refactored WinPR includes
2022-03-03 11:26:48 +01:00
akallabeth
c99c4cecdd
Fixed GetEnvironmentVariableX: Return sting length including '\0'
2022-03-03 08:15:28 +01:00
akallabeth
952068145e
Fixed GetEnvironmentVariableX win32 call to ConvertFromUnicode
2022-03-03 08:15:28 +01:00
akallabeth
aef3cb16fa
Fixed GetEnvironmentVariableX for windows
2022-03-03 08:15:28 +01:00
David Fort
fa1656178a
Fix a leak in GetEnvironmentVariableX under win32
...
The variable name was leaked.
2022-03-03 08:15:28 +01:00
David Fort
f33c679552
smartcard: fix smartcard enumeration
...
There was a bug in smartcard listing that was leading to be unable to open a key
with slotId != 0. When any error or skipped item was happening during listing
the code was crashing.
2022-03-03 08:15:28 +01:00
akallabeth
c25d15d1d6
Initialize WLog prefix string buffers '\0'
2022-02-28 16:49:18 +01:00
akallabeth
861eaa693b
Removed windows debug console 4096 character limit
2022-02-28 16:49:18 +01:00
Armin Novak
e36c49eab7
Properly log kerberos error strings
2022-02-24 14:48:46 +01:00
Armin Novak
001c505572
Const corrected function sspi_CopyAuthIdentity
2022-02-24 14:48:46 +01:00
Armin Novak
5fd3bf7c0c
Fixed reg_load_value
2022-02-24 12:31:58 +01:00
Armin Novak
6e2c5f2273
Added CommandLineParseCommaSeparatedValuesEx single quote support
2022-02-24 10:58:26 +01:00
Armin Novak
f4572b082a
Use typedef struct definition for sspi types
2022-02-24 08:52:25 +01:00
David Fort
0435b5a65d
Implement smartcard logon
2022-02-24 08:52:25 +01:00
David Fort
310f2047bf
fix build with mingw 7
2022-02-24 08:52:25 +01:00
David Fort
c90074d10c
fix leaks in ncrypt
2022-02-24 08:52:25 +01:00
David Fort
19453883f8
winpr gss: wire gss_acquire_cred_from
2022-02-24 08:52:25 +01:00
David Fort
cb351a099d
Enable smartcard NLA logon
2022-02-24 08:52:25 +01:00
David Fort
a563a6836b
winpr: ncrypt add a property to retrieve the PKCS11 slotId
2022-02-24 08:52:25 +01:00
Armin Novak
ceaff16f8c
Added quoted argument support to CommandLineParseCommaSeparatedValuesEx
...
* Argument quoting support
* Empty list element detection
* Unit test for argument parser
2022-02-24 08:26:30 +01:00
Armin Novak
3bb36f4caa
Fixed clang-scanbuild warnings
2022-02-22 16:15:05 +01:00
Armin Novak
c0a39c2db8
Fixed TestUnicodeConversion warning
2022-02-22 12:21:21 +01:00
Armin Novak
1b71bba2a0
Fixed compilation warnings
2022-02-22 11:29:56 +01:00
Armin Novak
bf9f1eccc1
Fixed issued with mingw build
2022-02-18 08:38:28 +01:00
akallabeth
3c61a31f65
Fixed ICU include directories
2022-02-17 09:53:52 +00:00
Armin Novak
5f8ab14f3f
Cleaned up registry value reading, added warnings
2022-02-15 13:43:36 +00:00
Armin Novak
8231a7e7a7
Added runtime configuration option for kerberos/NTLM fallback
2022-02-15 13:43:36 +00:00
Armin Novak
3f39c19709
Fixed wrong assert and memory leaks
2022-02-15 10:51:03 +01:00
Armin Novak
4492c834cd
Fixed uninitialized warnings
2022-02-15 10:51:03 +01:00
Armin Novak
89e4cf33e3
Fix NCryptOpenP11StorageProviderEx
...
* Allow NULL paths, fall back to default (or direct link)
2022-02-15 10:51:03 +01:00
Armin Novak
7d92e9c809
Option to link against opensc-pkcs11
2022-02-15 10:51:03 +01:00
Armin Novak
a229c1672d
Warning fixes and assert
2022-02-15 10:51:03 +01:00
Armin Novak
aac28aaeab
Fixed NCryptOpenP11StorageProviderEx
2022-02-15 10:51:03 +01:00
akallabeth
2d2627deab
Fixed SSPI fallback to NTLM ( #7642 )
...
* Fixed SSPI fallback to NTLM
* Fixed wide/ansi mixup
* WITH_GSS fixes
* Move to WinPR as this is not related to FreeRDP
* Add option WITH_GSS_NO_NTLM_FALLBACK to disable NTLM fallback
* Abort NLA if status is SEC_E_NO_CREDENTIALS
* Properly invalidate sspi::SubContext
2022-02-15 09:04:17 +01:00
akallabeth
8cc6582044
Unify struct definitions ( #7633 )
...
* Unified enum/struct definitions, fixed include issues
* Fixed mac compilation issues
* Added missing include
* Fixed windows server build warnings
* Fixed VS2010 build issue
* Removed unnecessary library linking
* Fixed ThreadPool WinXP compatibility
* Fixed pr review remarks
2022-02-14 14:59:22 +01:00
Armin Novak
1947629b8e
Fixed possible leaks in TestSynchMultipleThreads
2022-02-14 08:36:55 +00:00
Armin Novak
10e40147fb
Fixed various const warnings
2022-02-01 10:25:37 +00:00
Armin Novak
ca30e749e9
Fixed unused-but-set-variable and reserved identifier warnings
2022-02-01 08:48:21 +01:00
Armin Novak
bc08ebc01c
Corrected const arguments for wStream functions
...
Functions only extracting values now use const for wStream argument
2022-01-31 16:13:06 +01:00
akallabeth
b698041d9f
Fixed return value of GetUserNameExA
2022-01-25 15:33:04 +01:00
akallabeth
7dedfbb0b0
Added support for getpwuid_r, replaced duplicate code
...
* Use GetUserNameExA to get current user name when required.
* Add support for getpwuid_r if available
2022-01-25 15:33:04 +01:00
akallabeth
a337031b24
Cache Emulate_IsConfigured result ( #7569 )
...
* Cache Emulate_IsConfigured result
The check is used very often, so this caching reduces necessary
allocations.
* Fix winpr_HexLogDump
Abort function early if the log message is to be discarded due to
the log level being inactive.
* Use common logger for rdpdr message
Co-authored-by: Martin Fleisz <martin.fleisz@thincast.com>
2022-01-21 13:24:20 +01:00
David Fort
02535ea200
winpr: fix a crash when kerberos fails during negociation
2022-01-19 18:03:52 +01:00
David Fort
968416ce95
kerberos: fix encode/decode functions
2022-01-19 18:03:52 +01:00
akallabeth
e6e6ed5dbd
Cleaned up PubSub
...
* Callback arguments now const
* Fixed missing includes
2022-01-19 09:24:57 +01:00
akallabeth
1326134cdf
Fixed warnings in BufferPool
2022-01-19 09:24:57 +01:00
David Fort
82eee65daf
winpr: fix ncrypt on Mac and updated tests
2022-01-17 16:27:53 +01:00
David Fort
06cb610207
smartcard: start implementing SCardListCards
...
This basic implementation tries to emulate the corresponding function by using a
predefined list of name for a given ATR.
2022-01-17 16:27:53 +01:00
David Fort
130f191392
winpr: fix some string constant in ncrypt and add reader property
...
Some WCHAR string constant were wrong (missing \x00 at the end).
The commit also implements the NCRYPT_READER_PROPERTY property in the pkcs11 provider.
2022-01-17 16:27:53 +01:00
David Fort
eb53b9913a
winpr: interpret the scope paramater in NCryptEnumKeys
...
Although the official documentation claims that pszScope parameter shall be set to
NULL. In practice setting it to \\.\<reader name>\ allows to filter on the corresponding
reader.
2022-01-17 16:27:53 +01:00
akallabeth
bd42b34776
Decreased NTLM debug log verbosity
2022-01-13 17:20:48 +01:00
Armin Novak
855aaaadad
Fixed reg_close
2022-01-11 14:32:18 +01:00
Armin Novak
444ddb4444
Fixed reg_unload: ignore empty root_key
2022-01-11 14:32:18 +01:00
Armin Novak
339cdded45
Fixed memory sanitizer warnings
2022-01-11 14:32:18 +01:00
Armin Novak
004a0984b9
Fixed reg_insert_key
2022-01-11 14:32:18 +01:00
Armin Novak
56ae1ed9b3
Fixed verbose debug messages in registry
2022-01-11 14:32:18 +01:00
Armin Novak
1dc14b7379
Harden registry function emulation
2022-01-11 14:32:18 +01:00
akallabeth
df67d2796f
Fixed reg_load_val
...
Reported by George Zaytsev from Positive Technologies
2022-01-11 14:32:18 +01:00
akallabeth
ce4a9ad1e7
Fixed RegQueryValueExA
...
* Set lpType if not NULL
* Set lpcbData only if not NULL
Reported by George Zaytsev from Positive Technologies
2022-01-11 14:32:18 +01:00
akallabeth
8c543b1de2
Added smartcard emulation layer
2022-01-11 12:34:43 +01:00
Marc-André Moreau
55be5f8bb0
Fix Windows Unicode handling of environment variables
2022-01-11 12:32:14 +01:00
David Fort
da17787f9a
mingw: fix pool tests compilation
2022-01-10 11:02:45 +01:00
David Fort
bfe8b464be
winpr: fix and enhance ncrypt
...
This patch adds the NCryptEnumStorageProviders function.
It also fixes strings bugs with the compiler taking the WCHAR "Micro" string
M\x00i\x00c\x00r\x00o\x00 as
M\x00i\x0c\x00r\x00o\x00, and so generating unexpected behaviours. The solution is
to split string constants when you hit a character that is a valid hex number, so
that the compiler doesn't interpret i\x00c\x00 (ic in WCHARs) as i\x0c\x00 (weird
string).
2022-01-10 11:02:45 +01:00
Armin Novak
d114773a08
Removed unimplemented/unused ndr from WinPR
2021-12-23 14:27:12 +01:00
Armin Novak
ed9cc8c1cc
Removed heap module from WinPR
2021-12-23 14:27:12 +01:00
Armin Novak
4f0f8e9f8c
Removed credentials module from WinPR
2021-12-23 14:27:12 +01:00
Armin Novak
5365b2f5f0
Removed midl.c|h from WinPR
2021-12-23 14:27:12 +01:00
Armin Novak
3de6af34ed
Removed unused module winhttp
2021-12-23 14:27:12 +01:00
Armin Novak
379aeed24e
Removed unimplemented credui module
2021-12-23 14:27:12 +01:00
Armin Novak
a713d5417e
Remove unimplemented wnd module
2021-12-23 14:27:12 +01:00
Armin Novak
be3e09aa72
Removed unused static variables
2021-12-20 08:11:00 +01:00
Armin Novak
b30f8886b2
Fixed LinkedList const correctness
2021-12-15 13:36:15 +01:00
David Fort
d4020e2328
winpr: implement ncrypt API
...
This implements the emulation for the ncrypt API and more specifically the smartcard
provider so that we can list available keys and certificates using pkcs11-helper.
2021-12-14 14:12:01 +01:00
Armin Novak
4551ecf845
Removed unused string constant
2021-12-14 13:46:34 +01:00
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