Commit Graph

2695 Commits

Author SHA1 Message Date
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
Armin Novak e61880d077 [standard] replace __FUNCTION__ with __func__ 2023-07-27 20:02:43 +02:00
Armin Novak 99bf501f0f [channels,drive] remove unused member filename 2023-07-26 10:57:42 +02:00
Armin Novak 70ddb6518a [PathCchAppend] fix missing return checks 2023-07-26 10:57:42 +02:00
Armin Novak 4154779672 [channel,drive] path must not end with separator
the fullpath string must not end with a path separator as FindFirstFile
returns an error in such cases.
2023-07-26 10:57:42 +02:00
Armin Novak c4f93891fd [channels,drive] use winpr recursive directory remove 2023-07-26 10:57:42 +02:00
Pascal Nowack b8c2b6abd7 channels/cliprdr: Fix writing incorrect PDU type for unlock PDUs 2023-07-20 11:36:11 +02:00
Martin Fleisz c88c777482 drive: Fix double free in client drive channel 2023-07-05 14:02:31 +02:00
akallabeth bd7f0ecd24 [collections] fix ListDictionary usage 2023-07-05 08:46:00 +02:00
Martin Fleisz 622a2a8df0 misc: More int to BOOL conversion fixes
This is a follow up to #9129.

This PR fixes some problematic `int` to `BOOL` conversions that might
cause overflows when checking for bit flags.
2023-07-04 09:45:20 +02:00
Armin Novak 9af563d4d1 [smartcard] fix message queuing
the queye key must not be 0
2023-07-03 20:53:46 +02:00
akallabeth e03b6596c6 [build] fix unused but set variable warnings 2023-06-29 18:34:51 +02:00
akallabeth 3f78b3c379 [build] fix unused compiler warnings 2023-06-28 09:45:09 +02:00
Vic Lee eda91e6695 [channels,audin] negotiated format must be cleaned after closing. 2023-06-28 08:39:33 +02:00
akallabeth 54847499e9 [winpr,collections] fix ListDictionary New/Free handling 2023-06-27 15:05:43 +02:00
akallabeth 63d4da2d0d [winpr,collections] ListDictionary_GetKeys 2023-06-27 15:05:43 +02:00
akallabeth ac39e8aac2 [winpr,collections] ListDictionary_Count 2023-06-27 15:05:43 +02:00
Armin Novak 535faeb879 [channels,rdpei] simplify new contact detection 2023-06-26 11:22:32 +02:00
Armin Novak d6ae30e7fa [channels,rdpei] add variadic argument calls 2023-06-26 11:22:32 +02:00
digitalsignalperson 9c7a541d9c Implement pen functionality for X11, including pressure, hover, and eraser 2023-06-21 18:42:38 +02:00
Martin Fleisz 3b9a19e993 cliprdr: Fix an issue with file format filtering on Windows
This PR fixes an issue caused by clipboard format filtering which
discarded all formats but `FileGroupDescriptorW` to enable clipboard
file transfer. However at least on windows we also need `FileContents`
to be placed in the clipboard to make file transfer work correctly.

The PR also unifies list filtering into a single functions instead of
having two different functions.
2023-06-14 17:14:14 +02:00
Armin Novak 970f0c54e8 [stream] use const correct Stream_Pointer access 2023-06-08 08:09:33 +02:00
Armin Novak a4c6b36a19 [build] fix memory sanitizer stack frame warnings 2023-06-07 09:14:45 +02:00
akallabeth 00b393c094 [channels,rdpdr] enforce client state checks
Keep track of client channel state and abort on invalid messages for a
certain state
2023-06-05 09:56:43 +02:00
Armin Novak 3e44efc841 [cmake] use FindX11 from CMake 3.13 2023-05-31 11:05:56 +02:00
Armin Novak e3f660e11f [channels,cliprdr] fix sending of empty format list 2023-05-30 13:42:28 +02:00
akallabeth 98fb56b767 [channels,cliprdr] implement client clipboard direction filter
* Filter remote -> local or local -> remote clipboard depending on
  setting.
