Commit Graph

3885 Commits

Author SHA1 Message Date
akallabeth
47c5070805
Merge pull request #10635 from akallabeth/initialize-variables
Initialize variables
2024-09-30 16:04:20 +02:00
akallabeth
a820912a24
[winpr,utils] fix sterror_r detection and use 2024-09-30 15:41:50 +02:00
akallabeth
98e11c69c1
[winpr,ncrypt] add pragma to disable warning 2024-09-30 15:41:34 +02:00
akallabeth
9d478c2ce7
[winpr,crt] fix redundant casts 2024-09-30 09:32:04 +02:00
akallabeth
3825fe8135 [warnings] fix Wunreachable-code-break 2024-09-30 09:31:36 +02:00
akallabeth
f529345d84 [warnings] fix Wcast-qual 2024-09-30 09:31:36 +02:00
akallabeth
5e998bb078
[winpr,platfom] fix WINPR_PRAGMA_DIAG_IGNORED_UNUSED_MACRO 2024-09-24 20:35:28 +02:00
akallabeth
26003e59cc
[va_list] initialize with ={0}; 2024-09-24 11:06:18 +02:00
akallabeth
42e3c6fff8
[winpr,utils] fix winpr_strerror argument types
errno is of type int, so use a signed INT32 as argument type to avoid
warings with sign conversions
2024-09-20 10:57:21 +02:00
akallabeth
632e2180f7
[winpr,stream] rewrite stream read functions
Use a loop to shift in bytes to avoid casts.
2024-09-19 09:06:20 +02:00
Armin Novak
46457a5033
[winpr,stream] Add Stream_BufferAs macro
* Add Stream_BufferAs, Stream_ConstBufferAs, Stream_GetBufferAs and
  Stream_GetPointerAs to get a pointer to the stream pointer or buffer
  casted to a specific type.
* Use WINPR_STREAM_CAST in these new macros for proper cast according to
  C or C++
2024-09-19 09:06:13 +02:00
Armin Novak
bed6e7968e
[winpr,utils] fix plausibility checks in IniFile_Load_File 2024-09-18 11:47:01 +02:00
Armin Novak
58ea63fd84
[winpr,path] fix comparison of unsigned < 0 2024-09-18 11:47:01 +02:00
akallabeth
e2fbab750b
Merge pull request #10625 from akallabeth/bsd-fix
[winpr,library] implement GetModuleFileNameA
2024-09-18 09:45:23 +02:00
akallabeth
347ac5a941
[winpr,library] implement GetModuleFileNameA 2024-09-17 18:01:10 +02:00
akallabeth
586f40631f
[warnings] fix shorten-64-to-32 2024-09-17 16:13:48 +02:00
akallabeth
ca260e13bb
[winpr,asn1] fix sign extraction for ASN1 integer
ASN1 integer might not be full 32bit integers, so extract the sign from
the first byte and append 0x80000000 after the rest of the integer was
successfully read.
2024-09-17 10:03:50 +02:00
akallabeth
befa4233ad
[warnings] fixed bugprone-not-null-terminated-result 2024-09-16 08:22:42 +02:00
akallabeth
a19305569d
[assert] fix ULONG_MAX use
most of the time this was used to check ULONG limits. Replace with
correct UINT32_MAX
2024-09-16 08:22:40 +02:00
akallabeth
bb242b9a89
[return checks] fix use of WaitForSingleObject 2024-09-16 08:22:37 +02:00
akallabeth
965d231e49
[return checks] fix use of CloseHandle 2024-09-16 08:22:31 +02:00
akallabeth
cd18dea174
[return checks] fix use of unicode functions 2024-09-16 06:48:26 +02:00
akallabeth
94020c183c
[return checks] fix use of ResetEvent 2024-09-16 06:48:09 +02:00
akallabeth
7c8c14294f
[return checks] fix use of ReleaseMutex 2024-09-16 06:48:06 +02:00
akallabeth
7d67b8e204
[return checks] fix use of SetEvent 2024-09-16 06:47:58 +02:00
akallabeth
0d5bc92a2b
[warnings] fix apple iOS/macos 2024-09-15 19:47:13 +02:00
akallabeth
0de75b305c
[warnings] fix unchecked return 2024-09-15 10:19:56 +02:00
akallabeth
8b6091a007
[winpr,wtsapi] improve API usage
* Mark WTSVirtualChannelOpen and WTSVirtualChannelOpenEx with
  WINPR_ATTR_MALLOC to enforce compiler checks for resource cleanup
