Commit Graph

6254 Commits

Author SHA1 Message Date
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
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
eeba99d73e
Merge pull request #10523 from akallabeth/autoreconnect-fix
[core,client] flush pending channel messages
2024-08-28 16:42:05 +02:00
akallabeth
380c5808a0
Merge pull request #10518 from akallabeth/clang-tidy-cleanup
Clang tidy cleanup
2024-08-28 16:36:16 +02:00
akallabeth
4ccfbc96ac
[core,client] flush pending channel messages
on disconnect flush all pending messages to avoid sending on reconnect.
2024-08-28 14:13:28 +02:00
akallabeth
de5b7c8e42
Merge pull request #10521 from akallabeth/warn-fix-uninit
[warnings] fix uninitialized variables
2024-08-28 11:12:11 +02:00
akallabeth
743c923ca7
Merge pull request #10516 from troyrollo/ssh-askpass-support
Add support for getting passwords from ssh-askpass
2024-08-28 11:11:35 +02:00
Armin Novak
03449da9e9
[warnings] fix uninitialized variables 2024-08-28 10:46:40 +02:00
Armin Novak
3b1c1e0af1 [warnings] fix cppcoreguidelines-init-variables 2024-08-28 10:15:36 +02:00
akallabeth
8e4f9ad5ac
[utils,passphrase] do not check for SSH_ASKPASS 2024-08-28 10:14:06 +02:00
akallabeth
396b3b51b4
[utils,passphrase] format & clean code 2024-08-28 10:08:30 +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
Troy Rollo
3f0000df0f Add support for getting passwords from ssh-askpass 2024-08-28 13:44:21 +10:00
David Fort
f1b299c3e2 core: relax check in freerdp_peer_new
Not all socket kinds have the TCP_NODELAY option (especially local UNIX sockets),
so don't make the setsockopt fatal.
2024-08-26 19:53:49 +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
akallabeth
679de71056
[core,nla] remove platform guards for PasswordHash
Fixes #10507: do not ask for password if PasswordHash is supplied on
windows.
2024-08-26 09:23:55 +02:00
akallabeth
86e2789d9b
[coverity] fix warnings 2024-08-26 09:19:06 +02:00
akallabeth
ba7fd06ec4
[coverity] fix some warnings
* mostly dead store and identical code branches.
* some possible integer overflows
2024-08-23 12:38:41 +02:00
Armin Novak
8f55f33951
[gdi,bitmap] initialize buffer solid black 2024-08-21 15:14:43 +02:00
Armin Novak
502640caca
[gdi,gfx] SolidFill always use alpha 0xff 2024-08-21 15:13:53 +02:00
Armin Novak
17d44e847f
[coverity] fix various warnings 2024-08-21 09:47:34 +02:00
akallabeth
0fe5831187
Merge pull request #10491 from akallabeth/tcp_probe_addrinfo
[core,tcp] retry all DNS entries until success
2024-08-20 14:08:06 +02:00
akallabeth
4286a4c164
[core,tcp] retry all DNS entries until success
When resolving some DNS name with getaddrinfo try all returned entries
matching the configuration (IPv4|IPv6|any) until the socket can be
connected. Fixes #5335
2024-08-20 13:10:12 +02:00
akallabeth
c2d30a07e9
[crypto,cert] add getter for notBefore and notAfter
Add getters for ceritificate dates notBefore and notAfter. Returns the
date as RFC822 string.
2024-08-20 12:42:46 +02:00
akallabeth
63d87dcf18
[core,update] ensure EndPaint before DesktopResize
When DesktopResize is called EndPaint might not have been. Ensure the
update-lock is released and data flushed before resizing.
2024-08-20 09:54:56 +02:00
akallabeth
dac0ae4976
[crypto,cert] extend certificate store API
Use the certificate PEM without trustchain in the local trust store, but
keep the full PEM with chain for the user facing callbacks.
2024-08-13 15:56:08 +02:00
akallabeth
22fb6aad31
[crypto,tls] fix AcceptedKey checks
* Add freerdp_certificate_get_pem_ex to extract PEM for cert only
* Compare only certificate without certificate chain
* Store only certificate PEM without chain for later comparison
2024-08-13 07:40:07 +02:00
akallabeth
173f6f5c17
Merge pull request #10425 from akallabeth/scard-cache
[emu,scard] use single cache
2024-08-08 11:16:01 +02:00
akallabeth
11b7ca4753
fix #10449 2024-08-08 08:16:40 +02:00
akallabeth
d099c2ffd2
[emu,scard] use single cache
Just like with PCSC use a single cache and create the identifier from
UUID and identifier
2024-07-25 15:47:44 +02:00
akallabeth
86f2b1e26a
[core,capabilities] skip stream bytes read in substream 2024-07-25 11:19:15 +02:00
akallabeth
2f5570cd67
Merge pull request #10423 from akallabeth/action_script
[client,X11] fix ActionScript
2024-07-25 10:00:26 +02:00
akallabeth
828428ae17
Merge pull request #10422 from akallabeth/rfx_improve
Rfx improve
2024-07-25 09:47:45 +02:00
Armin Novak
44b07721ec
[client,X11] fix ActionScript
* Unify script calls
* Update documentation
* Fix home directory
2024-07-25 09:42:03 +02:00
akallabeth
221181f713
[locale,x11] add proper checks for atom 2024-07-25 07:47:42 +02:00
Armin Novak
f167ccff4e
[core,capabilities] Fix SurfaceCommandsSupported
* Initialize in settings_new with everything supported
* merge client & server settings
* Write capabilities from current SurfaceCommandsSupported setting
2024-07-24 21:54:54 +02:00
Armin Novak
850389de44
[core,capabilities] pass RemoteFxRlgrMode and RemoteFxCodecMode 2024-07-24 21:54:51 +02:00
Armin Novak
22585a31ce
[core,capabilities] fix NSCodecId and SurfaceCommandsSupported parsing 2024-07-24 21:54:42 +02:00
Armin Novak
96b945aa83
[settings] Added SurfaceCommandsSupported setting 2024-07-24 21:54:39 +02:00
Armin Novak
e888769bf6
[core,capabilities] fix RFX capability parsing
* Require SURFCMDS_STREAM_SURFACE_BITS
* Improve error logging
* Improve content length checks
2024-07-24 21:54:30 +02:00
Armin Novak
268bf25f02
[settings] add RemoteFxRlgrMode setting 2024-07-24 21:54:26 +02:00
Armin Novak
9e71b423cd
[warnings] fix various compiler warnings 2024-07-24 11:08:20 +02:00
akallabeth
776083234b
[warnings] fix unused-but-set-variable 2024-07-23 09:14:19 +02:00
akallabeth
7d2afe4f5a
[crypto,base64] fix sign warnings 2024-07-22 15:08:51 +02:00