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
akallabeth
f0709d00a9
[channel,rail] move client_rail_server_start_cmd
...
the function needs access to channel internals, so move to channel
2023-11-07 14:42:56 +01:00
Igor V. Kovalenko
cfcb363c4a
rdpsnd_pulse: Use C99 constants
2023-11-03 08:12:12 +01:00
Igor V. Kovalenko
2867c806fc
rdpsnd_pulse: Allow reconnecting to pulseaudio server
...
Detect if pulseaudio context has lost connection to server and initiate
reconnection during play call.
2023-11-03 08:12:12 +01:00
Igor V. Kovalenko
087eb20431
rdpsnd_pulse: Eliminate synchronous write loop
...
Since complete sound frame is already available, just write it out to
pulseaudio stream using more efficient pa_stream_begin_write API.
This removes a few milliseconds of pure wait time from each play call and
makes audio playback a bit smoother.
2023-11-03 08:12:12 +01:00
Armin Novak
d000d9e957
[channels] add <NAME>_CHANNEL_NAME for each
...
* made <NAME>_CHANNEL_NAME defines consistent, each channel now has a
define for the library name.
* use these defines instead of string constants
2023-11-02 12:44:28 +01:00
Armin Novak
9e361b613d
[channels,rdpdr] fix user loggedon handling
...
PAKID_CORE_USER_LOGGEDON might happen in quite a lot of combinations not
obvious from the spec at first glance. Relax state checks so that all
valid combinations are allowed.
2023-11-02 11:21:32 +01:00
David Fort
4a0e0ae88f
[egfx] reset total decoded frames when receiving caps
...
It seems like some windows servers don't like to receive ack frame messages
with a totalDecodedFrame number that is bigger than the frameId.
That can happen if the connection starts, some frames are decoded, we receive a
renegotiate message, then egfx channel is reopened and the frame ids we receive
go back to 1. In the previous situation, we ended up with sending an ack
with frameId=1 and totalDecodedFrames=38, with the patch totalDecodedFrames is
reset when receiving caps, so it's always lower than frameId.
2023-10-27 19:09:41 +02:00
Pascal Nowack
687ed017d3
server: Add channel handling for mouse cursor channel ([MS-RDPEMSC])
...
The mouse cursor channel enables remoting of the mouse cursor (bitmap)
over a DVC. The main use case is UDP, as only virtual channels can be
transported via UDP in RDP.
2023-10-25 12:57:26 +02:00
Pascal Nowack
aac8945fe9
server: Add channel handling for location channel ([MS-RDPEL])
...
With the location channel, an RDP server can redirect the location of
the user from the client side to the server side.
The PDUs are almost the same as in the documentation, except for the
encoded types, these ones are here already parsed.
Optional values are accessed via pointers. If the pointer of a value is
NULL, then that value was not supplied by the client side.
2023-10-17 10:18:08 +02:00
Armin Novak
60390ea40c
[pragma] unify compiler diagnostics
2023-10-16 15:10:13 +02:00
Armin Novak
c91a250623
[warnings] add WINPR_FORMAT_ARG
...
with WINPR_FORMAT_ARG format strings are marked for MSVC to avoid
warnings
2023-10-16 15:10:13 +02:00
Armin Novak
07543a6042
[warnings] fix various warnings
...
* missing const in casts
* missing static for functions
* missing WINPR_ATTR_FORMAT_ARG for printf like functions
2023-10-16 15:10:13 +02:00
akallabeth
822ba31c31
[bsd] clean up bsd related detections
2023-10-10 22:59:53 +02:00
akallabeth
f1eaa01de2
[oss] moved detection to module
2023-10-10 22:59:53 +02:00
akallabeth
f977de89e3
[pulse] move detection to module
2023-10-10 22:59:53 +02:00
akallabeth
f06c027824
[alsa] move detection to module
2023-10-10 22:59:53 +02:00
akallabeth
046767b195
[opensles] moved detection to modules
...
* Rename variables to match package name
* Move find_package to where it is actually used
2023-10-10 22:59:53 +02:00
ichaoX
a6e9cfa6d9
[channels,rdpei] fix pen contact
2023-09-13 15:57:59 +02:00
akallabeth
4eb3a16120
[channels,audin] fix return value type
2023-09-02 07:56:21 +02:00
akallabeth
bb5345c60e
[freerdp,api] add FREERDP_ENTRY_POINT
...
C requires prototypes or compilers will complain about them missing. Our
library entry points do not have such, therefore add the macro
FREERDP_ENTRY_POINT which declares the function prototype automatically
before the function.
2023-08-25 14:36:05 +02:00
akallabeth
ad51c6a0f5
[channels,printer] default CUPS to being enabled
...
* printer support now enabled by default unless iOS or ANDROID is build.
* Move cups library detection to printer module
2023-08-25 13:54:29 +02:00
akallabeth
4e824b243f
[winpr] add WINPR_ATTR_FORMAT_ARG
...
this macro declares the function argument (pos,arg) to be a printf
style format string and enables compiler checks for that.
2023-08-25 12:56:36 +02:00
akallabeth
9cee9b3c08
[c standard] use WINPR_FALLTHROUGH
...
use the macro to silence intentional switch fallthrough locations
2023-08-25 12:56:36 +02:00
akallabeth
04f5790fd4
[channel,rdpgfx] fix wrong return type
2023-08-25 08:42:31 +02:00
akallabeth
7a71441476
[warnings] fix integer multiplications
...
Ensure the integer width for size arguments is 64bit in a
multiplication. Leading 64bit constant 1ull expands width, a trailing
one is ignored.
2023-08-22 11:55:00 +02:00
Marc-André Moreau
c691ef9c8d
allow selecting smartcard emulator at runtime rather than link time
2023-08-21 12:00:17 +02:00
akallabeth
41bd8bd3fb
[various] fix integer conversions
2023-08-04 15:07:56 +02:00
ehdgks0627
8e3d72e814
Add return statement when not enough data
2023-08-03 10:16:05 +02:00
Martin Fleisz
45ee30da5e
rdpdr: Fix potential null pointer access
2023-08-02 19:09:26 +02:00
Kai Pastor
5ecc011c13
Export interface include directories
2023-08-01 11:12:46 +02:00
Armin Novak
ef5c0e78ab
[build] use define WINPR_FALLTHROUGH
...
with c17 compatible compilers annotate with [[fallthrough]]
2023-07-31 23:46:53 +02:00
Armin Novak
62da5c7e8e
[channels,rdpgfx] make internal server thread optional
2023-07-31 20:18:48 +02:00
ehdgks0627
d04ba8d6ef
Correct typos and formatting errors in format strings
...
In several files, fixed typos in format strings that were causing unexpected output and formatting issues.
2023-07-28 15:34:46 +02:00
Armin Novak
045fcedd12
[channels,printer] fix backend load function
...
changed the signature of the backend loader function. the previous
version casted the allocated pointer to UINT which might not be able to
hold a pointer.
2023-07-28 12:24:22 +02:00
Armin Novak
3612948bad
[channels,audin] assertions and warning fixes
2023-07-27 20:02:43 +02:00
Armin Novak
70e437dbeb
[channels,echo] assertions and warning fixes
2023-07-27 20:02:43 +02:00
Armin Novak
bd0d927b08
[channels,encomsp] assertions and warning fixes
2023-07-27 20:02:43 +02:00