* Fix unused result warnings, use the result or cast to (void) where not
  requierd
2024-09-14 21:29:31 +02:00
akallabeth
a1cef8dd85
[warnings] silence and fix unused results 2024-09-14 21:29:28 +02:00
akallabeth
65de25205b
[winpr,env] add missing WINPR_ATTR_MALLOC 2024-09-14 21:29:26 +02:00
akallabeth
6327b77461
[winpr,crypto] fix type warnings in test case 2024-09-14 17:39:38 +02:00
akallabeth
dbe92795e3
[winpr,kerberos] fix possible NULL argument to strdup 2024-09-14 08:31:01 +02:00
akallabeth
d5b41bb8a0
[warnings] fix casts
* Add macro WINPR_REINTERPRET_CAST to cast (checked) from type A to B
* Fix cast warnings
2024-09-14 08:24:51 +02:00
akallabeth
5a711f5ae4
[winpr,collections] fix cast to float 2024-09-14 08:24:45 +02:00
akallabeth
71080e61b0
[warnings] fix a bunch of them
* fix uninitialized variable warnings
 * modivy ndr_context_* functions to utilize WINPR_ATTR_MALLOC
 * build_krbtgt use winpr_asprintf
 * add proper Stream_Write_UINT64_BE
2024-09-14 08:24:28 +02:00
akallabeth
16cec716e0
[strtok] replace function with strtok_s
Since strtok is not thread safe replace it with strtok_s (WinPR wrapper
around strtok_r for systems not supporting the ISO function names)
2024-09-13 21:19:17 +02:00
akallabeth
d2641ea55f
[winpr,include] fix reserved-identifier warnings
* Remove symbols where possible
* Use #pragma where the symbols are implementing ISO or windows
  functions
2024-09-13 14:30:33 +02:00
akallabeth
7ef9345743
Merge pull request #10549 from hardening/rcg2
core, channels: client-side remote credential guard
2024-09-13 08:24:14 +02:00
akallabeth
163aec7e2b
[warnings] fix documentation command unknown 2024-09-12 21:21:41 +02:00
akallabeth
fb5934007a
[doxygen] add basic documentation for new API
* Add basic documentation for new functions/structs/data types since
  3.0.0
2024-09-12 20:09:19 +02:00
akallabeth
98f22d49b9 [CMake] add public headers as INTERFACE target 2024-09-12 18:54:40 +02:00
akallabeth
c84655cd62
[warnings] remove const params
Avoid const TYPE* const type declarations
2024-09-12 14:29:25 +02:00
akallabeth
a1a1fc8658
[warnings] fix mismatches between declaration and implementation 2024-09-12 13:32:44 +02:00
akallabeth
f74fd1ab0f
[warnings] silence unused macro warnings
* Add WINPR_PRAGMA_DIAG_IGNORED_UNUSED_MACRO
* Silence usages that
2024-09-12 13:30:08 +02:00
akallabeth
f62325d443
[winpr] silence -Wreserved-identifier
* Add macro WINPR_PRAGMA_DIAG_IGNORED_RESERVED_IDENTIFIER
* Silence use in wtypes.h.in to avoid false positives
2024-09-12 13:30:05 +02:00
akallabeth
adc4f2abf8
[warnings] fix unused variables 2024-09-12 13:29:58 +02:00
akallabeth
29697ca68d
[winpr,ncryt] fix a memory leak
NCryptP11EnumKeys did leak memory under certain conditions
2024-09-12 13:29:55 +02:00
akallabeth
6481993305
[winpr,ncrypt] do not abort test if NCryptEnumKeys fails 2024-09-12 13:29:50 +02:00
akallabeth
f9141fb94b
[winpr,ncrypt] improve logging 2024-09-12 13:29:48 +02:00
akallabeth
e00661d338
[warnings] fix dead store warnings 2024-09-12 13:29:46 +02:00
akallabeth
fa9fff6ed0
[winpr,clipboard] properly define guard function 2024-09-12 09:09:00 +02:00
akallabeth
cc6850bf21
[warnings] fix format nonliteral
add pragma to suppress format nonliteral warnings where appropriate
2024-09-12 09:08:53 +02:00
akallabeth
8a990644c0
[warnings] fix missing NULL assert/check 2024-09-12 09:08:51 +02:00
akallabeth
66153045be
[winpr,timezone] Include TimeZoneNameMap as header
* Update tzextract to generate header
* Update TimeZoneNameMapUtils to include header
2024-09-11 23:41:58 +02:00
akallabeth
384cd284d8
[warnings] use WINPR_CAST_CONST_AWAY
on locations that require (ugly) const to non const casts usw
WINPR_CAST_CONST_AWAY to do proper compiler specific casts to avoid
warnings
2024-09-11 23:41:50 +02:00
akallabeth
8ba7b65725
[winpr,secapi] add invalid value to KERB_LOGON_SUBMIT_TYPE 2024-09-11 20:50:27 +02:00
akallabeth
11671bcd5b
[warnings] fix unreachable code return 2024-09-11 20:50:24 +02:00
akallabeth
eb70b1756b
[winpr,wlog] fix GNU variadic macro 2024-09-11 20:50:17 +02:00
David Fort
a4bd5ba886 core, channels: client-side remote credential guard
This patch implements the client-side part of the remote credential guard feature
as described in MS-RDPEAR. The 2 main changes are: shipping the TSRemoteGuardaCreds in
NLA, and implement the rdpear channel that allows LSASS to remote all the calls to
our client. For now it's UNIX only as the windows implementation would be implemented
in a completely different way.
To test, you may establish you ccache and then connect with (RCG enabled on the server):
	xfreerdp /remoteGuard /u:<user> /d:<domain> /v<server>

