Commit Graph

6299 Commits

Author SHA1 Message Date
akallabeth
cfc37caeb8
[cmake] cleaning_configure_file
add a wrapper to automatically add generated files to clean target
2024-10-02 23:28:08 +02:00
Armin Novak
0146deb4c0
[crypto,tls] global certificate configuration
Add a global configuration file which allows predefined settings for
certificate handling.
2024-10-02 23:28:03 +02:00
Armin Novak
dcdb0bb3b2
[utils,helpers] add a function to get FreeRDP config file paths 2024-10-02 23:28:00 +02:00
Armin Novak
0df01bcf8d
[cmake] Allow disabling AVX2 extensions 2024-10-02 15:14:29 +02:00
akallabeth
fe8555a4fd
[warnings] annotate cert-err34-c 2024-10-01 13:05:36 +02:00
akallabeth
f6eb6ad4d7
[utils,string] add freerdp_extract_key_value
* Add new function freerdp_extract_key_value to extract key/value pairs
  from a string
* replace all sscanf usages with this new function
2024-10-01 13:05:34 +02:00
akallabeth
574742bae8
[warnings] annotate readability-non-const-parameter 2024-10-01 13:05:19 +02:00
akallabeth
ae61278d18
[core,gateway] annotate DeadStore warnings 2024-10-01 13:05:16 +02:00
akallabeth
a1a8846ad2
[utils,proxy] refactor proxy_parse_uri
* eliminate deadstore warnings
* fix missing input checks
2024-10-01 13:05:14 +02:00
akallabeth
8a0194c105
[clang-tidy] annotate suspicious-memory-comparison 2024-10-01 13:05:11 +02:00
akallabeth
e2eb8f6a28
[codec,xcrush] annotate bugprone-sizeof 2024-10-01 13:04:52 +02:00
akallabeth
1145eb0fc9
[core,gateway] annotate bugprone-sizeof-expression 2024-10-01 13:04:47 +02:00
akallabeth
490ca0453b
[winpr,stream] use Stream_BufferAs instead of casting 2024-10-01 10:34:42 +02:00
akallabeth
11b7633dc0
[channels] use Stream_BufferAs
For WTSVirtualChannelRead and WTSVirtualChannelWrite use Stream_BufferAs
to cast to correct type.
2024-10-01 10:28:13 +02:00
akallabeth
a85068d42e
[core,gateway] allow websocket write up to UINT32_MAX 2024-10-01 10:14:03 +02:00
akallabeth
47c5070805
Merge pull request #10635 from akallabeth/initialize-variables
Initialize variables
2024-09-30 16:04:20 +02:00
akallabeth
508238711c
Merge pull request #10676 from akallabeth/cmake-file-to-hex
Cmake file to hex
2024-09-30 15:58:18 +02:00
akallabeth
aa47e58f11
[core,settings] disable clang-tidy warning
we allocate a UINT32** using calloc and casting it. This allows freeing
this up with free but yields some warnings. Disable for this specific
case
2024-09-30 15:41:45 +02:00
akallabeth
c319541f0d
[core,settings] add unit test
Test cases for freerdp_settings_check_client_after_preconnect
2024-09-30 15:41:31 +02:00
akallabeth
d71c9c566a
[core,settings] monitor configuration check
* fix origin check, might not be primary monitor
* fix a memory leak
2024-09-30 15:41:23 +02:00
akallabeth
fffabcaab1
[primitives,opencl] Use CMake to include opencl code
* Use CMake to convert opencl source file to C constant
* Mark opencl sources as headers and add to CMake to show in IDE
2024-09-30 10:50:42 +02:00
akallabeth
dd98b20f4a
[core,utils] improve utils_str_is_empty 2024-09-30 09:32:15 +02:00
akallabeth
55a5fe26fb
[common,test] remove redundant cast 2024-09-30 09:32:12 +02:00
akallabeth
1947f28a70 [codec,fdk] fix use of strcat 2024-09-30 09:31:36 +02:00
akallabeth
f529345d84 [warnings] fix Wcast-qual 2024-09-30 09:31:36 +02:00
akallabeth
c470b23795
Merge pull request #10672 from akallabeth/multimon-warn
Multimon warn
2024-09-27 10:44:06 +02:00
Martin Fleisz
9ec3d9dc0b
Merge pull request #10679 from akallabeth/rdpei-no-thread
Rdpei no thread
2024-09-27 09:58:44 +02:00
akallabeth
cf809e6388
[core,settings] add settings validation
after client side preconnect validate the settings.
Currently checks for some monitor layout limitations are implemented
2024-09-27 09:44:40 +02:00
akallabeth
f400b9a602
[core,client] fix freerdp_channels_check_fds
unify freerdp_channels_check_fds and
freerdp_channels_process_pending_messages as they both do the same
thing.
2024-09-26 17:01:14 +02:00
akallabeth
ab88e79a36
[core,mcs] unify message channel handling 2024-09-26 16:57:27 +02:00
akallabeth
5e13d5bf16
[core,connection] handle message channel in state
When in demand active it is possible that we can receive message channel
messages. In case we receive one switch parsing to the appropriate
handlers.
2024-09-26 14:38:59 +02:00
akallabeth
f414bef5cb
[codec,dsp] fix freerdp_dsp_context_free
abort early on NULL argument
2024-09-24 19:45:23 +02:00
akallabeth
b1cc0a3191
[proxy,modules] eliminate unused variables 2024-09-24 19:45:16 +02:00
akallabeth
469f75a314
[codec,ncrush] fix possible overflow 2024-09-24 11:39:45 +02:00
akallabeth
89e6f357b5
[utils,smartcard] fix possible integer overflow 2024-09-24 11:34:02 +02:00
akallabeth
0fe89241f8
[core,client] add argument checks & assertions
* freerdp_get_event_handles
* freerdp_channels_process_pending_messages
2024-09-24 11:08:38 +02:00
akallabeth
26003e59cc
[va_list] initialize with ={0}; 2024-09-24 11:06:18 +02:00
akallabeth
82a43ef4dc
[core,client] add channel poll registration API
Add a new API that allows channels to register/unregister an
event-handle along with a callback function to be called by the RDP main
thread.
This allows background processing of channel specifics without the need
for a channel specific thread.
2024-09-24 10:10:52 +02:00
akallabeth
ae3330d63d
[codec,dsp] reorganize experimental codecs
* Remove ALAW/µULAW from sound channels
* Make everything except PCM and AAC experimental
2024-09-23 12:01:11 +02:00
akallabeth
ce2605fad2
[codec,dsp] fix FDK-AAC memory leak 2024-09-23 12:00:55 +02:00
JohnWoo22
69163f91ee fix neon-based chroma filter 2024-09-23 14:01:17 +08:00
akallabeth
239440e28d
[warnings] remove or comment unused macros 2024-09-20 18:49:38 +02:00
akallabeth
f86f70a022
Merge pull request #10637 from akallabeth/dealloc-fix
[warnings] fix mismatched-dealloc
2024-09-20 10:50:20 +02:00
David Fort
80623095a0
Merge pull request #10647 from akallabeth/kbd-range-checks
[locale,keyboard] fix index range checks
2024-09-20 10:15:05 +02:00
akallabeth
ffd40983ac
[locale,keyboard] fix index range checks 2024-09-20 08:28:56 +02:00
Vic Lee
35ad7e7d0d
Revert "[core,gateway] read leftover http body in the rdg IN channel." 2024-09-19 19:38:29 +08:00
Vic Lee
56535c9663 [core,gateway] read leftover http body in the rdg IN channel. 2024-09-19 18:29:54 +08:00
akallabeth
564656166e
[locale,keyboard] add unit tests for functions 2024-09-18 21:31:16 +02:00
akallabeth
7ae1f07aa8
[locale,keyboard] fix missing input validation 2024-09-18 21:17:28 +02:00
akallabeth
afde8e779b
[locale,keyboard] fix loading of keyboard locales
if keyboard locales should be loaded from a file also load the layouts
2024-09-18 21:17:21 +02:00
Armin Novak
c7c84682e1
[warnings] fix mismatched-dealloc
Some allocator functions have an error path where the corresponding free
function is called. Since the memory in the allocator function was
allocated using malloc/calloc the free function does not match. Silence
warnings with pragma macros
2024-09-18 15:35:28 +02:00
Armin Novak
b4755a58dc
[utils,smartcard] return after free
In smartcard_ListReadersA_Call first free up memory and then return in
case of an error
2024-09-18 14:32:45 +02:00
Armin Novak
fdd8a5cedd
[codec,progressive] fix result cast in progressive_rfx_srl_read 2024-09-18 13:14:19 +02:00
Armin Novak
769b225278
[utils,smartcard] fix size checks 2024-09-18 11:47:02 +02:00
Armin Novak
7b8ddb89c7
[codec,planar] fix parameter type of functions 2024-09-18 11:47:01 +02:00
Vic Lee
5f37b54847 [core,gateway] migrate rpc gateway to use new transport layer. 2024-09-18 15:39:34 +08:00
akallabeth
586f40631f
[warnings] fix shorten-64-to-32 2024-09-17 16:13:48 +02:00
akallabeth
618e02a65e
[cmake] fix SWScale library variable name 2024-09-17 12:57:43 +02:00
akallabeth
7f52be7d75
[codec,dsp] fix build WITH_FAAC 2024-09-17 12:57:40 +02:00
akallabeth
c7efbf5b8e
[core,proxy] fix nonblocking BIO reads
* In case of non-blocking BIO layers the proxy read functions bailed
  out with an error. Retry reading in that case unless the
  TcpConnectTimeout is exceeded
