Commit Graph

3587 Commits

Author SHA1 Message Date
akallabeth
843ecfc01a [coverity] 1543172 Pointer to local outside scope 2024-04-11 12:04:07 +02:00
akallabeth
3997eeb5b3 [coverity] 1543227 Readlink used insecurely 2024-04-11 12:04:07 +02:00
akallabeth
3b04ab95d4 [coverity] 1543146 Use after free 2024-04-11 12:04:07 +02:00
akallabeth
9768a5f48f [coverity] 1543257 Buffer not null terminated 2024-04-11 12:04:07 +02:00
akallabeth
4a56e2f74c [winpr,kerberos] use profile_abandon
suggested by @greghudson to just release the profile and not flush
changes back to config file. See #9766
2024-04-03 15:37:43 +02:00
Armin Novak
18612bb513 [mingw] fix missing shlwapi link 2024-04-02 09:31:55 +02:00
Kai Pastor
4b52dfd70c Add #include to declare winpr_strerror 2024-04-01 09:31:57 +02:00
akallabeth
678ff144ab [cmake] unify windows resource file generation
* use a macro to add resource files for executables and shared libraries
* use that macro to declare targets
* use that macro to set library/binary versioning
* use that macro to set target output name
* use a macro to create manpages and names
2024-03-20 11:17:18 +01:00
akallabeth
09ff2966af [cmake] unify BSD related configuration in PlatformDefaults.cmake 2024-03-20 09:11:08 +01:00
akallabeth
92ed8b3916 [winpr,timezone] outside definition timezone file
allow defining the filepath of timezone file in buildsystem adjusting it
without a required code change.
2024-03-20 09:11:08 +01:00
akallabeth
f4b7c59915 [cmake] move platform defines to common include
* Move platform specific settings to a common CMake include
2024-03-20 09:11:08 +01:00
akallabeth
1bf3f5335e [winpr,file] clean up FileSetFileTime
* Split POSIX and BSD implementations
* Add stub for unuspported platforms
2024-03-20 09:11:08 +01:00
Kai Pastor
c8c70ad730 Don't remove duplicate link libs 2024-03-19 08:33:54 +01:00
akallabeth
91b143be54 [winpr,clipboard] fix WCHAR buffer size 2024-03-18 22:33:54 +01:00
akallabeth
4b73e7525c [winpr,crt] fix incompatible WCHAR pointer 2024-03-18 13:27:32 +01:00
akallabeth
199b51cebb [winpr,smartcard] fix incompatible PCSC_SCardListReaders pointer 2024-03-18 13:27:32 +01:00
akallabeth
18ce4b35ce [winpr,clipboard] fix incompatible WCHAR pointer 2024-03-18 13:27:32 +01:00
akallabeth
1c0bab542b [winpr,sysinfo] clock_gettime is available since POSIX 1993 2024-03-18 08:52:22 +01:00
akallabeth
8df13033d5 start 3.4.1-dev0 cycle 2024-03-14 11:28:33 +01:00
akallabeth
708f376489 release-3.4.0 2024-03-14 11:28:33 +01:00
akallabeth
d87d598305 [winpr] add WINPR_ALIGN64 defines
Add defines to aling struct members to 8 bytes
2024-03-12 14:24:36 +01:00
Kai Pastor
f2f9c59b01 Disable WINPR_THREAD_POOL for mingw 7 2024-03-12 09:39:45 +01:00
Kai Pastor
47354c4519 Fix MSVC arm64 2024-03-12 08:40:42 +01:00
akallabeth
4732f379d4 [winpr,sysinfo] unify time function use
* Add new function winpr_GetTickCount64NS for high resolution tick
  count with (up to) nanosecond resolution
* Add new function winpr_GetUnixTimeNS for high resolution system time
  as nanoseconds since 1.1.1970
* Replace use of clock_gettime and gettimeofday in whole project with
  these new functions
* Add new macros WINPR_TIME_NS_TO_* and WINPR_TIME_NS_REM_* to convert
  the nano second count to less resolution or get the remainder in the
  desired resolution