That should log you in, and in the session you should not be asked for credentials when
doing mstsc /remoteGuard /v:<other server>.
2024-09-11 17:15:11 +02:00
akallabeth
398efacb10 Update timezone definitions 2024-09-11 05:06:45 +00:00
akallabeth
edf6ab89f7
[warnings] fix dead store 2024-09-10 14:43:11 +02:00
akallabeth
c1918ac189
[winpr,wlog] fix cast warning 2024-09-10 14:42:52 +02:00
akallabeth
a085b0d228
[winpr,comm] fix compiler warnings 2024-09-10 14:42:28 +02:00
akallabeth
9738fc40f3
Merge pull request #10548 from akallabeth/serial-port
[BSD] build-serial-port
2024-09-09 09:41:12 +02:00
akallabeth
2170cc65e3
[warnings] cast return of fprintf (void)
fprintf returns a value. Not using it is mostly fine, but it generates
noise when compiling with all warnings on, so cast to (void)
2024-09-06 09:16:21 +02:00
akallabeth
749023bacb
Merge pull request #10555 from akallabeth/cast-fix-tls
[crypto,tls] simplify function pointer cast
2024-09-05 17:18:27 +02:00
akallabeth
7d48aee829
Merge pull request #10556 from akallabeth/stream-api-improve
[winpr,stream] add returning stream read/peek
2024-09-05 08:40:15 +02:00
akallabeth
b980bf2e14
[winpr,clipboard] use endian safe bitmap read/write 2024-09-04 21:56:44 +02:00
akallabeth
6a1c3b4545
[function pointer] use macro for GetProcAddress
Cast all results of GetProcAddress with WINPR_FUNC_PTR_CAST
2024-09-04 21:31:48 +02:00
akallabeth
889ae65a1f
[warnings] add WINPR_CAST_CONST_PTR_AWAY
simple macro casting a const pointer to a non const one.
2024-09-04 20:55:17 +02:00
akallabeth
245afb706c
[function pointers] unify casts with macro 2024-09-04 20:06:45 +02:00
akallabeth
1a9766e190
[warnings] fix function pointer casts 2024-09-04 20:06:43 +02:00
akallabeth
a82821b756
[winpr,stream] fix return value
signed int functions should not return unsigned values
2024-09-04 13:17:50 +02:00
akallabeth
d959121b2f
[winpr,stream] add returning stream read/peek
To make use easier add Stream functions that return the value read
instead of taking it as argument.
2024-09-04 13:17:43 +02:00
akallabeth
9c6126c470
[winpr,comm] build generic serial-port support
* Disable linux specific code if build on *BSD
* Build stub to just return NULL for unsupported platforms
2024-09-04 12:50:49 +02:00
akallabeth
0eb0cff367
[winpr,utils] fix integer size warnings 2024-09-04 12:50:43 +02:00
akallabeth
5aff241096
Merge pull request #10554 from akallabeth/tidy-silence
Tidy silence
2024-09-04 10:35:22 +02:00
akallabeth
9df86daf28
[winpr,comm] add missing includes 2024-09-04 10:14:07 +02:00
akallabeth
5e123735fa
[warnings] fixed sign-compare 2024-09-04 10:14:05 +02:00
akallabeth
b6e72c7674
Merge pull request #10551 from akallabeth/arch-fixes
Arch fixes
2024-09-04 09:56:35 +02:00
akallabeth
ebbfe598dc
[winpr,utils] unify bitmap reading
* clipboard synthesizer needs to read the bitmap header, use the function
  from utils/image
