Commit Graph

3587 Commits

Author SHA1 Message Date
akallabeth
ba8cf8cf21 [build] fix Wmismatched-deallocator warnings
With custom malloc function attributes the fail path in the _New
functions produces warnings due to allocator mismatches. Silence them.
2024-02-05 08:16:55 +01:00
akallabeth
bb42d425ed [gcc,clang] add support for attribute(malloc)
Mark all malloc like functions and add their appropriate free function
to let the compiler complain on mismatches
2024-02-02 15:10:40 +01:00
akallabeth
bc23b205b5 [release] start new development cycle 2024-01-19 09:57:41 +01:00
akallabeth
bb87d4ca50 [release] update to 3.2.0 2024-01-19 09:57:41 +01:00
akallabeth
575d42312a [code] improve error checks on free 2024-01-19 09:57:41 +01:00
Armin Novak
5298580bbd [winpr,sspi] properly log all kerberos calls
to ease debugging log each failure of a kerberos related function along
with location and function name
2024-01-15 08:10:30 +01:00
akallabeth
78cdb555c5 [winpr,sysinfo] add additional neon check
systems not explicitly handled in IsProcessorFeaturePresent now enable
NEON intrinsics if __ARM_NEON is defined.
Fixes #9746
2024-01-10 09:27:46 +01:00
akallabeth
f6a208f75e [cmake] generate relative pkgconfig path
generate the relative pkgconfig path from the actual install locations.
fixes #9718
2024-01-05 14:19:34 +01:00
Armin Novak
87557b1e4e [release] start new development cycle 3.1.1-dev0 2023-12-22 17:29:20 +01:00
Armin Novak
959a195df7 [release] update version to 3.1.0 2023-12-22 17:29:20 +01:00
Armin Novak
a7decba8c2 [cmake] unify common options 2023-12-22 16:21:30 +01:00
Armin Novak
7debd0f621 [cmake] set policy 0091
On windows we need to set the runtime linker settings extra
https://cmake.org/cmake/help/latest/policy/CMP0091.html
2023-12-22 15:37:56 +01:00
Armin Novak
d3d9302fa9 [cmake,winpr] fixed typo 2023-12-22 15:37:56 +01:00
Armin Novak
175a3ca09a [cmake] do not append EXECUTABLE_SUFFIX to OUTPUT_NAME 2023-12-22 15:37:56 +01:00
Armin Novak
7d641a67b9 [doc,manpage] name manpages versioned
if WITH_BINARY_VERSIONING is activated also version the manpages to
match the binary names
2023-12-22 10:24:09 +01:00
Armin Novak
b04271ae2d [cmake] add executable versioning
optionally append API version to generated binaries
2023-12-21 18:56:51 +01:00
Armin Novak
36f3aa68a7 [cmake] add -DWITH_LIBRESSL option
* this option forces LibreSSL detection using CMake files, disables
  OpenSSL and MbedTLS detection
