Commit Graph

2382 Commits

Author SHA1 Message Date
Armin Novak
5b2b53b15c
[warnings] fix -Wincompatible-pointer-types 2024-08-08 11:08:01 +02:00
Armin Novak
8b0281fb14 [channels,rdpsnd] fix missing include 2024-01-12 21:17:22 +01:00
Armin Novak
67df862a17 [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.

(cherry picked from commit 303c477c06)
2023-12-07 10:10:00 +01:00
Armin Novak
5d58c2ceb3 [rdpdr] fix broken backport 2023-11-24 20:03:26 +01:00
Armin Novak
88438ff4a5 [channel,rdpdr] relax state checks
ClientID confirm message might be sent async to userloggedon. So allow
these messages to arrive in any order

(cherry picked from commit cd5a0914a3)
2023-11-15 11:30:41 +01:00
Armin Novak
b3c81c1977 [channel,rdpdr] use server general caps
* read server CAP_GENERAL_TYPE
* check if messages are allowed according to caps

(cherry picked from commit 31405b305a)
2023-11-15 11:30:41 +01:00
Igor V. Kovalenko
0774ea7d4c rdpsnd_pulse: Use C99 constants 2023-11-03 08:12:17 +01:00
Igor V. Kovalenko
dcca5ad366 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:17 +01:00
Igor V. Kovalenko
dbebfc7b05 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:17 +01:00
akallabeth
9118037ae3 Remember received sound volume and apply on open.
(cherry picked from commit 1819c24808)
2023-11-03 08:12:17 +01:00
akallabeth
2e238da61c Some rdpsnd debug improvements
(cherry picked from commit 5521a73e90)
2023-11-03 08:12:17 +01:00
Armin Novak
fc17d472c9 [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.

(cherry picked from commit 6de3c383a2)
2023-11-02 11:22:08 +01:00
akallabeth
d8a1ac342a [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.

(cherry picked from commit b3f0ab2814e39e0f779343c53699e7dc6c1b1c22)
2023-08-22 11:55:00 +02:00
Pascal Nowack
c20a322935 channels/cliprdr: Fix writing incorrect PDU type for unlock PDUs 2023-07-21 11:49:09 +02:00
Armin Novak
ad7cedc64d [channel,rdpdr] use wLog* for client logging 2023-06-05 10:05:22 +02:00
akallabeth
c617d27115 [channels,rdpdr] enforce client state checks
Keep track of client channel state and abort on invalid messages for a
certain state
2023-06-05 10:05:22 +02:00
Pascal Nowack
7b7ad8bc6d 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-20 08:50:00 +02:00
akallabeth
7f55c97d60 Fixed #8686: Update h264 to use new FFMPEG API 2023-03-10 19:21:43 +01:00
Hans-Peter Jansen
5cfd766419 [build] add missing link targets for BUILTIN_CHANNELS 2022-12-16 20:41:31 +01:00
Armin Novak
2466ddad84 [channel,urbdrc] fix type of usb hotplug callback
The libusb_hotplug_callback_fn uses LIBUSB_CALL call type

(cherry picked from commit c9b806ba47)
2022-12-07 11:37:07 +01:00
Armin Novak
6d9f7d7616 [channels,printer] Fixed reference counting 2022-11-22 08:27:20 +01:00
akallabeth
027424c2c6 Fixed path validation in drive channel
Check that canonical path is a subpath of the shared directory

(cherry picked from commit 844c94e6d0)
2022-11-14 09:28:36 +01:00
akallabeth
6655841cf2 Fixed missing stream length check in drive_file_query_directory
(cherry picked from commit 4e4bb79795d6ac85473fb7a83e53ccf63d204b93)
2022-11-14 09:28:36 +01:00
akallabeth
ff82ae8434 Added missing length check in urb_control_transfer
(cherry picked from commit ce838e2477cb8173ea5e98f35ad55ff41ea5117d)
2022-11-14 09:28:36 +01:00
akallabeth
11555828d2 Fixed missing input buffer length check in urbdrc
(cherry picked from commit 497df00f741dd4fc89292aaef2db7368aee45d0d)
2022-11-14 09:28:36 +01:00
akallabeth
68c6a8c187 Ensure urb_create_iocompletion uses size_t for calculation
(cherry picked from commit de7e0f062ee53d00b4a966a43855a716e3478150)
2022-11-14 09:28:36 +01:00
akallabeth
80adde17dd Fixed division by zero in urbdrc
(cherry picked from commit 731f8419d04b481d7160de1f34062d630ed48765)
2022-11-14 09:28:36 +01:00
Armin Novak
7cfd97f531 Added support for audin version 2
(cherry picked from commit 6f62d30bfd)
2022-10-24 12:01:25 +02:00
akallabeth
acd44ef292 Removed ALAW/ULAW from supported backend formats
pulse/alsa/oss do not reliably work with ALAW/ULAW codecs with all
hardware available.
Since these formats are poor quality anyway, deactivate them for
audin channel.

(cherry picked from commit c3e8720c87)
2022-10-12 09:00:40 +02:00
Felix Deimel
2d4b0858d9 Fixes https://github.com/FreeRDP/FreeRDP/issues/7408
(cherry picked from commit a8e8069503)
2022-10-07 13:27:47 +02:00
akallabeth
5a6271cf5c Fixed TSMF tsmf_gstreamer_set_format length checks
ExtraDataSize of format was not checked for expected minimum
length

(cherry picked from commit 136d92bb46)
2022-10-06 16:06:21 +02:00
akallabeth
55db582434 Fixed TSMF tsmf_read_format_type length checks
ExtraDataSize of format was not checked for expected minimum
length

(cherry picked from commit dc88cfc725)
2022-10-06 16:06:21 +02:00
akallabeth
6f660e73aa Fixed TSMF tsmf_ffmpeg_set_format length checks
ExtraDataSize of format was not checked for expected minimum length

(cherry picked from commit b7c0b43a37)
2022-10-06 16:06:21 +02:00
akallabeth
779a35bf62 Fixed missing input data length check
tsmf_ifman_exchange_capability_request did not check if the input
data stream actually contained the amount of bytes requested to
copy.

(cherry picked from commit 4182bfbf38)
2022-10-06 16:06:21 +02:00
akallabeth
b263ce67a3 Fixed tsmf ffmpeg context extra data size checks
tsmf_ffmpeg_init_stream did not abort if the video format ExtraDataSize
was not sufficiently large to satisfy expectations.

(cherry picked from commit 5beef2c5e6)
2022-10-06 16:06:21 +02:00
akallabeth
be793c3bb7 Fixed missing length check in video channel
Data received in video redirection channel was not checked for
proper length.

(cherry picked from commit eeffd1050e)
2022-10-06 16:06:21 +02:00
akallabeth
60aac2abf0 Fix length checks in parallel driver
The length requested was not checked against the length read from
the port.

(cherry picked from commit 094cc5a459)
2022-10-06 16:06:21 +02:00
akallabeth
26a83e6ccd
Moved clipboard utils to core library, fixes #6760 (#7752)
* Moved clipboard utils to core library, fixes #6760

(cherry picked from commit 4fb686d40f)

* Fixed compilation warnings in cliprdr_utils

(cherry picked from commit 8b7a086411)

* Fixed backport API mismatch

* Added C++ guards to header

(cherry picked from commit 7626a2ce6a)
2022-07-28 13:45:57 +02:00
akallabeth
a8a8c101bf Removed ALAW/ULAW from alsa/oss/pulse backends
The codec does not work reliably with some hardware.

(cherry picked from commit 7b02aba636)
2022-07-05 14:48:17 +02:00
akallabeth
40571e5df3 Added debug logs 2022-07-04 08:20:38 +02:00
akallabeth
ab159cc236 Fixed copyright headers and stream length 2022-06-30 14:13:05 +02:00
akallabeth
2755f915fa Fixed stream advance before length checks 2022-06-30 14:13:05 +02:00
akallabeth
50a97799d1 Reordered stream advance and length check, always add header byte length 2022-06-30 14:13:05 +02:00
akallabeth
34f9d4246a Merged camera-device.h with existing rdpecam.h 2022-06-30 14:13:05 +02:00
akallabeth
2045b86458 Use C style struct init 2022-06-30 14:13:05 +02:00
akallabeth
94b951382f Renamed server channel to rdpei 2022-06-30 14:13:05 +02:00
akallabeth
a59abddb12 Fix rdpecam server channel naming 2022-06-30 14:13:05 +02:00
akallabeth
f5710c30d8 Used C style struct init 2022-06-30 14:13:05 +02:00
Pascal Nowack
6bd1d524c6 server: Add channel handling for camera device and enumerator channel 2022-06-30 14:13:05 +02:00
Pascal Nowack
5ae19bb4c3 telemetry/server: Fix copyright in license comment 2022-06-30 14:13:05 +02:00