* check bitmap header in utils/image and abort if wrong
2024-09-04 09:07:18 +02:00
akallabeth
f3d84d4557
[warnings] use ARRAYSIZE macro 2024-09-03 15:10:58 +02:00
akallabeth
a89aefa8d4
[winpr,smartcard] disable linter warnings
* silenced readability-non-const-parameter warnings that can not be
  changeddue to API requirements
2024-09-03 13:07:16 +02:00
akallabeth
5a4a1a40ad
fix declaration and implementation parameter names 2024-09-03 12:24:53 +02:00
akallabeth
72ae7fb54f
[nolint] add cert-dcl37-c,cert-dcl51-cpp 2024-09-03 12:24:48 +02:00
Armin Novak
fe4cb6de65
[warnings] fix float/double warnings 2024-09-02 16:20:20 +02:00
Armin Novak
7c537d681f [winpr,file] mark winpr_fopen with WINPR_ATTR_MALLOC
enable allocator/deallocator checks for FILE* created by this function
2024-09-02 14:39:53 +02:00
Armin Novak
4b62174c4f
[winpr,platform] fix unknown-warning-option 2024-09-02 14:13:10 +02:00
Armin Novak
11a9c010f9
[winpr] wtypes NOLINT
Silence linter for basic type definitions that use reserved identifiers
2024-09-02 13:56:07 +02:00
akallabeth
6fb7bfd043
[winpr,unwind] fix _Unwind_GetLanguageSpecificData
The function has various return value definitions (void* or uintptr_t)
and no proper API versioning. So cast to the expected type regardless of
actual definition and silence linter for this specific line.
2024-08-31 11:17:54 +02:00
akallabeth
e756c90569
[warnings] clang-tidy suppress warnings
* Suppress NOLINT(bugprone-suspicious-include)
* Suppress __STDC_WANT_LIB_EXT1__ 1 // NOLINT(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp)
2024-08-30 22:03:47 +02:00
akallabeth
1dea19ac5f
[warnings] clang-tidy suppress warnings
* Suppress NOLINT(bugprone-suspicious-include)
* Suppress __STDC_WANT_LIB_EXT1__ 1 // NOLINT(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp)
2024-08-30 16:01:11 +02:00
akallabeth
5887f8a558
[warnings] suppress warnings
Some warnings can not be solved as they depend on external libraries or
limitations of the C standard.
Suppress these warnings selectively
2024-08-30 15:40:16 +02:00
akallabeth
36fbed25c9
[winpr,include] define warning ignore macros
Define new macros to ignore specific compiler warnings:
* WINPR_PRAGMA_DIAG_IGNORED_OVERLENGTH_STRINGS
* WINPR_PRAGMA_DIAG_IGNORED_QUALIFIERS
2024-08-30 15:40:13 +02:00
akallabeth
7d3b2aebfd
[warnings] silence WINPR_FALLTHROGH 2024-08-30 15:40:03 +02:00
akallabeth
190929c018
[warnings] fix function pointer casts 2024-08-30 15:40:01 +02:00
akallabeth
f60e386f3e
[winpr,comm] do not compile with EMSCRIPTEN 2024-08-30 09:12:51 +02:00
akallabeth
e1d0efa817
Merge pull request #10532 from akallabeth/release-3.8.0
Release 3.8.0
2024-08-30 08:53:55 +02:00
akallabeth
ba9897f8b7
[warnings] replace rand() function use 2024-08-29 17:13:53 +02:00
akallabeth
bd637c6cd1
[warnings] fix various clang-tidy warnings 2024-08-29 17:13:50 +02:00
akallabeth
f3596b950a
3.8.1-dev0 cycle 2024-08-29 16:52:44 +02:00
akallabeth
d277e494c6
release-3.8.0 2024-08-29 16:52:41 +02:00
akallabeth
500495dc00
[warnings] fix SDL3 related issues 2024-08-29 16:03:51 +02:00
akallabeth
6a3564407e
[warnings] fix clang-tidy issues in winpr 2024-08-29 15:20:39 +02:00
akallabeth
9c9d74e920
[warnings] fix redundant casts 2024-08-29 12:03:09 +02:00
akallabeth
15456e1ee1
[warnings] fix implicit widening conversion 2024-08-29 10:47:20 +02:00
akallabeth
4439240fd3
Merge pull request #10525 from akallabeth/warn-fixes-err33-c
[warnings] fix cert-err33-c
2024-08-29 10:35:57 +02:00
akallabeth
1d33095500
[warnings] fix cert-err33-c
Fix unused return values, cast to void if on purpose
2024-08-29 10:19:27 +02:00
akallabeth
622fcc7025
[warnings] fix types and guards
Fix some broken define guards and a wrong return type
2024-08-29 09:53:48 +02:00
akallabeth
3b8dc5c183
[cmake] move WITH_VERBOSE_WINPR_ASSERT
Since the definition is common to FreeRDP and WinPR move it to
CommonConfigOptions
2024-08-29 08:44:39 +02:00
akallabeth
efde29f362
[winpr,utils] Set Queue_Enqueue only once
In #10527 performance was measured and SetEvent did take a lot of time
in these measurements. The reset is only required once though, so use a
more fine grained trigger condition.
2024-08-29 08:30:32 +02:00
akallabeth
d0addb52bd
[winpr,utils] Reset CountdownEvent_AddCount only once
In #10527 performance was measured and ResetEvent did take a lot of time
in these measurements. The reset is only required once though, so use a
more fine grained trigger condition.
2024-08-29 08:30:21 +02:00
akallabeth
380c5808a0
Merge pull request #10518 from akallabeth/clang-tidy-cleanup
Clang tidy cleanup
2024-08-28 16:36:16 +02:00
Armin Novak
3b1c1e0af1 [warnings] fix cppcoreguidelines-init-variables 2024-08-28 10:15:36 +02:00
Armin Novak
d71af44bb1
[warnings] disable warnings for generated code
* Disable clang-tidy in test build directories
* Disable compiler warnings for test binary directories.