* Sets compatiblity options with OpenSSL to allow build to succeed
2023-12-21 07:11:12 +01:00
Armin Novak
5b0ee107bf [winpr,crt] fix wcstok_s 2023-12-20 09:03:58 +01:00
Armin Novak
9575f386cd fixed WCHAR constants, use endian safe definitions 2023-12-20 09:03:58 +01:00
Armin Novak
28e5167435 [unicode] fix definition of _wcschr search char 2023-12-20 09:03:58 +01:00
Armin Novak
da49127a78 [unicode] remove obsolete bigendian defines 2023-12-20 09:03:58 +01:00
Armin Novak
198774c035 [compat,libressl] fix compilation issues 2023-12-19 20:44:39 +01:00
David Fort
8d461f40ab [build] fix some warnings 2023-12-19 16:34:41 +01:00
Marc-André Moreau
6fbd447342 migrate to mbedtls 3.x with mbedtls 2.x backward compatibility 2023-12-19 11:34:24 +01:00
Armin Novak
d3716ef0ba [warnings] fixed -Woverflow 2023-12-13 13:24:22 +01:00
Armin Novak
879e68c02b [warnings] fixed -Wincompatible-pointer-types 2023-12-13 13:24:22 +01:00
Armin Novak
49c52b1ee8 start 3.0.1-dev0 cycle 2023-12-12 19:36:54 +01:00
Armin Novak
a34fa7c49d release-3.0.0 2023-12-12 19:36:54 +01:00
Armin Novak
6f723e9f4d [winpr,crt] add InitializeConstWCharFromUtf8 2023-12-12 19:36:54 +01:00
Armin Novak
30494d0c93 [winpr,crt] add return to ByteSwapUnicode 2023-12-12 19:36:54 +01:00
Armin Novak
fad30cce1b [winpr,crt] fix ICU string convert
use ucnv_convert to make conversion endian safe
2023-12-11 21:25:31 +01:00
Vic Lee
c71de3f432 [winpr,timer] allow compilation to continue without timer support. 2023-12-11 08:51:59 +01:00
Vic Lee
97ef5d09e9 [core,crypto] fix missing OpenSSL includes. 2023-12-11 08:51:59 +01:00
r-a-sattarov
dcefd4f861 E2K: added initial support of MCST Elbrus 2000 CPU architecture
Ref: https://en.wikipedia.org/wiki/Elbrus_(computer)
2023-12-04 11:51:46 +01:00
akallabeth
615fcc4370 [cmake] prevent in source builds 2023-11-28 12:14:55 +01:00
akallabeth
1b31852d32 [git] remove .gitignore
we do no longer allow in source builds, so remove all the .gitignore
files just hiding generated files
2023-11-28 12:14:55 +01:00
Armin Novak
6547b2dfe7 started 3.0.0-dev6 cycle 2023-11-27 11:04:16 +01:00
Armin Novak
e6fffdb7b0 release 3.0.0-rc0 2023-11-27 11:04:16 +01:00
Armin Novak
3f3f5010bd [test,unicode] fix test result comparison
If the buffer size was too small do not expect success and skip the
memcmp.
2023-11-24 18:19:03 +01:00
Armin Novak
0bd76e256b Revert "Refactor TestUnicodeConversion"
This reverts commit d1dcae5b4a.
2023-11-24 18:19:03 +01:00
Armin Novak
88697183b9 [winpr,unicode] simplify unicode functions 2023-11-24 18:19:03 +01:00
akallabeth
e3a84921de [core,gateway] fix TSG_PACKET_TYPE_QUARENC_RESPONSE
parsing of TSG_PACKET_TYPE_QUARENC_RESPONSE was incomplete, fix that
2023-11-20 18:00:42 +01:00
Armin Novak
f1ddc19806 [winpr,str] add winpr_vasprintf 2023-11-20 18:00:42 +01:00
David Fort
061148f856 [nla] initial server-side remote credential guard support
Adds support for server-side remote credential guard in NLA. When enabled that allows
the remote user to connect without shipping credentials in TSCred packets. Instead
it will send his TGT encoded with a TGS from the remote server. This way the server
is able to populate that TGT in a local credential cache without knowing the user's
password.

The patch only treats the NLA part and does not contain the associated RDPEAR channel
that allows to have the complete interaction to retrieve new access tokens.
2023-11-20 16:17:00 +01:00
Richard Markiewicz
a4e7aba97c [cmake] fix winpr build with FREERDP_UNIFIED_BUILD off 2023-11-17 08:39:22 +01:00
Armin Novak
e0e72f9c28 [cmake] use CMAKE_MSVC_RUNTIME_LIBRARY
* Increase required CMake version to 3.15 (windows only)
* Use
  https://cmake.org/cmake/help/latest/prop_tgt/MSVC_RUNTIME_LIBRARY.html#prop_tgt:MSVC_RUNTIME_LIBRARY
  to select windows runtime
