Commit Graph

2875 Commits

Author SHA1 Message Date
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
Armin Novak
ea9e219867 [channels,rail] print handshakeEx flags 2024-03-20 10:00:57 +01:00
akallabeth
15cf6b26b1 [channesl,oss] fix OSS detection
* generate a include header depending on where the soundcard.h file was
  found as that is in system paths that must not be added to the include
  search paths.
* fix detection, the if/else was mixed up and completely broken.
2024-03-20 09:11:08 +01:00
akallabeth
b9a1f791f7 [channels,drive] fix wrong function usage
_wcslen is for WCHAR, wcslen for wchar_t
2024-03-18 13:27:32 +01:00
akallabeth
75ca810d96 [channels,location] fix sending location messages 2024-03-18 08:41:17 +01:00
akallabeth
222f386d7e [channels,location] add debug location output 2024-03-18 08:41:17 +01:00
akallabeth
473fbcf51d [channels,location] fix send pdu size 2024-03-18 08:41:17 +01:00
akallabeth
8fb421dd3a [channels,rdpecam] add client channel stub 2024-03-18 08:41:17 +01:00
Armin Novak
35430cf191 [channel,client] update channel pointer
in generic_on_new_channel_connection set the channel pointer to the
current value.
2024-03-14 16:05:51 +01:00
Armin Novak
98aeb54e83 [channel,location] fix broken length check 2024-03-14 16:05:51 +01:00
akallabeth
f764b0a854 [channels,location] implement client channel
* provide client side callbacks to implement platform specific location
  backend glue code
2024-03-11 13:22:12 +01:00
Vic Lee
33416fd3ac [channels,printer] support printer channel in synchronous mode. 2024-03-07 11:40:44 +01:00
ddoe
d590b67ac4 Prevent printer closing when a job is closed
It prevents future job to print
2024-03-04 14:38:37 +01:00
akallabeth
9a7d30d174 [clang,tidy] fix a few warnings 2024-02-27 14:15:43 +01:00
akallabeth
d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +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
0e44b2c674 [clang-tidy] clang-analyzer-unix.Malloc 2024-02-15 11:49:16 +01:00
akallabeth
b8598728a6 [clang-tidy] clang-analyzer-core.uninitialized.Assign 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
akallabeth
e2e6d09256 [cmake] use DEFAULT_DEBUG_OPTION for all 2024-02-13 17:06:00 +01:00
akallabeth
ff1565b7ea [channel,tsmf] fix clang-tidy warnings 2024-02-12 09:28:09 +01:00
akallabeth
94a29e7b2c [channel,tsmf] fix issue with oss backend 2024-02-12 09:28:09 +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
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
Vic Lee
5559e59f40 [channels] Add synchronous static channel setting. 2024-02-01 15:06:23 +01:00
akallabeth
5cb463e74b [channel,rdpgfx] disable client side caps
If no image scaling is available disable capabilities that require image
scaling to function properly
2024-01-29 19:26:18 +01:00
akallabeth
278a56263b [channels,rdpgfx] add server side channel checks
check if the message is allowed in current channel state.
2024-01-29 19:26:18 +01:00
akallabeth
01e415b801 [channel,rdpgfx] use dynamic WLog for server channel 2024-01-29 19:26:18 +01:00
Vic Lee
16206cb505 [channels,drdynvc] Add settings to enable synchronous dynamic channels. 2024-01-11 15:24:55 +01:00
Vic Lee
277ea28926 [channels,rdpgfx] fix potential stack corruption. 2024-01-11 13:44:47 +01:00
Armin Novak
650154b2e7 [channels,rdpgfx] add debug logs for server side
add debug logs for cache import offer and reply
2024-01-10 21:49:38 +01:00
Armin Novak
6e1bb4e1c3 [channels,gfx] default reply to cache import offer
by default we do not use the cache, so reply with 0 imported messages by default.
can be overridden by server implementations, but provides a sane default
if not.
2023-12-20 11:26:54 +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
731e1f183d [channel,rdpds] ignore XPS device messages
if FreeRDP_IgnoreInvalidDevices is set ignore XPS messages for unknown
devices
2023-12-06 15:22:59 +01:00
Armin Novak
303c477c06 [channels,rdpdr] fix #9610
windows RDP server randomly sends PAKID_CORE_SERVER_CAPABILITY to
reinitialize the rdpdr channel. Allow this message in all following
states.
2023-12-06 15:22:59 +01:00
Armin Novak
1d06edb8d9 [channels,tsmf] fix gstreamer detection 2023-12-05 08:33:12 +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
4fd7a5cf16 [channels,tsmf] fix ffmpeg deprecation 2023-11-24 18:19:03 +01:00
Armin Novak
2e9ee7a583 [channels,rdpsnd] fix missing include 2023-11-24 18:19:03 +01:00
Armin Novak
854df33db1 [warnings] fix log_libusb_result empty format string 2023-11-24 18:19:03 +01:00
akallabeth
ceb7bd1d41 [warnings] fixed clang build warnings 2023-11-24 18:19:03 +01:00
Armin Novak
593e2bf4a9 [api] fix compiler warnings
check #if defined(__GNUC__)
2023-11-24 14:54:56 +01:00
akallabeth
4e438d1c3e [client] make settings opaque 2023-11-24 14:54:56 +01:00
akallabeth
eb445f7c43 [channels] make settings opaque 2023-11-24 14:54:56 +01:00
Armin Novak
68a77b8156 [channels,cups] use PDF printer on mac os sonoma
apple removed postscript support, so switch to PDF printer if running on
mac os sonoma (14) or newer. Requires windows 10 or newer or a custom
PDF printer driver
2023-11-16 15:43:51 +01:00
Armin Novak
57b4f3df20 [channels,cups] add debug logging for failures 2023-11-16 15:43:51 +01:00
Armin Novak
f5d9c5f815 [channels,cups] remove support for CUPS < 2.0 2023-11-16 15:43:51 +01:00
LucasMou
412c5c4ba6 fix abnormal exit: when removing the USB flash drive, the program abnormal exit 2023-11-15 10:46:42 +01:00
Raphaël ZHOU
ad7b41c997 (clipboard) Make sure there is always a Client Format List PUD after a Client Clipboard Capabilities PDU. 2023-11-09 11:40:00 +01:00
Armin Novak
e7f8c05bb6 [channel,rdpdr] relax state checks
ClientID confirm message might be sent async to userloggedon. So allow
these messages to arrive in any order
2023-11-09 10:12:16 +01:00
Armin Novak
43fc6bbfdc [channel,rdpdr] use server general caps
* read server CAP_GENERAL_TYPE
* check if messages are allowed according to caps
2023-11-09 10:12:16 +01:00