2024-03-11 09:54:10 +01:00
akallabeth
d8c0e7546e [winpr,utils] allow quoted sub arguments
fixes #9890.
2024-02-27 14:15:56 +01:00
akallabeth
f5704e025f start development cycle 3.3.1-dev0 2024-02-22 15:18:30 +01:00
akallabeth
a1d8b55048 update release to 3.3.0 2024-02-22 15:18:30 +01:00
akallabeth
43eae6029f [clang-tidy] fix various review warnings 2024-02-22 12:31:50 +01:00
akallabeth
d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +01:00
Armin Novak
f51fdb2813 [winpr,clipboard] support alternate bitmap mime types 2024-02-22 09:33:59 +01:00
Armin Novak
894474b161 [winpr,utils] improve winpr image API
* Add checks for bitmap read functions
* Add more unit tests
* Do not expose internals to WinPR
2024-02-22 09:33:59 +01:00
akallabeth
b894199f72 [winpr,collections] add generic string clone functions
The ArrayList, HashTable, ... New functions require
void* (*fkt)(const void* ptr) type functions. Provide a generic wrapper
for CHAR and WCHAR strdup to eliminate warnings. Also export a
corresponding free function to avoid issues with runtime
differences.
2024-02-15 11:49:16 +01:00
akallabeth
d0dc657412 [build] delete unused static functions 2024-02-15 11:49:16 +01:00
akallabeth
0e44b2c674 [clang-tidy] clang-analyzer-unix.Malloc 2024-02-15 11:49:16 +01:00
akallabeth
81d2c1f057 [clang-tidy] clang-analyzer-core.NullDereference 2024-02-15 11:49:16 +01:00
akallabeth
f69e1fe697 [clang-tidy] readability-duplicate-include 2024-02-15 11:49:16 +01:00
akallabeth
0ba995655d [clang-tidy] cppcoreguidelines-init-variables 2024-02-15 11:49:16 +01:00
akallabeth
207def5c56 [clang-tidy] readability-isolate-declaration 2024-02-15 11:49:16 +01:00
Armin Novak
70f12ac871 [winpr,image] use fuzzy compare
* Add winpr_image_equal_ex to allow comparison of lossy compressed
  formats, ignoring color depth and alpha
* Adjust tests to utilize winpr_image_equal_ex
2024-02-14 19:04:50 +01:00
akallabeth
28a2bf0848 [winpr,crypto] simplify winpr_Digest_Init_Allow_FIPS 2024-02-13 19:54:25 +01:00
akallabeth
fe37bc80d4 [winpr,crypto] fix WITH_INTERNAL_MD5 handling
If WITH_INTERNAL_MD5=ON also use it with winpr_Digest_Init_Allow_FIPS
2024-02-13 17:27:03 +01:00
akallabeth
e2e6d09256 [cmake] use DEFAULT_DEBUG_OPTION for all 2024-02-13 17:06:00 +01:00
akallabeth
b193f9ab59 [cmake] guard cmake_policy(CMP0091)
only set the policy to NEW if it is defined
2024-02-13 16:22:37 +01:00
akallabeth
cbab66a249 [warnings] fix incompatible pointer types 2024-02-12 10:23:27 +01:00
akallabeth
8b9c8732f3 [warnings] fix void pointer used in arithmetic 2024-02-12 10:23:27 +01:00
akallabeth
0d68cb4f42 [build,attr] fix WINPR_ATTR_MALLOC
* do not use this attribute if the free function takes pointer to pointer
* audio_format_new must be freed by audio_formats_free
2024-02-12 10:23:27 +01:00
akallabeth
78818aec34 [client,sdl] enable screensaver
by default sdl disables screensaver.
2024-02-09 10:29:08 +01:00
akallabeth
b5660035ae [winpr,image] add support for WebP, JPEG and libpng 2024-02-07 10:04:08 +01:00
akallabeth
2fffcd64b9 [winpr] use winpr_strerror instead of strerror
use the wrapper from WinPR to use the best implementation available.
2024-02-06 15:45:47 +01:00
akallabeth
c415ec1110 [winpr,utils] use strerror_s or strerror_r
prefer to use strerror_s over strerror_r and strerror to convert errno
to strings.
2024-02-06 15:45:47 +01:00
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