Commit Graph

265 Commits

Author SHA1 Message Date
akallabeth
566d4cf637
[stream] fix sign issues with stream API use 2024-10-29 15:50:07 +01:00
akallabeth
2329cb23ae
[channels,rdpgfx] reset pointer to local variable 2024-10-22 16:19:47 +02:00
akallabeth
490ca0453b
[winpr,stream] use Stream_BufferAs instead of casting 2024-10-01 10:34:42 +02:00
akallabeth
11b7633dc0
[channels] use Stream_BufferAs
For WTSVirtualChannelRead and WTSVirtualChannelWrite use Stream_BufferAs
to cast to correct type.
2024-10-01 10:28:13 +02:00
akallabeth
965d231e49
[return checks] fix use of CloseHandle 2024-09-16 08:22:31 +02:00
akallabeth
7d67b8e204
[return checks] fix use of SetEvent 2024-09-16 06:47:58 +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
db8e340604
[rdpgfx,client] debug caps version as string 2024-09-06 09:35:23 +02:00
akallabeth
fe6d861a5c
[channels] fix VCAPITYPE for all channel entry points 2024-09-03 17:26:58 +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
9c9d74e920
[warnings] fix redundant casts 2024-08-29 12:03:09 +02:00
akallabeth
15456e1ee1
[warnings] fix implicit widening conversion 2024-08-29 10:47:20 +02:00
Armin Novak
17d44e847f
[coverity] fix various warnings 2024-08-21 09:47:34 +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
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
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
5301603548 [channels,rdpgfx] fix memory leak on error 2024-04-16 21:20:04 +02:00
akallabeth
d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +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
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
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
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
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
akallabeth
ceb7bd1d41 [warnings] fixed clang build warnings 2023-11-24 18:19:03 +01:00
akallabeth
eb445f7c43 [channels] make settings opaque 2023-11-24 14:54:56 +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
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
04f5790fd4 [channel,rdpgfx] fix wrong return type 2023-08-25 08:42:31 +02:00
Armin Novak
62da5c7e8e [channels,rdpgfx] make internal server thread optional 2023-07-31 20:18:48 +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
a5b42f0f84 [includes] untangled circular includes 2023-03-15 08:22:23 +01:00
akallabeth
a360f1ca8c [build] fix a few compiler warnings 2023-03-13 13:04:45 +01:00
akallabeth
cf9777cd92 [channels] simplified server linking 2023-03-01 08:18:34 +01:00
akallabeth
c3a82daad6 [channels] simplified client linking 2023-03-01 08:18:34 +01:00
Armin Novak
70f6c09ff4 [core] fix persistent bitmap cache setting
* Only activate if both, client and server support the capability
* Use settings getter to access setting
2023-01-26 09:30:17 +01:00
Armin Novak
641022b795 [logging] remove __FUNCTION__ from actual message
prefer the log formatter to provide that information.
2023-01-25 16:26:39 +01:00
akallabeth
075506f6c8 [winpr,stream] use new Stream_CheckAndLogRequiredLength* 2023-01-25 14:27:32 +01:00
akallabeth
29c92af194 [channels,rdpgfx] fixed logger setup 2022-12-18 15:14:30 +01:00
akallabeth
06c070fc4d [gfx] moved rdpgfx_get_codec_id_string to utils
the gfx related stringify helpers are nice to have outside the channel
too so that meaningful logmessages can be written.
2022-12-18 15:14:30 +01:00
akallabeth
a2329281a4 [channels,rdpdr] fix possible surface leak
* Ensure DeleteSurface is called before CreateSurface: Under certain
  conditions it is possible that there already exists a surface with the
  same id as the new CreateSurface PDU. Delete the already existing
  instance in that case before creating a new one.
* Simplify surface cleanup on shutdown: Use HashTable_Foreach
2022-12-15 14:57:29 +01:00