Commit Graph

2085 Commits

Author SHA1 Message Date
akallabeth
d859574f8c Expose CONNECTION_STATE via public API
* Expose type CONNECTION_STATE
* Add getter freerdp_get_state
* Add helper freerdp_state_string

(cherry picked from commit 32b3f54bb3)
2022-11-07 10:20:42 +01:00
Siva Gudivada
7a2215fd40
Backport TLS1.2 enforcement and version control from master to stable2.0 (#8094)
* Add a new command line arg to enforce tls1.2

* Add better explanation of FreeRDP_EnforceTLSv1_2

(cherry picked from commit ce2e3ab0c7)

* Regenerated settings helpers

* backport prev cherry-pick

* Cleanup tls_prepare

* TLS version control

* added settings for minimal and maximal TLS versions supported
* refactorisation of the force TLSv1.2 setting

* cleanup from prev cherry-pick

* updated change log

Co-authored-by: akallabeth <akallabeth@posteo.net>
Co-authored-by: David Véron <david.veron@rubycat.eu>
2022-07-28 14:12:12 +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
Pascal Nowack
9a21f79ae1 freerdp/peer: Add APIs to get OS major and minor type strings 2022-07-07 13:47:25 +00:00
akallabeth
600ec7a309 Added missing include for ainput server channel
(cherry picked from commit ae49581673)
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
34f9d4246a Merged camera-device.h with existing rdpecam.h 2022-06-30 14:13:05 +02:00
akallabeth
94b951382f Renamed server channel to rdpei 2022-06-30 14:13:05 +02:00
akallabeth
2f5f79ca74 Fixed reserved symbol use in struct name 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
cbdab6cdb4 channels/server: Fix channel name in license comments 2022-06-30 14:13:05 +02:00
Pascal Nowack
82991117eb constants: Add missing OS major type constants 2022-06-29 16:32:00 +02:00
Pascal Nowack
1eead867db freerdp/constants: Conform osMinorType values to documentation
The OSMINORTYPE_NATIVE_WAYLAND value does not officially exist in
[MS-RDPBCGR].
Its value also is the one for Windows RT.

Fix this situation, by introducing the os minor type
OSMINORTYPE_WINDOWS_RT with its correct value and by choosing a
different value for OSMINORTYPE_NATIVE_WAYLAND, as that value does not
exist officially.
2022-06-29 16:32:00 +02:00
akallabeth
75bfec61f9 Removed duplicate defined symbols
stable has wnd.h defining this
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
758a00ed79 Updated flags required by [MS-RDPERP]
(cherry picked from commit fc949e4387)
2022-06-29 11:42:21 +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
e7851f067f Invert RDPGFX_CAPVERSION_106_ERR and RDPGFX_CAPVERSION_106 values
Define the actual value as RDPGFX_CAPVERSION_106 and the wrongly
documented one as RDPGFX_CAPVERSION_106_ERR

(cherry picked from commit a42017996a)
2022-06-09 14:03:31 +02:00
Richard Dymond
a7664ea88a Add WTSChannelGetOptions 2022-06-08 16:52:58 +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
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
Pascal Nowack
6826d3626a core/server: Add APIs to get notified of DVC creation statuses
This allows server implementations to add handling for situations,
where the client side does not support them.
Particularly useful for the audio output channels (static channel as
fallback, when dynamic channel is not supported).
2022-06-08 16:19:31 +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
kubistika
601d01f7b4 core: server: add API to get peer accepted channel names
(cherry picked from commit 508ba9201f)
2022-06-03 08:06:53 +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
Armin Novak
da274b6e96 Add GFX 10.7 capsets
(cherry picked from commit 9190472e36)
2022-05-24 10:24:56 +02:00
Armin Novak
715c80622b Updated RDPGFX_CAPSET_VERSION106 code to conform to spec
(cherry picked from commit 6ea15d36c4)
2022-05-24 10:24:56 +02:00
Armin Novak
32b8db3025 Added missing WINPR_API 2022-04-25 14:42:14 +02:00
Steve Pronovost
66ff8cf2ad Added support for AUDIO_PLAYBACK_DVC
Support audio on dynamic channel. Please refer to MS-RDPEA.
2022-04-22 10:32:28 +02:00
Steve Pronovost
f773d9759d Update header with missing flag
Added definition for TS_RAIL_CLIENTSTATUS_GET_APPID_RESPONSE_EX_SUPPORTED.
2022-04-22 10:32:28 +02:00
Kazuki Oikawa
572c63a9f1 Supports 10bit X11 color (BGRX32 only)
(cherry picked from commit 8a86a4e8d9)
2022-04-19 08:54:32 +02:00
akallabeth
4541b80e8b Add option for external thread to ainput server channel
(cherry picked from commit 538cd7cf8f)
2022-02-22 09:44:27 +01:00
Armin Novak
d866de5069 Extended AINPUT API:
* Each event now has a timestamp
* Relative and absolute events are sent simultaneously
* Added a flag indicating relative events are available

(cherry picked from commit deb8ef46dbdedefe22e22fc70665f80279f407b0)
2022-02-22 09:44:27 +01:00
akallabeth
55f3889a31 Added Advanced Input Channel
(cherry picked from commit 98b06b4639)
2022-02-22 09:44:27 +01:00
Armin Novak
2b34d6290a API: Move offsetOrders to end of struct rdp_update:
It is not officially part of the stable API zone, but just be sure
nothing breaks
2022-01-12 09:30:05 +01:00
Armin Novak
bbeb3e08eb Added adjustable tcp connect timeout
(cherry picked from commit 2a91afb0cf)
2022-01-10 12:05:36 +01:00
Martin Fleisz
e4e3456e68 locale: Fix keyboard detection on MacOS
(cherry picked from commit 68dfa353b8)
2022-01-10 11:04:58 +01:00
Steve Pronovost
6b8558f3fa Fix protocol violation when uploading large ICON
When uploading large ICON (96x96), we end up growing the stream
mid-update. Stream_EnsureCapacity end up reallocating the stream
with a larger capacity to accomodate the large ICON size, but in
doing so, also updating the sealed length for the data currently in
the stream. This breaks the assumption between update_begin_paint
and update_end_paint where the sealed lenght is used to keep track
of the location where we need to update the orders counts after
we're done accumulating update. As a result of the growth and lost
of that location, the number of orders is written to the wrong
location and the resulting stream is invalid which result in a
protocol violation and a connection drop.

The current fix uses a new offsetOrder in the update object to
keep track of where update_end_paint needs to write the number
of orders contained. I think a better fix would be for
Stream_EnsureCapacity to preserve the sealead length of the
stream on growth, but this has a much more significant impact and
careful analysis needs to be done to ensure this doesn't violate
other assumption. Need to follow up with FreeRDP developer to get
their take on this one.
2021-12-17 11:47:45 +01:00
akallabeth
f4c87729e3 Backported #6865: Disable websockets command line option 2021-03-08 15:33:23 +01:00
akallabeth
136a58fbd0 Added -DDEFINE_NO_DEPRECATED CMake option
With that option all symbols marked deprecated are no longer
compiled. This helps testing compatibility of external apps.
2021-03-01 10:58:24 +01:00
akallabeth
73753f8af4 Reverted connectErrorCode removal
Reverted changes from e4b30a5cb6
removing the symbol/define, keep the changes for the clients.
Mark as deprecated
2021-03-01 10:58:24 +01:00
akallabeth
a572f5e429 Compatibility reordering of new symbols in struct 2021-02-25 09:51:41 +01:00
Armin Novak
9e3dce0264 Compatibility commit for RDPEI API 2021-02-25 09:51:41 +01:00
Armin Novak
ee65815128 Added ConnectionStateChangeEvent for clients
Clients can now subscribe to connection state change events to
prevend data from being transmitted on sessions being redirected.

(cherry picked from commit 27f6df9778)
2021-02-25 09:51:41 +01:00
Armin Novak
048aca5cce Compatibility changes
Renamed symbols and added wrappers to keep API compatible with
2.0 branch.
2021-02-25 09:51:41 +01:00
Armin Novak
1c590a71e7 Added option to remap scancodes
(cherry picked from commit d7bf6553c5)
2021-02-25 09:51:41 +01:00
Armin Novak
d1250f9443 Compatibility commit
* Adds compatibility defines for 2.2.0
* Reorders some newe fields in structs to improve compatibility
2021-02-25 09:51:41 +01:00
Vic Lee
f2d09e6eb0 progressive: fix multiple regions in one gfx frame.
(cherry picked from commit 7f94095a06)
2021-02-25 09:51:41 +01:00
Martin Fleisz
2b0958173a core: Remove connection type manipulation in gcc_write_client_core_data
Removes the changes to connection type in gcc_write_client_core_data and
adds some checks if network detection is enabled when receiving network
detection requests.

(cherry picked from commit 43825e364e)
2021-02-25 09:51:41 +01:00