2023-11-16 10:40:04 +01:00
David Fort
4e2e7e0eae [build] fix mingw build on Ubuntu 22.04
Seems like the version check was not ok and build was failing on Ubuntu 22.04.
2023-11-13 19:43:44 +01:00
David Fort
0d975f9c27 spnego: add NegoEx in known mechType and don't segfault with unknown mechType
NegoEx is a known and very common mechType when the client is mstsc.
The patch also fixes a segfault that was happening when we were logging a mech that
we don't support.
2023-11-13 19:43:44 +01:00
akallabeth
13b44b8b77 [ifdef] properly check for defined 2023-11-10 09:58:23 +01:00
Armin Novak
98a4eb77ef [core] VirtualChannelChunkSize adjustments
* add CHANNEL_CHUNK_MAX_LENGTH
* remove duplicate definitions
* default to CHANNEL_CHUNK_MAX_LENGTH
2023-11-03 12:43:25 +01:00
akallabeth
c5cd40f1bc [winpr,sspi] add some missing krb5 return checks 2023-10-24 12:16:38 +02:00
akallabeth
afc9ddd15f [winpr,sspi] uppdercase on copy of string 2023-10-24 12:16:38 +02:00
Armin Novak
60dc6081de [winpr,tools] WITH_WINPR_TOOLS now single truth
use all preconditions for the default of WITH_WINPR_TOOLS and do not
check these later on.
2023-10-19 13:43:57 +02:00
akallabeth
92e453754b [CMake] add public headers to targets
Add all public headers to the respective library targets.
This helps an IDE to show the headers grouped to the correct target.
2023-10-19 13:43:57 +02:00
akallabeth
cc6cfd5e7d [warnings] silence warnings for GetProcAddress 2023-10-17 11:07:11 +02:00
akallabeth
7a8e1442bf [warnings] add pragma to silence pedantic warnings 2023-10-17 11:07:11 +02:00
Armin Novak
60390ea40c [pragma] unify compiler diagnostics 2023-10-16 15:10:13 +02:00
Armin Novak
c91a250623 [warnings] add WINPR_FORMAT_ARG
with WINPR_FORMAT_ARG format strings are marked for MSVC to avoid
warnings
2023-10-16 15:10:13 +02:00
Armin Novak
a16479f5d5 [winpr,ncrypt] cast constants to SECURITY_STATUS 2023-10-16 15:10:13 +02:00
Armin Novak
07543a6042 [warnings] fix various warnings
* missing const in casts
* missing static for functions
* missing WINPR_ATTR_FORMAT_ARG for printf like functions
2023-10-16 15:10:13 +02:00
Armin Novak
9f7cfe51ba [pubsub] fix API definitons to avoid warnings 2023-10-16 15:10:13 +02:00
Armin Novak
2b51551cb8 [winpr,tests] remove always false check 2023-10-16 15:10:13 +02:00
Armin Novak
a7e8a72396 [winpr] fallback to pkg-config for uriparser
older versions do not ship a CMake configuration, fall back to
pkg-config based detection in that case.
2023-10-16 15:10:13 +02:00
akallabeth
25f3633dc5 [systemd] moved detection to module 2023-10-10 22:59:53 +02:00
akallabeth
019bdc564b [uriparser] default to on if detected 2023-10-10 22:59:53 +02:00
akallabeth
8dedcc9068 [winpr,string] add uriparse as optional 2023-10-10 19:35:27 +02:00
akallabeth
13a3d6d988 [winpr,tools] warn if unimplemented function called 2023-10-10 19:35:27 +02:00
akallabeth
d44f9528a1 [ssl] use proper names for TLS_*_method
only use deprecated SSLv23_*method on old versions of SSL
2023-10-10 19:35:27 +02:00
akallabeth
89429885a0 [cmake] make generated pkg-config files relocatable
* new CMake option PKG_CONFIG_RELOCATABLE (default ON) allows generating
  traditional or relocatable pc files
2023-10-10 19:35:27 +02:00
akallabeth
32d131d9ef [cmake] add missing CMake files for winpr-tools 2023-10-10 19:35:27 +02:00
akallabeth
86acc8d31a [warnings] fixed reserved-identifer warnings 2023-09-25 08:39:01 +02:00
akallabeth
2e7f387783 open 3.0.0-dev5 cycle 2023-09-21 13:57:48 +02:00
akallabeth
1f284d3af8 update version to 3.0.0-beta4 2023-09-21 13:57:48 +02:00
akallabeth
45c1bc8748 [tests] disable TestSynchMultipleThreads
the test is buggy as the native implementation on windows often
segfaults.
2023-09-21 10:38:55 +02:00
akallabeth
184e006ce5 [winpr,cmdline] fix unquoting of value
Comma separated lists of form 'a,b,\"b,c,d\"' were not correctly parsed
as the trailing quote was not consumed.
2023-09-21 10:38:30 +02:00
akallabeth
a94e14fb22 [winpr,wlog] fix format string for %fn 2023-09-11 14:20:10 +02:00
akallabeth
ff5f2df3f9 [winpr,synch] allow all handle types
GetEventFileFd should return a file descriptor for all types supporting
one, not just events
2023-09-11 14:20:10 +02:00
David Fort
8a39859612 [arm] various improvements
This patch moves the ARM configuration before starting the connection process, so
that we can do some provisioning of the FreeRDP settings with the items retrieved
from Azure.
Most notably that allows us to connect directly using RDSTLS security.
2023-09-04 10:24:56 +02:00
Armin Novak
639a36225e [version] start 3.0.0-dev4 cycle 2023-08-31 12:27:06 +02:00
Armin Novak
59a5726ab3 [version] update to beta3 version 2023-08-31 12:27:06 +02:00
Armin Novak
3ea38175b4 [locale,keyboard] fix keyboard mapping on apple 2023-08-31 11:39:22 +02:00
Armin Novak
fe2595eaeb [winpr,crt] fix unicode conversion
fix erroneous cast to wrong pointer type
2023-08-31 11:39:22 +02:00
akallabeth
4e824b243f [winpr] add WINPR_ATTR_FORMAT_ARG
this macro declares the function argument (pos,arg) to be a printf
style format string and enables compiler checks for that.
2023-08-25 12:56:36 +02:00
akallabeth
786279fd9f [winpr,api] add C23 [[deprecated]] support
* Support C23 attributes for WINPR_DEPRECATED* macros
* Support C23 attributes for WINPR_NORETURN macro
2023-08-25 12:56:36 +02:00
akallabeth
9cee9b3c08 [c standard] use WINPR_FALLTHROUGH
use the macro to silence intentional switch fallthrough locations
2023-08-25 12:56:36 +02:00
akallabeth
4a82980983 [winpr] fix compiler warnings 2023-08-25 12:56:36 +02:00
akallabeth
76609529e0 [winpr,file] fix FindFirstFile issues with android
Fixes #9277: On android parent directories are not accessible, so if
opendir fails and the pattern is just the directory name without any
pattern (e.g. stat tells the full path is a directory) directly open it
and set the pattern to '*'
2023-08-24 13:17:57 +02:00
David VERON
d1dcae5b4a Refactor TestUnicodeConversion
* added testcases when buffers reprensented empty string
    * corrected the code to behave as the doc says