* Filter remote -> local or local -> remote file clipboard
  depending on setting.
2023-05-25 16:26:39 +02:00
akallabeth fc78064ec3 [warnings] fix -Wunused-variable 2023-05-24 08:24:32 +02:00
akallabeth 066276a85a [warnings] fix -Wsometimes-uninitialized 2023-05-24 08:24:32 +02:00
akallabeth 27d0da9df0 [cmake] remove duplicate setting for position independent code 2023-05-23 08:51:18 +02:00
Armin Novak b15edda614 [cmake] changed rdpsnd-common to STATIC library 2023-05-22 12:57:16 +02:00
akallabeth 105f0d2366 [channel,audin] move common code to server channel
* manage channel related callbacks with default implementations
* use dynamic logger for server audin channel
2023-05-17 13:33:35 +02:00
Pascal Nowack c5278c874f channels/audin: Rework API to be closer to documentation
The current server side channel handling of AUDIO_INPUT is currently
very constrained:

- Server implementations cannot measure the clients uplink, since the
  Incoming Data PDU is currently unhandled and FreeRDPs DSP handling
  delays the callback call of ReceiveSamples
- Servers currently cannot prefer a different protocol version
- Servers currently cannot change the used format

To solve these issues without running into the risk that some
simplifications constraint certain API usage, rework the current channel
handling to be very close to the documentation.
This means, that all documented API calls can be made by server
implementations and all documented PDUs, that the server side is
expected to receive are just parsed inside FreeRDP and then forwarded to
the API implementation.
2023-05-17 13:33:35 +02:00
akallabeth 7073aef79f [channel,cliprdr] add missing include in header 2023-05-12 13:57:56 +02:00
akallabeth 239cd9212e [channels] fix static linking of common libraries 2023-05-12 08:03:56 +02:00
akallabeth 2b3c8c47a4 [build] fix install with BUILD_SHARED_LIBS=OFF
generate proper CMake targets so static linking works again.
2023-05-12 08:03:56 +02:00
Joerg Pulz 61983cd6dc Replace deprecated ffmpeg functions:
avpicture_get_size -> av_image_get_buffer_size
  avpicture_fill -> av_image_fill_arrays
  av_picture_copy -> av_image_copy

Add missing includes.

This fixes build with ffmpeg-6.x.x
2023-05-02 15:12:07 +02:00
akallabeth c950ca375c [client,common] fix value present flag check
need to check for COMMAND_LINE_VALUE_PRESENT instad of COMMAND_LINE_ARGUMENT_PRESENT
2023-04-28 07:39:35 +02:00
akallabeth 516668d02b [fclose] ensure no invalid pointers are passed.
fclose has undefined behaviour for NULL pointers, so check for these.
2023-04-28 07:39:35 +02:00
David Fort 0b16fcef18 rail: add missing server-side calls
This patch adds support for text_scale and caret_blink messages on the server-side.
2023-04-25 07:27:37 +02:00
Richard Markiewicz 13e52cfae2 [channels,settings] add a setting to ignore invalid devices 2023-04-24 11:29:05 +02:00
Armin Novak 9005e1edfb [channels,printer] fix printer_save_default_config 2023-04-24 10:58:01 +02:00
Andrey Af 58cdc9e82b rdpdr_server_drive_close_file_callback remaining length fixed 2023-04-24 09:33:26 +02:00
Pascal Nowack 4be3950fd8 rdpecam/server: Remove wrong assertion
Some PDUs, like the Activate Device Request only contain the header.
As a result, the size of the rest of the PDU is 0.
The assertion for the PDU size in device_server_packet_new only
considers the size of the body of the PDU.
When that value is 0, the assertion is hit and the server implementation
crashes.

To fix this issue, simply remove this assertion. Since the allocation
size is always at least the header size, there won't ever be an attempt
to create a stream with a size of 0.
2023-04-19 22:20:04 +02:00