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