akallabeth
1c161b0270
[channels,rdpear] elimiate warnings
2024-09-14 08:24:35 +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
7ef9345743
Merge pull request #10549 from hardening/rcg2
...
core, channels: client-side remote credential guard
2024-09-13 08:24:14 +02:00
akallabeth
7ebefc505f
[warnings] fix some msbuild warnings
2024-09-12 13:32:41 +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
31ef07ead7
[warnings] fix tautological unsigned zero compare
2024-09-11 20:50:30 +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
674e84cbf3
[channels,location] fix cast warning
2024-09-10 14:43:08 +02:00
akallabeth
52ee2e4668
[cmake] unify ffmpeg and swscale detection
2024-09-09 12:20:17 +02:00
akallabeth
6a64fe121b
Merge pull request #10569 from akallabeth/fprintf-void
...
Fprintf void
2024-09-06 10:44:32 +02:00
akallabeth
db8e340604
[rdpgfx,client] debug caps version as string
2024-09-06 09:35:23 +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
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
ff62730419
[channels] fix function pointer casts
...
* Cast freerdp_load_channel_addin_entry return with a union (removes the
incompatible function pointer cast warnings)
* Typedef function pointers in tables.h
2024-09-04 09:12:41 +02:00
akallabeth
fe6d861a5c
[channels] fix VCAPITYPE for all channel entry points
2024-09-03 17:26:58 +02:00
akallabeth
491c884c7a
[cmake] remove casts from tables.c
2024-09-03 15:15:08 +02:00
akallabeth
b77d6e8550
[channels] fix function pointer casts
...
* Cast freerdp_load_channel_addin_entry return with a union (removes the
incompatible function pointer cast warnings)
* Typedef function pointers in tables.h
2024-09-03 15:13:58 +02:00
akallabeth
baa70d1ab6
[warnings] fix compare integers of different signs
2024-09-03 15:10:46 +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
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
ec73265268
[channels,rail] fix unused variable warnings
2024-08-29 17:13:57 +02:00
akallabeth
bd637c6cd1
[warnings] fix various clang-tidy warnings
2024-08-29 17:13:50 +02:00
akallabeth
cc626276d0
[warnings] integer cast and checks
2024-08-29 15:49:33 +02:00
akallabeth
47e40dd7a5
[warnings] fix clang-tidy issues in channels
2024-08-29 15:34:25 +02:00
akallabeth
9c9d74e920
[warnings] fix redundant casts
2024-08-29 12:03:09 +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
1d33095500
[warnings] fix cert-err33-c
...
Fix unused return values, cast to void if on purpose
2024-08-29 10:19:27 +02:00
Armin Novak
7aae7896ae
[channels,rail] fix use after free
2024-08-27 09:08:15 +02:00
akallabeth
7f13d1993d
[channels,rail] simplify sending
...
* Fix #5347 : Do not create useless copy of data to send.
2024-08-26 14:14:47 +02:00
akallabeth
00eb86970d
Merge pull request #10510 from akallabeth/serial-cleanup
...
Serial cleanup
2024-08-26 13:47:10 +02:00
akallabeth
7054b26916
[channels,parallel] compilation checks
...
* Only compile channel related command line if enabled
* Warn on unsupported platforms
2024-08-26 13:30:30 +02:00
akallabeth
387dabc4dd
[channels,serial] add CMake messages
...
Inform user about platforms that do not support serial redirection
2024-08-26 13:26:15 +02:00
akallabeth
1ec18ce827
[channels,serial] default to off on APPLE
2024-08-26 13:23:09 +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
eb7d8fdeb0
[channels,serial] improve command line parsing
...
* Gracefully exit on invalid serial driver
* Gracefully exit on onvalid serial port flags
2024-08-26 12:37:03 +02:00
akallabeth
0b21fddef6
[channels,serial] improve IRP processing logging
2024-08-26 12:37:01 +02:00
akallabeth
df04e4c888
[channels,parallel] unify IRP processing logging
2024-08-26 12:36:58 +02:00
akallabeth
1ca069c771
[channels,serial] fix IrpThread handling
...
* Proper terminated threads cleanup
* Proper remaining threads termination on close
2024-08-26 12:35:54 +02:00
akallabeth
348ddf61c0
[channels,serial] delay IRP thread start
...
wait until irp_thread_func has completed before starting the thread.
This prevents a race condition when accessing the IRP structure which is
freed up once the thread terminates.
2024-08-26 12:35:51 +02:00
akallabeth
652c5310f2
[channel,serial] cleanup code
...
* WINPR_ASSERT arugments
* remove use of restricted keywords (variables/functions starting with _)
* Better logging and error checks
2024-08-26 12:23:04 +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
86e2789d9b
[coverity] fix warnings
2024-08-26 09:19:06 +02:00
Armin Novak
17d44e847f
[coverity] fix various warnings
2024-08-21 09:47:34 +02:00
Armin Novak
fe76bafd57
[channels,drive] fix out of bound access
2024-08-21 09:20:25 +02:00
akallabeth
1e19ccd76d
[channels,cliprdr] refactor cliprdr_packet_format_list_new
...
* Simplify function
* Add missing arguments for ASCII names
2024-08-14 09:19:51 +02:00
David Fort
6e2cc358ba
cliprdr: fix message of error code log
2024-08-13 15:08:30 +02:00
Armin Novak
83b253dc84
[channels,cliprdr] fix cliprdr_packet_format_list_new
...
* Fix length calculations
* Fix format name write, skip empty strings
2024-08-12 13:23:33 +02:00
Mikhail Kashin
5c471974ba
[channels,disp] fix typo in monitor->height
2024-08-05 23:54:08 +03:00
akallabeth
776083234b
[warnings] fix unused-but-set-variable
2024-07-23 09:14:19 +02:00
akallabeth
ef5d9945cd
[channels,tsmf] fix deprecations and warnings
2024-07-22 15:40:08 +02:00
akallabeth
35d1182ff5
[channels,tsmf] fix deprecation warnings
2024-07-22 15:08:38 +02:00
Armin Novak
1b2533674b
[channels,cliprdr] stringify logged values
2024-07-17 11:27:51 +02:00
James Fu
0755325f77
[channels,rdpdr] fix drive redirection hotplug
...
Currently, after receiving PAKID_CORE_USER_LOGGEDON, the client will
switch to RDPDR_CHANNEL_STATE_USER_LOGGEDON, send Device List
Announce, then switch back to RDPDR_CHANNEL_STATE_READY. As a result,
any drives mounted later will not be announced.
2024-07-10 17:06:47 +02:00
James Fu
75dfcabe91
[channels,rdpdr] fix state check
2024-07-09 22:54:15 +08:00
akallabeth
20c3fc327f
[channels,drdynvc] ignore thread priority failures
...
If the thread priority of the dynamic channel can not be adjusted treat
this as warning and not as fatal error.
2024-07-08 12:21:02 +02:00
Armin Novak
fb26dd4185
[channels,rdpgfx] enable GfxSendQoeAck
2024-07-03 15:52:28 +02:00
akallabeth
4099bd4e45
[warnings] integer casts/checks
2024-07-02 12:38:00 +02:00
akallabeth
9a2a1c3717
[channel,drive] fix directory traversal detection
...
filter out .. part of the file or directory name.
2024-07-01 17:10:23 +02:00
akallabeth
8e81d24e14
[channels,drdynvc] only set thread priority if we have one
2024-06-25 14:38:12 +02:00
Felix Deimel
a424bab451
[rdpsnd,ios] Fix rdpsnd_ios_open method signature
...
Fixes compilation with WITH_IOSAUDIO
2024-06-21 12:34:00 +02:00
akallabeth
0d974acab2
[channel,rdpecam] keep off by default
...
channel is still experimental, keep it off by default, allow enabling
with default channel CHANNEL_RDPECAM_CLIENT=ON switch
2024-06-17 13:33:00 +02:00
akallabeth
b3810e3b85
[channel,rdpecam] add option RDPECAM_CLIENT_CHANNEL_STUB
...
this allows building FreeRDP with only a stubbed [MS-RDPECAM] channel
2024-06-17 13:13:07 +02:00
oleg0421
f48c8eacad
[channel,rdpecam] framerate support and h264 bitrate tuneup
2024-06-15 19:05:35 -07:00
Armin Novak
c4594bc7cb
[channel,rdpecam] fix compiler warnings and leaks
2024-06-12 10:27:50 +02:00
Armin Novak
1806daa375
[channel,server] fix unguarded use of functions
...
If functions of channel_<name>_server are used guard them so the code
compiles if the channel is not compiled in.
2024-06-12 09:58:08 +02:00
akallabeth
4a71bf8bc8
[channels,rdpecam] fix missing link libraries
...
* add ffmpeg libraries
* change channel error checks, only FFMPEG supported currently
2024-06-11 12:12:00 +02:00
akallabeth
2831d2f5ec
[cmake] fix add_channel_client and add_channel_server
...
only add the channels if they are activated (e.g. both,
CHANNEL_<NAME> and CHANNEL_<NAME>_CLIENT or CHANNEL_<NAME>_SERVER are
defined)
2024-06-11 11:39:25 +02:00
akallabeth
8a0706b6b7
[channels,rdpecam] use default CHANNEL_RDPECAM_CLIENT
...
* use default CMake variable for channels
* set default depending on CMAKE_SYSTEM_NAME (currently only linux is
supported)t
2024-06-11 10:17:31 +02:00
oleg0421
a81d111ac4
RDPECAM client: new rdpecam channel
2024-06-10 14:48:45 +02:00
Andrey Af
5f26c013ed
[server,rdpdr] fixed HashTable equal keys func
2024-06-07 10:08:46 +02:00
akallabeth
c07ba558cb
[warnings] fix various compiler warnings
2024-06-04 13:23:24 +02:00
akallabeth
0dc9a46d53
Merge pull request #10213 from akallabeth/thread-prio
...
Thread prio
2024-05-24 16:02:49 +02:00
akallabeth
3b895deb97
[channels,drdynvc] set thread priority
2024-05-24 15:44:20 +02:00
akallabeth
c6b7b87f8f
[channels,rdpgfx] use FreeRDP_GfxSuspendFrameAck
2024-05-24 11:52:02 +02:00
akallabeth
5475f3fc24
[channels,rdpgfx] use static stream
2024-05-21 14:56:53 +02:00
akallabeth
23229859d7
[channel,cliprdr] warn on invalid msgFlags in requests
2024-05-16 18:27:38 +02:00
akallabeth
1b8221e5bf
[warnings] fix various minor warnings
2024-05-08 14:53:39 +02:00
akallabeth
6ce8bc3e98
[channels,rdpdr] remove dead code.
2024-04-21 11:00:47 +02:00
akallabeth
71e78bedd7
[warnings] fixed sign and const
...
* fix various char/BYTE sign warnings
* fix various const warnings
* fix format string size_t
* remove unused CMake variables
2024-04-18 11:05:58 +02:00
akallabeth
5301603548
[channels,rdpgfx] fix memory leak on error
2024-04-16 21:20:04 +02:00
Armin Novak
2500fb7bfb
[cleanup] refactor some checks
2024-04-15 12:40:01 +02:00
akallabeth
122a35fb73
[coverity] 1543932 Resource leak
2024-04-12 13:30:35 +02:00
akallabeth
a8ce0aee29
[coverity] 1543213 Dereference before null check
2024-04-12 12:41:42 +02:00
akallabeth
e88cb403bb
[coverity] 1543930 Dereference after null check
2024-04-12 12:41:42 +02:00
akallabeth
581c9f1798
[channels,parallel] clean up code
2024-04-12 12:41:42 +02:00
akallabeth
7b0723efd2
[coverity] 1543048 Dereference before null check
2024-04-12 09:45:09 +02:00
akallabeth
8c580e6d6d
[coverity] 1543073 Resource leak
2024-04-12 09:45:09 +02:00
akallabeth
4236f46b33
[coverity] 1543262 Resource leak
2024-04-12 09:45:09 +02:00
akallabeth
e63d4666a0
[coverity] 1543273 Resource Leak
2024-04-12 09:45:09 +02:00
akallabeth
80f85cdd55
[coverity] 1543238 Resource leak
2024-04-12 09:45:09 +02:00
akallabeth
b7f369bfe0
[coverity] 1543063 Out-of-bounds access
2024-04-11 12:04:07 +02:00
Martin Fleisz
14cdd6a105
location: Increase buffer size for printing channel info
...
The current buffer size of 32 bytes was too small to hold the version
info string which resulted in a non-null terminated buffer (_snprintf
does not null-terminate the buffer if it is too small) being printed.
2024-04-11 11:18:43 +02:00
Ilya Shipitsin
822537be0e
channels/cliprdr/client/cliprdr_main.c: fix resource leak
...
found by coverity
655 if (Stream_Write_UTF16_String_From_UTF8(s, tmpDirCharLen - 1, tempDirectory->szTempDir,
656 ARRAYSIZE(tempDirectory->szTempDir), TRUE) < 0)
CID 424748: (#1 of 1): Resource leak (RESOURCE_LEAK)
9. leaked_storage: Variable s going out of scope leaks the storage it points to.
657 return ERROR_INTERNAL_ERROR;
658 /* Path must be 260 UTF16 characters with '\0' termination.
659 * ensure this here */
2024-04-08 11:39:20 +02:00
Ilya Shipitsin
c7954ad0f3
channels/urbdrc/client/data_transfer.c: fix resource leak
...
found by coverity
705 if (transferDir == USBD_TRANSFER_DIRECTION_OUT)
706 {
18. Condition !Stream_CheckAndLogRequiredLengthEx("com.freerdp.channels.urbdrc.client" /* "com.freerdp.channels.urbdrc.client" */, 3, s, OutputBufferSize, 1, "%s(%s:%zu)" /* "%s(%s:%zu)" */, <anonymous>, "/home/runner/work/FreeRDP/FreeRDP/channels/urbdrc/client/data_transfer.c", 707UL /* (size_t)707 */), taking true branch.
707 if (!Stream_CheckAndLogRequiredLength(TAG, s, OutputBufferSize))
CID 424733: (#1 of 1): Resource leak (RESOURCE_LEAK)
19. leaked_storage: Variable out going out of scope leaks the storage it points to.
708 return ERROR_INVALID_DATA;
709 Stream_Copy(s, out, OutputBufferSize);
710 }
2024-04-08 11:39:20 +02:00
akallabeth
678ff144ab
[cmake] unify windows resource file generation
...
* use a macro to add resource files for executables and shared libraries
* use that macro to declare targets
* use that macro to set library/binary versioning
* use that macro to set target output name
* use a macro to create manpages and names
2024-03-20 11:17:18 +01:00