Commit Graph

2362 Commits

Author SHA1 Message Date
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
Pascal Nowack
cbdab6cdb4 channels/server: Fix channel name in license comments 2022-06-30 14:13:05 +02:00
akallabeth
a4c86723a3 Unifiy string append functions
(cherry picked from commit f25261e271)
2022-06-29 14:42:22 +02:00
akallabeth
b3a4b71717 Added RAIL compartmentinfo server to client message
(cherry picked from commit ad6dd99190)
2022-06-29 14:42:22 +02:00
akallabeth
bbdf949938 Added new rail orders textscaleinfo and caretblinkrate
(cherry picked from commit dfadfd3b76)
2022-06-29 11:42:21 +02:00
akallabeth
a92c7071ba Added rail_get_order_type_string_full for better debug logs
(cherry picked from commit 79ba632acb)
2022-06-29 09:32:40 +02:00
akallabeth
a282285584 Improved RAIL order debug messages
(cherry picked from commit 44e7531847)
2022-06-29 09:32:40 +02:00
Pascal Nowack
3545728e5e channels/server: Add APIs for DVCs to get notified of channel id
This allows server implementations to watch these channel ids for their
creation statuses.
2022-06-08 16:19:31 +02:00
Pascal Nowack
b27efe5a62 audin/server: Do not overwrite values of the server audio formats
It just makes the usage of codecs impossible.
2022-06-08 16:19:31 +02:00
Pascal Nowack
d8ed0ff1b8 server: Add channel handling for telemetry channel 2022-06-08 16:19:31 +02:00
Pascal Nowack
fcf746419f server/rdpsnd: Add API to get notified of channel id 2022-06-08 16:19:31 +02:00
akallabeth
48f417127f Refactored rdpsnd server
* Assert all input arguments
* Unify stream buffer handling

(cherry picked from commit 33ec06083130e45a0b5db012ff2975da8798db00)
2022-06-03 09:07:42 +02:00
Pascal Nowack
4a8d2d6628 rdpsnd: Enhance server implementation
The current server sided channel handling of RDPSND/AUDIO_PLAYBACK_DVC
is currently very constrained.
So, solve this. This means:

- Add the missing Training/Training Confirm PDUs
- Stop overriding the average bytes per second values, when submitting
  the audio formats, as this currently makes the usage of codecs
  impossible
- Add a way to send the server formats manually again, to be able to
  restart the protocol after a Close PDU was sent
- Add a way to send already encoded audio data to let server
  implementations to take care of the encoding process and to set
  custom audio timestamps for the Video Optimized Remoting channel
- Add public attributes to let server implementations know the initial
  volume and pitch values
- Add public attribute to let server implementations know the quality
  mode setting

(cherry picked from commit 26488911be9ae8e00f77f075e03ddbe4dc70a402)
2022-06-03 09:07:42 +02:00
akallabeth
dd5bf396b7 Fixed RDPGFX_CAPVERSION_106 according to errata
The [MS-RDPEGFX] spec is not really sure which value to use, so we
just announce both, the one from the spec and the one from errata.

(cherry picked from commit 8df9170b5d)
2022-05-25 13:34:40 +02:00
akallabeth
a2585fd446 Fixed missing WINAPI for callback function declarations
(cherry picked from commit 3aca661f0e)
2022-05-25 10:31:09 +02:00
Armin Novak
e69ecadba5 Disable scaled output PDU if no scaling support compiled
(cherry picked from commit 7e526e8770)
2022-05-24 10:24:56 +02:00
Armin Novak
da274b6e96 Add GFX 10.7 capsets
(cherry picked from commit 9190472e36)
2022-05-24 10:24:56 +02:00
Pascal Nowack
f8a4c6a9fe
rdpsnd/client: Fix handling of WaveConfirm PDUs (#7910) (#7911)
Currently, all FreeRDP-based clients don't send any WaveConfirm PDUs
for received samples, when using a dynamic channel for audio output
redirection.
[MS-RDPEA] 2.2.3.8 Wave Confirm PDU mentions, that a WaveConfirm PDU
MUST be sent, when a WaveInfo PDU + Wave PDU, or Wave2 PDU is received
and when the audio data sample is emitted to completion by the client.
The first WaveConfirm PDU is used by the server to determine the
network latency and the second WaveConfirm PDU is used by the server to
determine the render latency.

So, fix the current behaviour, where FreeRDP currently does not send
any WaveConfirm PDU, when using the dynamic channel, or only sends one
WaveConfirm PDU for the sample.
For the first WaveConfirm PDU, use the same timestamp, that was
included in the first WaveInfo/Wave2 PDU.
For the second WaveConfirm PDU, add the render latency on top of the
arrival timestamp.
2022-05-18 10:04:00 +02:00
akallabeth
7f35f29546 Fixed compilation warnings 2022-05-13 12:56:18 +02:00
Felix Deimel
ec901e1062 Fixed memory leak in audin mac
(cherry picked from commit 24c87c5126)
2022-05-13 12:56:18 +02:00
Felix Deimel
64bfc9e653 Fixed memory leaks in rdpsnd mac
(cherry picked from commit b0772fe2f0)
2022-05-12 15:17:41 +02:00