* Terminate proxy read operations if rdpContext::abortEvent is set
2024-09-17 10:37:19 +02:00
akallabeth
f2e90eca34
[windows,32bit] fix VCAPITYPE consistency
Fixes #10581
2024-09-16 14:15:59 +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
f655843260
[return checks] fix use of rdpSettings getter/setter 2024-09-16 06:48:23 +02:00
akallabeth
c0d06c782b
[return checks] fix missing checks
* Stream_EnsureRemainingCapacity
* rdp_client_transition_to_state
2024-09-16 06:48:19 +02:00
akallabeth
94020c183c
[return checks] fix use of ResetEvent 2024-09-16 06:48:09 +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
ba41d5e532
[warnings] fix unchecked return 2024-09-15 09:08:02 +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
9cfd748b63
[core,nla] nla_read_TSRemoteGuardPackageCred
* fix maybe uninitialized arguments
* fix return in case of invalid packet
2024-09-14 21:29:24 +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
d7f6cf90b4
[core,nla] add missing static for function 2024-09-14 08:24:43 +02:00
akallabeth
5f2ed9b8ce
[crypto,tls] explicitly cast function pointer 2024-09-14 08:24:40 +02:00
akallabeth
70b597ce1e
[utils,passphrase] fix unused result warning 2024-09-14 08:24:32 +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
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
afff514ca7
[compiler] add WINPR_ATTR_MALLOC
Add WINPR_ATTR_MALLOC checks to allocating functions to help compilers
find memory leaks or allocation mismatches
2024-09-12 20:09:22 +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
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
7ebefc505f
[warnings] fix some msbuild warnings 2024-09-12 13:32:41 +02:00
akallabeth
2638d9d894
[warnings] fix casts 2024-09-12 13:30:00 +02:00
akallabeth
adc4f2abf8
[warnings] fix unused variables 2024-09-12 13:29:58 +02:00
akallabeth
e00661d338
[warnings] fix dead store warnings 2024-09-12 13:29:46 +02:00
akallabeth
c9b0c9ecd5
[warnings] remove unused variables 2024-09-12 10:08:10 +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
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
3682e11e55
[primitives,test] use same parameter names
use the same parameter names for declaration and implementation
2024-09-11 22:20:35 +02:00
akallabeth
265246cdfc
[core,activation] allocate buffer with calloc 2024-09-11 21:03:20 +02:00
akallabeth
ae95b66922
[warnings] fix portability [cm]alloc size 0 2024-09-11 20:50:33 +02:00
akallabeth
a1be46e5dd
[warning] fix function declarations
use same names in declaration and implementation
2024-09-11 20:50:21 +02:00
akallabeth
62e52b30c8
[utils,passphrase] fix missing char to int cast 2024-09-11 20:49:44 +02:00
akallabeth
953b2664c0
[opencl,primitives] fix const warning 2024-09-11 20:48:52 +02:00
akallabeth
bf4953d288
[codec,h264] fix documentation unknown 2024-09-11 20:48:49 +02:00
akallabeth
403ee7ad4c
[core,activation] simplify rdp_write_client_persistent_key_list_pdu 2024-09-11 20:48:46 +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
edf6ab89f7
[warnings] fix dead store 2024-09-10 14:43:11 +02:00
akallabeth
4253426e48
[core,transport] follow up to #10576
document the behaviour and reference the place it is used to avoid
confusion on future code review
2024-09-09 13:43:43 +02:00
akallabeth
cec6fef1de
Merge pull request #10575 from akallabeth/ffmpeg-detect-update
Ffmpeg detect update
2024-09-09 12:59:15 +02:00
akallabeth
52ee2e4668
[cmake] unify ffmpeg and swscale detection 2024-09-09 12:20:17 +02:00
Vic Lee
929e4bdf8d [core,transport] fix ssl info callback function signature and some warnings. 2024-09-09 17:42:14 +08:00
akallabeth
9738fc40f3
Merge pull request #10548 from akallabeth/serial-port
[BSD] build-serial-port
2024-09-09 09:41:12 +02:00
akallabeth
02d9d56536
Merge pull request #10563 from llyzs/transport_io
Add new transport io layer design and support custom socket.
2024-09-06 15:18:20 +02:00
akallabeth
6a64fe121b
Merge pull request #10569 from akallabeth/fprintf-void
Fprintf void
2024-09-06 10:44:32 +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
1e1e9a445b
[utils,gfx] add rdpgfx_caps_version_str 2024-09-06 08:38:37 +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
Vic Lee
ae05778644 [core,transport] add new transport io layer design and support custom socket. 2024-09-05 20:59:21 +08:00
akallabeth
64a0d87c98 fix missing prototype 2024-09-04 22:15:38 +02:00
akallabeth
798421e883 fix missing static for functions 2024-09-04 22:12:32 +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
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
9776cc109e
[crypto,tls] simplify function pointer cast 2024-09-04 20:06:40 +02:00
akallabeth
e37dffaca4
[crypto,tls] disable linter warning
the argument is #ifdefed, so some configurations produce a warning
2024-09-04 12:50:46 +02:00
akallabeth
5aff241096
Merge pull request #10554 from akallabeth/tidy-silence
Tidy silence
2024-09-04 10:35:22 +02:00
akallabeth
b6e72c7674
Merge pull request #10551 from akallabeth/arch-fixes
Arch fixes
2024-09-04 09:56:35 +02:00
akallabeth
3e933203e2 [crypto,tls] fix bad-function-cast
do silence the compiler warning and add a comment why we do that.
2024-09-04 09:41:53 +02:00
akallabeth
c5f346488f
[crypto,tls] revert const argument
with some build options this needs to be writeable.
2024-09-04 09:03:21 +02:00
akallabeth
f3d84d4557
[warnings] use ARRAYSIZE macro 2024-09-03 15:10:58 +02:00
akallabeth
baa70d1ab6
[warnings] fix compare integers of different signs 2024-09-03 15:10:46 +02:00
akallabeth
42b078a59d
[emu,scard] smartcard emulation cleanup
* Fix readability-non-const-parameter (disable lint, API requires these
  to be non const)