* added tests for the alloc versions
2023-08-24 07:41:27 +02:00
akallabeth
3e744e13c3 [smartcard] clean up function table wrapper 2023-08-23 12:26:27 +02:00
Marc-André Moreau
30c31d64e8 WinSCard dynamic API loading with /winscard-module cli argument 2023-08-23 12:26:27 +02:00
Marc-André Moreau
98b4ff559b fix issue with using find_library for Windows system libraries 2023-08-23 09:46:53 +02:00
akallabeth
ad27cef021 [winpr,wtypes] add WINPR_RESTRICT macro 2023-08-22 15:39:00 +02:00
Armin Novak
dd9757d686 [server] add exerimental and unmaintained warnings 2023-08-21 15:42:10 +02:00
Kimon Hoffmann
8ec4d20616 [cmake] Locate PkgConfig module with find_package() instead of include(FindPkgConfig)
This is the contemporary way of including find modules and including the
find module this way avoids cmake errors in conjunction with
find_package_handle_standard_args().

Signed-off-by: Kimon Hoffmann <Kimon.Hoffmann@lawo.com>
2023-08-21 12:43:56 +02:00
David Fort
2252d53001 [winpr] cipher enable setting the padding option
It happens that with some ciphers the standard behaviour that disables padding
is not desired. This patch adds a function to enable padding.
2023-08-16 10:19:15 +02:00
David Fort
56324906a2 TestThreadExitThread: fix messages and wait timeout for the windows CI
Looks like for the windows x86_86 CI host 100ms is too small for a thread to terminate
so let's wait for longer and decrease the number of loops.
2023-08-12 09:24:08 -04: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
akallabeth
b12e2ee469 [cmake] do not require NTDLL 2023-08-04 12:59:11 +02:00
akallabeth
793d80f2c4 [cmake] update ci defaults 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
76d23885d4 [cmake] add common options to subprojects 2023-08-04 12:59:11 +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
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
Armin Novak
b97a5448d2 update timezones 2023-08-01 17:18:22 +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
Armin Novak
6bdd36c83d [winpr,test] fix testsynchmultiplethreads 2023-08-01 07:44:48 +02:00
Armin Novak
ef5c0e78ab [build] use define WINPR_FALLTHROUGH
with c17 compatible compilers annotate with [[fallthrough]]
2023-07-31 23:46:53 +02:00
Armin Novak
bd79d8f100 [winpr,rdtk] use png only if supported by winpr
rdtk compiles in bitmaps of fonts. if png format is supported by winpr,
prefer the png images, otherwise use bmp
2023-07-31 20:18:48 +02:00
Armin Novak
97cb8d9e57 [winpr,collections] simplify c++ casts 2023-07-31 10:12:23 +02:00
Armin Novak
35915d3e22 [winpr] fix various warnings 2023-07-31 08:32:43 +02:00
Armin Novak
d4b9812db2 [winpr,sync] define symbols unsigned long 2023-07-31 08:32:43 +02:00
Armin Novak
c9852a870b [winpr] use C++ compatible casts
use a macro for casts to avoid C++ warnings
2023-07-31 08:32:43 +02:00
Armin Novak
6683fb1b22 [winpr,nt] use C++ compatible cast 2023-07-31 08:32:43 +02:00
Armin Novak
2378551105 [winpr,stream] c++ compatible casts
use a macro to cast C or C++ compatible to avoid warnings
2023-07-31 08:32:43 +02:00
ehdgks0627
d04ba8d6ef Correct typos and formatting errors in format strings
In several files, fixed typos in format strings that were causing unexpected output and formatting issues.
2023-07-28 15:34:46 +02:00
Armin Novak
b46a4ce750 [winpr,string] remove duplicate string functions
prefer standard C functions over window specific ones
2023-07-28 13:42:12 +02:00
Armin Novak
4f7a3762ae [winpr] fix cast warnings 2023-07-28 13:42:12 +02:00
Armin Novak
61625f1a2a [winpr,utils] fix cast warnings 2023-07-28 13:42:12 +02:00
Armin Novak
f2aa469700 [winpr,collections] fix cast warnings 2023-07-28 13:42:12 +02:00
Armin Novak
20653aee1d [winpr,ini] fix cast warnings 2023-07-28 13:42:12 +02:00
Armin Novak
32b9eeb3c0 [winpr,sysinfo] deprecage GetVersionInfoEx
the function is deprecated under windows, so deprecate it in WinPR too
and remove/replace usage
2023-07-28 13:42:12 +02:00
Armin Novak
96112b28ab [winpr,stream] replace defines with inline functions 2023-07-28 13:13:50 +02:00
Armin Novak
33653756f2 [winpr,sspi] fixed const correctness of arguments 2023-07-27 21:05:43 +02:00
Armin Novak
e61880d077 [standard] replace __FUNCTION__ with __func__ 2023-07-27 20:02:43 +02:00
Armin Novak
605b6b6233 [cmake] build using external lodepng 2023-07-26 20:19:46 +02:00
Armin Novak
70ddb6518a [PathCchAppend] fix missing return checks 2023-07-26 10:57:42 +02:00
Armin Novak
3847035b8e [winpr,clipboard] fix clipboard file listing 2023-07-26 10:57:42 +02:00
Armin Novak
14d5cbeacb [winpr,file] fix issues with FindFirstFile 2023-07-26 10:57:42 +02:00
Armin Novak
d660f017b2 [winpr,path] add recursive directory delete 2023-07-26 10:57:42 +02:00
Armin Novak
62b6c98393 [winpr,file] do not assume order for directory listings 2023-07-24 11:05:13 +02:00
akallabeth
5de7887d93 start new development cycle after 3.0.0-beta1 release 2023-07-21 16:04:49 +02:00
Armin Novak
f08d59ca5f update version to 3.0.0-beta1 2023-07-21 16:04:35 +02:00
akallabeth
ee078cdda4 [warnings] fix format string warnings 2023-07-20 14:20:28 +02:00
Armin Novak
c26f356225 [winpr,ncrypt] do not link pkcs11 for dynamic detection 2023-07-17 14:04:03 +02:00
akallabeth
2521d151e5 [winpr,wlog] added %{ %} formatter
* New formatter %{xxx%} which conditionally prints xxx if the context is
  not NULL