These contain generated code we can not change, so the warnings are just noise
2024-08-28 09:18:30 +02:00
akallabeth
00eb86970d
Merge pull request #10510 from akallabeth/serial-cleanup
Serial cleanup
2024-08-26 13:47:10 +02:00
akallabeth
d08e44d883
[channels,serial] only build on linux
* Guard by CMake
* Remove code #ifdef to ease porting
2024-08-26 13:18:52 +02:00
akallabeth
d81dd9d9ff
[winpr,comm] fix stopping of serial threads
Since most unhandled threads get cancelled do not rely on
SERIAL_EV_WINPR_WAITING flag.
2024-08-26 12:36:56 +02:00
akallabeth
221dd7ce1d
[winpr,comm] improve error handling 2024-08-26 12:36:51 +02:00
akallabeth
9f911bea62
[winpr,comm] cleanup comm_sercx2_sys
* WINPR_ASSERT arugments
* remove use of restricted keywords (variables/functions starting with _)
2024-08-26 12:23:14 +02:00
akallabeth
2a7572e6b3
[winpr,comm] cleanup comm_serial_sys
* WINPR_ASSERT arguments
* remove use of restricted keywords (variables/functions starting with _)
2024-08-26 12:23:11 +02:00
akallabeth
56d660f258
[cmake] mark dependency includes SYSTEM
Mark all dependency include paths SYSTEM so warnings from system headers
are excluded from ci warning statistics
2024-08-26 11:10:49 +02:00
David Fort
c7b519472b
Merge pull request #10494 from fifthdegree/asn1_int_fix
Fix ASN.1 integer decoding
2024-08-21 22:46:37 +02:00
Isaac Klein
3fb7bd92cc Don't accept 0-length ASN.1 integers for decoding 2024-08-21 14:02:26 -04:00
Armin Novak
17d44e847f
[coverity] fix various warnings 2024-08-21 09:47:34 +02:00
Isaac Klein
9c413abee1 Fix ASN.1 integer decoding
Treat ASN.1 encoded integers with a leading zero byte and the MSB of the
second byte set as non-negative
2024-08-20 19:14:02 -04:00
akallabeth
4b7727bd4e
[winpr,utils] fix PNG bpp extraction 2024-08-19 11:50:15 +02:00
akallabeth
7f84bd5c81
[winpr,utils] fix image stride calculation 2024-08-19 11:50:11 +02:00
akallabeth
7dfdadbe53
[winpr,clipboard] add image clipboard tests 2024-08-19 11:50:07 +02:00
Armin Novak
b2e15b5f75
[winpr,timezone] disable clang-format for WindowsZones 2024-08-12 10:49:10 +02:00
akallabeth
f938c32afa
[winpr,ncrypt] check p11 for NULL 2024-08-09 10:41:43 +02:00
akallabeth
5e662cfb2d
[winpr,ncrypt] add checks to NCryptOpenP11StorageProviderEx 2024-08-09 09:40:27 +02:00
Armin Novak
12da65b033
[release] start 3.7.1-dev0 cycle 2024-08-08 11:38:21 +02:00
Armin Novak
4763f8675a
[release] 3.7.0 2024-08-08 11:38:21 +02:00
Armin Novak
5bee88c4d0
[winpr,string] fix variable names in doxygen 2024-08-08 08:45:45 +02:00
akallabeth
9fe1ff0165
fix #10446 2024-08-08 08:16:52 +02:00
akallabeth
15def36dd6
fix #10448 2024-08-08 08:16:52 +02:00
Ivelin
d7cbe4ed69 fix(winpr-json): typos causing make errors 2024-07-30 08:21:45 +03:00
akallabeth
70e9f4c5ea
Create timezone-update.yml 2024-07-23 14:26:23 +02:00
akallabeth
f22974a95a
[winpr,utils] include current source dir 2024-07-23 09:15:00 +02:00
akallabeth
776083234b
[warnings] fix unused-but-set-variable 2024-07-23 09:14:19 +02:00
akallabeth
0b0eae2adc
[winpr,sspi] fix wchar to byte endianess 2024-07-22 13:42:27 +02:00
akallabeth
4b6d614f19
Merge pull request #10394 from akallabeth/kbd_layout_from_file
Kbd layout from file
2024-07-22 11:07:57 +02:00
akallabeth
8998f6897a
[winpr,sspi] fix PTH string checks 2024-07-22 09:08:33 +02:00
akallabeth
e34b8b5205
[winpr,utils] add WINPR_JSON_AddItemToArray 2024-07-19 15:52:20 +02:00
Armin Novak
6133ee6da0
[winpr,timezone] update from tzextract
* Update existing data
* Add new file TimeZoneNameMap.json
* Add CMake install target for TimeZoneNameMap.json
2024-07-19 14:02:12 +02:00
akallabeth
f8405d5a4a
[winpr,timezone] add JSON generation to tzextract 2024-07-19 14:02:06 +02:00
akallabeth
bb360fbbdc
[winpr,timezone] Add new options to load from file
* WITH_TIMEZONE_FROM_FILE allows loading timezone definitions from a JSON
  file. (Requires WITH_WINPR_JSON, default OFF)
* WITH_TIMEZONE_COMPILED allows loading timezone definitions from an
  compiled in array. (Default ON)

Both of these options can be combined in any order. The data loaded from
file takes preference over compiled in values.
2024-07-19 13:23:03 +02:00
akallabeth
962a996dd9
[winpr,timezone] encapsulate timezonemap 2024-07-19 11:39:49 +02:00
akallabeth
6c682c8418
[client,common] add option to set timezone
* /timezone now allows setting the timezone used from a windows timezone
  key name
* /list:timezones now lists all available windows timezone key names
2024-07-19 11:39:46 +02:00