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
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
akallabeth
d0456914e5
[winpr,wlog] extend wLog to allow logging custom data
...
A logger allocated with WLog_Get now can have a customized context by
setting it with WLog_SetContext. Along with the newly introduced format
specifier %ctx an additional field is printed for the context.
2023-06-29 14:30:09 +02:00
Armin Novak
646a78d19c
[cmake] do proper pkcs11 detection
...
do not rely on find_feature but use a CMake option and find_package
2023-06-28 10:02:15 +02:00
akallabeth
3f78b3c379
[build] fix unused compiler warnings
2023-06-28 09:45:09 +02:00
akallabeth
3554dd1c64
[winpr,crypto] use void* for buffer arguments
2023-06-28 09:45:09 +02:00
akallabeth
0c15f72169
[winpr,collections] fixes for ListDictionary
...
* Make ListDictionary_Add and ListDictionary_SetItemValue arguments
const
* Allow ListDictionary_Add to store NULL values
2023-06-28 08:19:20 +02:00
Armin Novak
b8a0091c92
[winpr,utils] add IniFile_Clone
2023-06-27 17:36:57 +02:00
akallabeth
df3f274dd0
[test,listdictionary] fix format string
2023-06-27 15:05:43 +02:00
akallabeth
51ed074d1d
[winpr,collections] add doxygen for some types
...
* wLinkedList
* wObject
* wQueue
* wListDictionary
2023-06-27 15:05:43 +02:00
akallabeth
e1ae901858
[winpr,collections] fix ListDictionary_Add
...
create copies of key and value if the function pointer are set
2023-06-27 15:05:43 +02:00
akallabeth
54847499e9
[winpr,collections] fix ListDictionary New/Free handling
2023-06-27 15:05:43 +02:00
akallabeth
f27076ab82
[winpr,collections] ListDictionary
2023-06-27 15:05:43 +02:00
akallabeth
0669cfe483
[winpr,collections] CountdownEvent
2023-06-27 15:05:43 +02:00
akallabeth
1fd0e15810
[winpr,collections] remove unused ReferenceTable
2023-06-27 15:05:43 +02:00
akallabeth
8e319c4fa7
[winpr,collections] LinkedList_Count
2023-06-27 15:05:43 +02:00
akallabeth
63d4da2d0d
[winpr,collections] ListDictionary_GetKeys
2023-06-27 15:05:43 +02:00
akallabeth
ac39e8aac2
[winpr,collections] ListDictionary_Count
2023-06-27 15:05:43 +02:00
Hugues LEFEBVRE
b67afecf0f
CredSSP with early user auth (nla_ext) support
2023-06-26 11:53:46 +02:00
akallabeth
64486828bb
[winpr,crt] fix winpr_aligned_offset_recalloc
...
the copied data was taken from the wrong offset
2023-06-12 16:32:23 +02:00
akallabeth
a64dd36073
[build] fixed const warnings
2023-06-12 16:32:23 +02:00
Armin Novak
979610b1fd
[winpr,stream] assert valid pointer
2023-06-08 08:13:16 +02:00
Armin Novak
970f0c54e8
[stream] use const correct Stream_Pointer access
2023-06-08 08:09:33 +02:00
Armin Novak
2de7399e52
[winpr,stream] change Stream_Pointer return to void*
...
Eliminates possible type warnings as we return a void*
If a specific type is desired, use the Stream_PointerAs macro.
2023-06-08 08:09:33 +02:00
Armin Novak
81e95e51ca
[winpr,ncrypt] log problems during cert enumeration
2023-06-07 23:05:54 +02:00
Armin Novak
a4c6b36a19
[build] fix memory sanitizer stack frame warnings
2023-06-07 09:14:45 +02:00
akallabeth
734ae69756
[winpr] fix some msan warnings
...
initialize local stack variables
2023-06-07 09:14:45 +02:00
Armin Novak
ba98aa0a8c
[winpr] add atexit calls for WLog and SSL providers
...
C11 atexit cleanup handler are used to call cleanup routines for WLog
and SSL on program termination. This removes false positives when using
ASAN runtime memory debugger
2023-05-30 15:42:39 +02:00
akallabeth
4efc4e769e
[warnings] fix -Wunused-label
2023-05-24 08:24:32 +02:00
akallabeth
df76b59da7
[warnings] fix -Wshadow
2023-05-24 08:24:32 +02:00
akallabeth
ab677f8abe
[warnings] fix -Wempty-translation-unit
2023-05-24 08:24:32 +02:00
fifthdegree
449b96adb2
Use popup browser for AAD auth in SDL client
...
Optionally build the SDL client with Qt WebEngine to create a popup
browser for authentication to AAD. Also change the URL output on the
command line to use the "nativeclient" redirect for easier copy/pasting
of the authorization code.
2023-05-23 06:04:55 +02:00
fifthdegree
ba7fdcb5f0
Move alloc_sprintf into the winpr string api
2023-05-23 06:04:55 +02:00
Armin Novak
05669eff31
[winpr,pool] WINPR_ASSERT thread pool function arguments
2023-05-22 11:51:12 +02:00
Armin Novak
0c7330720f
[winpr,crypto] add internal rc4 replacement
...
RDP relies on RC4 for some operations, so we need these to successfully
log on to windows machines. This is a replacement for use with SSL
libraries that have already deprecated these.
2023-05-17 14:51:58 +02:00
Armin Novak
06bd759c64
[winpr,crypto] use a struct for RC4 context
2023-05-17 14:51:58 +02:00
akallabeth
2d248d1c96
[winpr,sspi] verbosly check NTLM context
2023-05-17 14:51:58 +02:00
akallabeth
93c5058aa5
[winpr,crypto] rc4 allocation check
...
* check success of winpr_RC4_New
* WINPR_ASSERT context when used
2023-05-17 14:51:58 +02:00
Armin Novak
10f8a7b4e4
[winpr,print] use void* as arguments for dump functions
...
to avoid casting or type mismatch warnings use void* as pointer to data
for dump functions
2023-05-17 14:19:31 +02:00
akallabeth
4a006322af
[winpr,clipboard] fix url unescape for file uri
2023-05-12 13:57:56 +02:00
akallabeth
d2cf953f24
[winpr,input] properly define keyboard types
...
* use an enum to define the different WINPR_KEYBOARD_TYPE*
* use the enum as argument for the functions instead of DWORD
2023-05-12 09:52:01 +02:00
David Fort
46171045ed
[winpr,input] fix GetKeycodeFromVirtualKeyCode(code, KEYCODE_TYPE_XKB)
...
As KEYCODE_TYPE_XKB is 3, in the previous code we were doing some "and masking"
and so when calling GetKeycodeFromVirtualKeyCode(code, KEYCODE_TYPE_XKB), the
function was always interpreting the virtual key code with the apple layout.
This patch fixes that and also mutualize the search in the code array.
2023-05-12 09:52:01 +02:00
akallabeth
564da71f11
[winpr,crypto] add digest sign functions
2023-05-10 09:59:10 +02:00
Alexandru Bagu
a231c09fff
fixes for llvm-mingw build
2023-05-04 12:56:16 +02:00
Martin Fleisz
3cb55a87e3
winpr: Add support for AVX2/AVX512F feature detection
2023-05-02 12:06:47 +02:00
akallabeth
05edcbc357
[cmake] fix version from git tag
...
only consider tags that conform to the format 'somestring1.2.3' as
valid tags
2023-05-02 09:34:07 +02:00
akallabeth
be74ce00a7
[winpr,tools] add openssl3 support
2023-04-28 08:33:06 +02:00
Armin Novak
f8ac8f1773
[winpr,schannel] add compile option WITH_DEBUG_SCHANNEL
2023-04-28 08:33:06 +02:00
Armin Novak
55a8695cfe
[winpr,crypto] add openssl 3 support
...
update hashing functions for openssl 3
2023-04-28 08:33:06 +02:00
akallabeth
516668d02b
[fclose] ensure no invalid pointers are passed.
...
fclose has undefined behaviour for NULL pointers, so check for these.
2023-04-28 07:39:35 +02:00
akallabeth
09aa4e63a9
[winpr,utils] fix COMMAND_LINE_VALUE_PRESENT
...
the flag was set unconditionally, only set it if there actually is a
value present
2023-04-28 07:39:35 +02:00
fifthdegree
6abd9165e6
Only accept hostname for kdc-url
...
For compatibility with windows
2023-04-27 16:31:30 +02:00
fifthdegree
9368317a9f
Plug some leaks in krb5glue_mit.c
2023-04-27 16:31:30 +02:00
fifthdegree
b1c4cb493f
Set KDC URL in a way compatible with Windows
2023-04-27 16:31:30 +02:00
fifthdegree
201b743f20
Set pkinit_kdc_hostname when known
...
Since Windows doesn't use id-pkinit-san in its certificates, it is
necessary to manually configure which hosts are valid KDCs. In the case
where a kdcUrl (or hostname) is provided to us, we can do that
configuration ourselves.
2023-04-27 16:31:30 +02:00
Armin Novak
e0aec72d71
[pkg-config] unify exec_prefix
2023-04-24 22:01:15 +02:00
Armin Novak
f674b209ff
[pkg-config] unify libdir
2023-04-24 22:01:15 +02:00
Bernhard Miklautz
d1069b3bc1
new: use prefix in pkg-config files for libdir
2023-04-24 11:19:01 +02:00
akallabeth
c0dc193a39
[winpr,input] use enum for keyboard types
...
* move type definition to WinPR as used there too.
* supported keyboard types are defined in
[MS-RDPBCGR] 2.2.1.3.2 Client Core Data (TS_UD_CS_CORE)]
use a enum instead of magic numbers to make code more readable.
2023-04-21 12:31:51 +02:00
akallabeth
1318b813d6
[winpr,input] fix apple keyboard mapping
...
GetVirtualKeyCodeFromKeycode and GetVirtualKeyCodeFromKeycode used
an invalid index offset. this commit corrects that, but is API breaking.
2023-04-21 12:31:51 +02:00
Pascal Nowack
bb967d1533
winpr/input: Add actual evdev keyboard handling
...
WinPR provides APIs to convert between keycodes between virtual
keycodes.
These keycodes can currently be evdev keycodes or Apple keycodes.
The evdev handling, however, handles XKB keycodes and not evdev ones.
The main difference between these is that XKB keycodes are shifted by
the value 8, compared to evdev keycodes.
In order to fix this situation, rename the evdev keycodes to XKB ones,
and introduce additionally a new keycode evdev, including its handling
for this keycode type.
2023-04-21 12:31:51 +02:00
Marc-André Moreau
32264b90cc
add WITH_UNICODE_BUILTIN option to use built-in UTF conversion functions
2023-04-18 16:51:08 -04:00
akallabeth
4c0b169774
[winpr,wtypes] fix BOOL definition for APPLE
...
* Add TargetConditionals.h include to ensure the symbols are defined
* Check for symbol existence and value != 0
2023-04-14 16:08:19 +02:00
Armin Novak
54bd41e99c
[winpr,collections] fix c++ warings for PubSub
2023-04-14 08:44:14 +02:00
Armin Novak
639ac20ed9
[winpr,stream] fix c++ warings for Stream_Write_UINT8
2023-04-14 08:44:14 +02:00
Armin Novak
8989386d01
[winpr,stream] fix c++ warings for Stream_Write_UINT64
2023-04-14 08:44:14 +02:00
Armin Novak
a13701f69c
[winpr,assert] eliminate c++ warnings
...
Eliminate cast warnings when used in C++ code
2023-04-14 08:44:14 +02:00
Armin Novak
4408521421
[winpr,sspi] match SEC_WINNT_AUTH_IDENTITY integer
...
windows defines them with ULONG which does not match UINT32, so keep
these types proper
2023-04-11 11:37:09 +02:00
Armin Novak
13c025e04c
[winpr,sspi] remove sspi_SetAuthIdentityWithUnicodePassword
...
the function is useless as we always use the SetAuthIdentityW API now
2023-04-11 11:37:09 +02:00
Rubycat
207d886a90
Unique kerberos ccaches for parallel connections.
...
The "MEMORY" ccache is shared in a process.
If a client uses it to make parallel connections,
the same ccache may be used for several clients with distinct
credentials.
To prevent such sharing we create a unique, dedicated ccache when
necessary with krb5_cc_new_unique.
We should destroy the ccaches we created, to avoid leaks.
The struct KRB_CREDENTIALS is extended to express the ccache ownership.
2023-04-07 11:21:12 +02:00
Rubycat
cec88e53bd
don't log an error when running GetCurrentThread from non winpr thread
...
Since 7c4a774e4e
this can legitimately happen in WaitForMultipleObjectsEx and is not
actually an error.
2023-04-07 11:03:56 +02:00
akallabeth
efcacda24c
[winpr,sspi] do not abort on empty password
...
sspi_SetAuthIdentityA might be called with empty passwords, do not abort
under these conditions.
2023-04-06 12:11:46 +02:00
Armin Novak
947bc7fe04
[winpr] added Win32ErrorCode2Tag
2023-04-05 10:02:27 +02:00
akallabeth
cdf1047bef
[crt] add windows definition for winpr_aligned_calloc
2023-03-28 11:34:52 +02:00
akallabeth
37aaa7802a
[winpr,crt] added winpr_aligned_calloc
2023-03-28 11:34:52 +02:00
akallabeth
e8fbac14cc
[winpr,shell] log when a known path is NULL
...
* Add GetKnownPathIdString to get a string representation of the known
path ID requested
* Added a log message if a requested path is NULL
2023-03-24 08:42:40 +01:00
akallabeth
2f17622f65
[cmake] link PUBLIC for static builds
2023-03-16 10:58:01 +01:00
akallabeth
69b4898b73
[winpr,clipboard] fix wrong return check
2023-03-15 08:22:23 +01:00
akallabeth
7fe70c5685
[winpr,types] define SSIZE_T to ssize_t if available
2023-03-15 08:22:23 +01:00
akallabeth
41cb69b135
[winpr,stream] fix Stream_Read_UTF16_String
...
Fix wrong arguments for stream length check
2023-03-09 11:17:37 +01:00
Armin Novak
49f44303b1
[server,shadow] clean up certificate generation
2023-03-08 13:07:20 +01:00
Armin Novak
3d8cb485f4
[warnings] Fixed strict-prototypes warnings
2023-03-06 10:04:59 +01:00
Armin Novak
9a7432d23c
[winpr,stream] log Stream_Read_UTF16_String failures
2023-03-06 08:35:24 +01:00
Armin Novak
e129ab749b
fixed parsing of FILEDESCRIPTORW in WinPR
2023-03-05 17:55:28 +01:00
Armin Novak
9fb4465722
[winpr,clipboard] fix text/uri-list parsing
...
abort if an empty string remains
2023-03-05 17:55:28 +01:00
David Fort
7c4a774e4e
winpr: fix WaitForMultipleObjectsEx(alertable) call from non winpr threads
...
When WaitForMultipleObjectsEx is called with the alertable flag set from a non
WinPR thread, we shall not try to treat APC, as for sure there is no APC scheduled,
as previous call that would have scheduled such APC would have failed.
2023-03-05 17:10:37 +01:00
Armin Novak
a726fa613a
[winpr] improve digest failure logging
2023-03-05 17:03:18 +01:00
Armin Novak
6d0a9b075b
[winpr,cynch] WINPR_ASSERT critical section functions
2023-03-01 13:45:13 +01:00
akallabeth
b4e9c8b39f
[build] removed complex libraries
...
* remove obsolete complex libraries helper
* fix static linking
2023-03-01 08:18:34 +01:00
akallabeth
61175a96ea
[winpr,clipboard] fixed mate-copied-files
...
wrong lineending and size fixed
2023-02-28 09:47:54 +01:00
Armin Novak
e1307b90db
[winpr,clipboard] fix length of uri list
...
we overallocate the size, so ensure the result size only contains the
data actually used.
2023-02-28 09:47:54 +01:00
akallabeth
c9e61ff0c5
[cmake] simplify krb5 detection
2023-02-27 11:18:02 +01:00
Armin Novak
acc415442a
[winpr] add macros for library options
...
* compile definitions
* linker options
* cflags
2023-02-27 11:18:02 +01:00
Armin Novak
f0e9797b4c
[build] require CMake >= 3.13
...
required for target_link_options
2023-02-27 11:18:02 +01:00
Armin Novak
f4acc88c58
[winpr,clipboard] add getter for clipboard id string
2023-02-23 20:28:15 +01:00
Armin Novak
d8d4d044ff
[clipboard] cleanup definitions
...
* remove definitions for clipboard formats that are dynamically registered
* fix length of converted clipboard string
2023-02-23 20:28:15 +01:00
Armin Novak
9cb28f47ef
xxx
2023-02-21 16:42:54 +01:00
Armin Novak
1522b5aa91
xx
2023-02-21 16:42:54 +01:00
Armin Novak
3d3e577190
[winpr,clipboard] fix file list conversion
2023-02-21 16:42:54 +01:00
Armin Novak
53afedf9de
[winpr,clipboard] close file after read
2023-02-21 16:42:54 +01:00
Armin Novak
10404121c4
[winpr,clipboard] fix error message format string
2023-02-21 16:42:54 +01:00
Armin Novak
62028f1488
[winpr,file] map EMFILE
2023-02-21 16:42:54 +01:00
akallabeth
2f05166fb1
[winpr,crypto] improve logging
2023-02-03 11:09:59 +01:00
akallabeth
f2b4fa9acc
[winpr,sspi] fix const correctness of function argument
...
sspi_SetAuthIdentityWithUnicodePassword arguments should be const to
avoid compiler warnings if the variable is also const
2023-02-01 09:51:54 +01:00
akallabeth
ee07a13130
[cleanup] fix compiler warnings
2023-01-26 09:30:17 +01:00
Armin Novak
1dc2225bd2
[winpr,wlog] include function name in log message
...
default to print the function the log message was called from
2023-01-25 16:26:39 +01:00
Armin Novak
641022b795
[logging] remove __FUNCTION__ from actual message
...
prefer the log formatter to provide that information.
2023-01-25 16:26:39 +01:00
akallabeth
de40b43037
[winpr,stream] modify logging stream length checks
...
* Split length argument to nmemb and size for all Stream_CheckAndLogRequiredLength* functions
* Add new macros to allow setting nmemb and size arguments
2023-01-25 14:27:32 +01:00
akallabeth
74530a7931
[format strings] ensure __LINE__ is of type size_t
...
__LINE__ is not particularily well defined (most fall back to int).
We want to ensure that all the uses in a format string match the format
specifier, so do an explicit cast
2023-01-25 14:27:32 +01:00
akallabeth
8ed37e68d2
[stream] use logging capacity checks
2023-01-25 14:27:32 +01:00
akallabeth
b6648288e4
[winpr,stream] add functions to check and log capacity
...
Add functions (and macros) to provide a method to check the remaining
capacity of a stream and log failures
* Stream_CheckAndLogRequiredCapacityWLog
* Stream_CheckAndLogRequiredCapacityWLogEx
* Stream_CheckAndLogRequiredCapacityWLogExVa
2023-01-25 14:27:32 +01:00
Armin Novak
f62c658e17
[winpr] Make Stream_SafeSeek log a failure
2023-01-24 10:16:55 +01:00
Armin Novak
2d16ab5255
[winpr,sam] fix inalid NULL arguments
2023-01-11 21:37:16 +01:00
Armin Novak
39210d1efd
[winpr,sam] allow empty domain in SamLookupUserW
2023-01-11 21:37:16 +01:00
akallabeth
92d3e3c64a
[winpr] use WINPR_ prefix for conditional includes
2023-01-10 17:38:00 +01:00
akallabeth
2479ebd816
Fixed compiler warnings
2023-01-10 17:38:00 +01:00
David Fort
9e3bc8e3af
wtsapi: add new kind of query to retrieve the open status
2022-12-27 11:02:29 +01:00
Armin Novak
b917dbad32
[winpr,stream] add length check helper
2022-12-22 15:09:03 +01:00
Armin Novak
7a95c7343d
[winpr,wlog] fixed noisy wlog filter
2022-12-22 15:09:03 +01:00
akallabeth
784becd946
[winpr,image] add winpr_bitmap_write_ex
...
Added a helper function writing a bitmap from an image that has a stride
that is not width * <bytes per pixel>
2022-12-16 11:03:13 +01:00
Armin Novak
51e49b4329
[winpr,asn] Fixed a compiler warning
...
WinPrAsn1DecReadEnumerated expects an argument of type
WinPrAsn1_ENUMERATED* so ensure the variable referenced is of said type.
2022-12-15 14:57:29 +01:00
David Fort
e915b294d5
winpr: add functions to test for read / write availability in pollset
2022-12-13 15:54:33 +01:00
fifthdegree
497ada661f
Change the logic flow on error to a better style
...
Use do-while and break instead of checking return value before every
line
2022-12-13 14:26:45 +01:00
fifthdegree
e4b82cf0ef
[kerberos] Assert expected pointer arguments
2022-12-13 14:26:45 +01:00
fifthdegree
3ffc32176d
Support heimdal kerberos implementation
...
Add support for heimdal kerberos in addition to mit kerberos
2022-12-13 14:26:45 +01:00
fifthdegree
6c8e4d668d
Don't free empty structures
2022-12-13 14:26:45 +01:00
fifthdegree
1e6c5fc782
Allow setting kdc hostname
...
Use user-provided kdc hostname when given
2022-12-13 14:26:45 +01:00
akallabeth
37ab25e19d
Fixed all Wdocumentation warnings
2022-12-12 14:24:55 +01:00
akallabeth
d4808dd3e1
Fixed various compiler warnings
2022-12-09 15:58:26 +01:00
akallabeth
7ab917dca8
Fixed Wsign-compare warnings
2022-12-09 15:58:26 +01:00
Armin Novak
bd7e2263ad
fixed const and type cast warnings
2022-12-09 15:58:26 +01:00