2023-07-06 15:51:56 +02:00
akallabeth
1f3f3682cc [build] fix conversion warnings 2023-07-05 08:46:00 +02:00
akallabeth
c7f7f38367 [ci] deactivate proxy modules on windows
current builder is too old for c++11
2023-07-05 08:46:00 +02:00
Martin Fleisz
622a2a8df0 misc: More int to BOOL conversion fixes
This is a follow up to #9129.

This PR fixes some problematic `int` to `BOOL` conversions that might
cause overflows when checking for bit flags.
2023-07-04 09:45:20 +02:00
akallabeth
b7ff113780 [winpr,crt] fix missing include 2023-06-29 18:34:51 +02:00
Armin Novak
40ecb1df25 [winpr,ini] documentation and parameter to size_t
* document the IniFile_* fucntions
* Use size_t for size parameters
2023-06-29 14:46:41 +02:00
Armin Novak
21ea8556ce [winpr,ini] remove FILE* from struct
When reading files the FILE* is closed immediately, so this was just
confusing
2023-06-29 14:46:41 +02:00
Armin Novak
58087e544f [winpr,ini] unify buffer allocation 2023-06-29 14:46:41 +02:00
Armin Novak
37e5e2223e [winpr,ini] unify filename setting 2023-06-29 14:46:41 +02:00
Armin Novak
eb6230a563 [winpr,ini] assert arguments 2023-06-29 14:46:41 +02:00
Armin Novak
c717380020 [winpr,ini] unify reallocation of ini sections and keys 2023-06-29 14:46:41 +02:00
akallabeth
0d3b2dd3c3 [tests] fixed format strings 2023-06-29 14:30:09 +02:00