* Return an appropriate error for functions returning
  SCARD_E_UNSUPPORTED_FEATURE if there is a parameter wrong
* Remove unused functions
2024-09-03 12:24:55 +02:00
akallabeth
5a4a1a40ad
fix declaration and implementation parameter names 2024-09-03 12:24:53 +02:00
akallabeth
f7fd817d1c
[warnings] fix redundant casting 2024-09-03 12:24:51 +02:00
akallabeth
852e0c1450
[common,assistance] fix shadowed variable 2024-09-03 12:17:33 +02:00
Armin Novak
fe4cb6de65
[warnings] fix float/double warnings 2024-09-02 16:20:20 +02:00
Armin Novak
5791b2a5aa
[codec,dsp] fix ffmpeg warnings 2024-09-02 13:39:12 +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
3674c5c2f7
[common,assistance] eliminate pedantic cast warnings 2024-08-30 15:40:10 +02:00
akallabeth
48aaa53a84
[codec,dsp] fix restrict warning 2024-08-30 15:40:06 +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
f22018302f
[warnings] revert some mismatching function declarations 2024-08-30 08:39:30 +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
36c3184a0f
[warnings] fix clang-tidy issues in libfreerdp 2024-08-29 15:34:22 +02:00
akallabeth
9c9d74e920
[warnings] fix redundant casts 2024-08-29 12:03:09 +02:00
akallabeth
91cb77a85e
[warnings] fix uninitialized variable warnings 2024-08-29 11:43:26 +02:00
akallabeth
af813a0929
[cmake,clang-tidy] do not use explicit .clang-tidy
if not explicitly added the nearest .clang-tidy file to the compiled
source is used.
2024-08-29 11:18:36 +02:00
akallabeth
15456e1ee1
[warnings] fix implicit widening conversion 2024-08-29 10:47:20 +02:00