Vic Lee
97ef5d09e9
[core,crypto] fix missing OpenSSL includes.
2023-12-11 08:51:59 +01:00
Armin Novak
468106033f
[core,capabilities] disable surface command
...
if the remote end does not support fastpath disable surface commands.
2023-12-06 20:14:02 +01:00
Armin Novak
c8b142a10f
[core,gcc] added flag RNS_UD_CS_RELATIVE_MOUSE_INPUT
2023-12-06 10:45:01 +01:00
Armin Novak
195d665af6
[core,caps] added rdp_input_flag_string
2023-12-06 10:45:01 +01:00
Armin Novak
c7fec578a7
[core,input] fix function argument sign
2023-12-06 10:45:01 +01:00
akallabeth
78d736b481
[gdi,graphics] fix glyph bounds #9454
2023-12-01 10:18:33 +01:00
Armin Novak
a7200699f4
[core,gateway] do not pack RPC_FAULT_CODES
2023-11-30 12:43:03 +01:00
Stefan Heinzel
52606929fb
5726 add vsock support for client and server
2023-11-29 15:12:51 +01:00
Armin Novak
6642192228
[common,settings] fix pointer copy
2023-11-28 16:25:11 +01:00
David Fort
079731068c
[core] fix freezing connection to childSession
...
When connecting to child session(or a VM), we have CredSSP/Nego/ActivationSequence
instead of Nego/CredSSP/ActivationSequence. Before the patch, we were not applying
flags read in the NegoResponse to the settings and that was leading to FreeRDP
thinking that the remote server was not supporting EXTENDED_CLIENT_DATA_SUPPORTED.
That was later preventing some GCC blocks to be sent, and make the server unhappy
and freeze the connection.
2023-11-28 13:28:08 +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
1ef7b9e3e0
[codec,dsp] fix ffmpeg deprecation warning
2023-11-24 21:23:38 +01:00
Armin Novak
492cbc8e6f
[opaque_settings] reorder internal includes
...
order is important for internals, as the deprecation warnings are
deactivated for this use case
2023-11-24 21:23:38 +01:00
akallabeth
737cd9b8f6
[warnings] Wshadow, uninitialized variables
2023-11-24 18:19:03 +01:00
akallabeth
c78e466be1
[warnings] fixes Wunused-variable
2023-11-24 18:19:03 +01:00
akallabeth
6b9245849c
[warnings] type casts
2023-11-24 18:19:03 +01:00
akallabeth
5dd12c5b1b
[codec,dsp] mark fallthrough
2023-11-24 18:19:03 +01:00
akallabeth
dd2d110870
[warnings] fix -Wcast-qual
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
8e7561534e
update settings
2023-11-24 14:54:56 +01:00
Armin Novak
4d50d59e7e
[settings] renamed VirtualChannelCompressionFlags
2023-11-24 14:54:56 +01:00
Armin Novak
37bd7e0959
[settings] renamed VirtualChannelChunkSize
...
in [MS-RDPBCGR] it is named VCChunkSize
2023-11-24 14:54:56 +01:00
Armin Novak
3e9aad58f9
[common,settings] add documentation and missing API
...
* added freerdp_settings_are_valid for batch checks
* added missing settings function documentation
2023-11-24 14:54:56 +01:00
akallabeth
093d722447
[settings] assert invalid keys in getter
2023-11-24 14:54:56 +01:00
Armin Novak
704ee8bc4b
[settings] add unused values and sign correct keys
...
* add -1 as unused enum entry
* change key parameter type from size_t to SSIZE_T
2023-11-24 14:54:56 +01:00
Armin Novak
6e6559c41a
[settings] fix type mismatch warnings
2023-11-24 14:54:56 +01:00
Armin Novak
cda6239119
[settings] update generated settings helper
2023-11-24 14:54:56 +01:00
Armin Novak
593e2bf4a9
[api] fix compiler warnings
...
check #if defined(__GNUC__)
2023-11-24 14:54:56 +01:00
akallabeth
cd4d77af86
[settings] add deprecation warnings
...
direct struct access to rdpSettings now produces warnings if not
explicitly deactiaved by defining FREERDP_SETTINGS_INTERNAL_USE
2023-11-24 14:54:56 +01:00
akallabeth
130501fcd5
[core,bitmap] make settings opaque
2023-11-24 14:54:56 +01:00
akallabeth
f068b6fc99
[utils,smartcard] make settings opaque
2023-11-24 14:54:56 +01:00
akallabeth
1163cc4d5c
[core] add internal settings.h include
2023-11-24 14:54:56 +01:00
akallabeth
82eefe0bd1
[settings] auto generate key types from struct
...
* use enum types for settings getter/setter to have compiler check if
keys are valid
* generate enum types from struct at compile time
* CMake option WITH_OPAQUE_SETTINGS to hide rdpStruct implementation
from external projects
2023-11-24 14:54:56 +01:00
akallabeth
fc79519741
[settings] clean up string helper
2023-11-24 14:54:56 +01:00
akallabeth
71a7ffa8d8
[settings] add freerdp_settings_append_string
...
this function appends a string to an existing values, takes care of
memory allocations.
2023-11-24 14:54:56 +01:00
akallabeth
a9a879c59f
[settings] remove freerdp_settings_take_string
...
this function is problematic as it allows mixing allocators.
2023-11-24 14:54:56 +01:00
akallabeth
ecc21a2cfc
[settings] add freerdp_settings_copy_item
...
convenience function to copy a value of opaque type from one settings
struct to another, cleaning up possible existing data first
2023-11-24 14:54:56 +01:00
Armin Novak
1048ad4003
[scard] allow INFINITE timeout
2023-11-21 15:54:01 +01:00
akallabeth
84c3e5b027
[cmake] fix pkg-config check
2023-11-21 14:29:47 +01:00
Pascal Nowack
9c3dfefb7f
codec/dsp: Also set bitrate for Opus encoder
2023-11-21 14:29:47 +01:00
akallabeth
26e003ce05
[codec,dsp] experimental opus encoder
2023-11-21 14:29:47 +01:00
akallabeth
c2c40ae2ff
[codec,dsp] initial support for ffmpeg/opus
2023-11-21 14:29:47 +01:00
akallabeth
7a05d85a7f
[codec,dsp] unify opus sample rate check
2023-11-21 14:29:47 +01:00
akallabeth
a232cec690
[codec,dsp] fix opus related code
...
* proper library detection
* default to NOT WITH_DSP_FFMPEG
* disable if WITH_DSP_FFMPEG
2023-11-21 14:29:47 +01:00
Pascal Nowack
330f7ae0a2
codec/dsp: Add support for decoding Opus encoded streams
...
The Opus codec is a modern free audio codec, that is also royalty-free.
Adding support for it will allow clients and servers supporting it to
transfer audio in similar efficient way like with AAC.
So, add support it.
2023-11-21 14:29:47 +01:00
akallabeth
3ca26384ee
[core] only move state on demand active
...
rdp_client_connect_demand_active returns STATE_RUN_ACTIVE if we received
it, some other return otherwise
2023-11-21 13:54:29 +01:00
akallabeth
0ee61dcb62
[core,connection] improve parsing of demand active
...
Split up parsing, so we don´t have to reread the data.
2023-11-21 13:54:29 +01:00
akallabeth
e3a84921de
[core,gateway] fix TSG_PACKET_TYPE_QUARENC_RESPONSE
...
parsing of TSG_PACKET_TYPE_QUARENC_RESPONSE was incomplete, fix that
2023-11-20 18:00:42 +01:00
Armin Novak
e451b4cad1
[core,gateway] rpc use generated session id
2023-11-20 18:00:42 +01:00
Armin Novak
7d02a97a88
[core,gateway] change type of GUID arguments
...
use const GUID* for GUID strings and format the string internally
2023-11-20 18:00:42 +01:00
Armin Novak
e62e1dbbaf
[core,gateway] add RDG-Correlation-Id
...
implement [MS-TSGU] 2.2.3.2.2 RDG-Correlation-Id
2023-11-20 18:00:42 +01:00
Armin Novak
148e61606a
[core,gateway] silence reading of rts signature
...
sometimes we just try to read the signature and do not want errors
logged.
2023-11-20 18:00:42 +01:00
Armin Novak
99f3a9c0e6
[core,gateway] add rts_recv_ping_pdu
2023-11-20 18:00:42 +01:00
Armin Novak
f367465485
[core,gateway] improve rpc logging
2023-11-20 18:00:42 +01:00
Armin Novak
9fcde2db74
[core,gateway] removed duplicate vc_state_str
2023-11-20 18:00:42 +01:00
Armin Novak
8990ffefca
[core,gateway] rpc dynamic logger
2023-11-20 18:00:42 +01:00
Armin Novak
36647567ac
[core,gateway] fix parsing of RTS PDU
...
* [MS-RPCH] 2.2.4.51 FlowControlAckWithDestination RTS PDU
2023-11-20 18:00:42 +01:00
Armin Novak
814ab2a212
[core,gateway] use dynamic logger in tsg
2023-11-20 18:00:42 +01:00
Armin Novak
6e7a35f8bc
[core,gateway] log rts_recv_out_of_sequence_pdu
2023-11-20 18:00:42 +01:00
Armin Novak
a0db106306
[core,gateway] add vc state logging
2023-11-20 18:00:42 +01:00
Armin Novak
fac9fa5f90
[core,gateway] add rpc stringify functions
2023-11-20 18:00:42 +01:00
Armin Novak
60ceff95c5
[fflush] remove of unnecessary fflush
2023-11-20 18:00:42 +01:00
Armin Novak
cf76e70e85
[core,gateway] fix rts_read_auth_verifier_with_stub
...
check offset against fragment size, not remaining size
2023-11-20 18:00:42 +01:00
Armin Novak
65d3c6fe9b
[core,gateway] update tsg parsing
2023-11-20 18:00:42 +01:00
Armin Novak
135c4cc78c
[core,gateway] try to parse remaining RPC PDU
...
if not all bytes have been parsed, try parsing again
2023-11-20 18:00:42 +01:00
Armin Novak
230563b337
[core,gateway] log incomplete parsed RPC PDU
2023-11-20 18:00:42 +01:00
Armin Novak
d36adb2654
[core,gateway] fix RTS_PDU_PING handling
...
ping messages might occur before connection is fully established, so
reply to incoming ping. Fixes #9505
2023-11-20 18:00:42 +01:00
Armin Novak
1807652975
[core,helpers] add new stringify functions
...
* freerdp_get_logon_error_info_type_ex
* freerdp_get_logon_error_info_data_ex
2023-11-20 18:00:42 +01:00
Armin Novak
957ec80443
[core,gatewayay] improve rpc error logging
2023-11-20 18:00:42 +01:00
David Fort
061148f856
[nla] initial server-side remote credential guard support
...
Adds support for server-side remote credential guard in NLA. When enabled that allows
the remote user to connect without shipping credentials in TSCred packets. Instead
it will send his TGT encoded with a TGS from the remote server. This way the server
is able to populate that TGT in a local credential cache without knowing the user's
password.
The patch only treats the NLA part and does not contain the associated RDPEAR channel
that allows to have the complete interaction to retrieve new access tokens.
2023-11-20 16:17:00 +01:00
akallabeth
20f09b2d34
[codec,aac] add NaN filter
...
ffmpeg format conversion from int16 to float sometimes produces values
that are NaN or Infinity.
Replace these values as these input values break the AAC encoder
2023-11-20 14:22:26 +01:00
akallabeth
694d95a58b
[utils,smartcard] fix reading of context ref
...
unify read of context and context pointer data for all calls.
fixes #9480
2023-11-07 16:07:17 +01:00
Armin Novak
98a4eb77ef
[core] VirtualChannelChunkSize adjustments
...
* add CHANNEL_CHUNK_MAX_LENGTH
* remove duplicate definitions
* default to CHANNEL_CHUNK_MAX_LENGTH
2023-11-03 12:43:25 +01:00
Armin Novak
e56fcb45cb
[core,aad] move cJSON related parsing to core
...
hide cJSON parser from freerdp-client library, link privately
2023-11-02 11:30:55 +01:00
Armin Novak
32c65dbdfc
[crypto,tls] only print fingerprint in log
...
printing the whole PEM to log is too verbose, just use the fingerprint
instead.
2023-10-25 13:15:35 +02:00
David Fort
60ea534ccd
[core] fix marshalling of DynamicTimeZone
...
The field is an UTF16 field, the length was announced as the length of the
UTF8 string.
2023-10-24 12:42:10 +02:00
akallabeth
0b018057b5
[core,input] use time() instead of timespec_get
...
android only supports the latter with API >= 29
2023-10-19 16:37:28 +02:00
Mariusz Bialonczyk
1d1171489f
[tools] update-settings-tests, update-rdpSettings, clang-format
2023-10-19 16:37:28 +02:00
Mariusz Bialonczyk
550ba7fe34
[libfreerdp] final freerdp_prevent_session_lock() implementation
...
Injects fake mouse movement when idle
2023-10-19 16:37:28 +02:00
Mariusz Bialonczyk
90f82bf418
[input] call input_update_last_event() when desired
2023-10-19 16:37:28 +02:00
Mariusz Bialonczyk
21f7bd37cf
[input] input_update_last_event() and variables
2023-10-19 16:37:28 +02:00
akallabeth
9ebbefa5fe
[settings] remove unused extensions
...
The extensions from the unstable API zone were unused, so remove them
2023-10-19 14:22:19 +02:00
akallabeth
4d99b4ff9b
[settings] add ClipboardUseSelection
2023-10-19 14:22:19 +02:00
Pascal Nowack
9835a916ae
settings: Add missing to_string() case for RDP_VERSION_10_12
2023-10-19 04:47:53 +02:00
Pascal Nowack
038660949c
settings: Fix wrong version string
2023-10-19 04:47:53 +02:00
akallabeth
1d21c0c609
[warnings] properly cast constants to char
2023-10-17 11:07:11 +02:00
Pascal Nowack
5ec5be7ac4
utils: Add helper functions to parse encoded types into regular ones
...
Some virtual channels, like the location channel use encoded types to
lower the bandwidth usage.
Add common helper functions, so that each virtual channel doesn't have
to reimplement the parser functions again and again.
2023-10-17 10:18:08 +02:00
David VERON
63e1863c9a
fixes rdp_read_info_null_string api
...
Removed buggy "isNullTerminated" parameter, as RDP specs tells
that cbLen includes the nullTerminator if there is one.
2023-10-16 15:18:52 +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
53b65ff7bd
[documentation] fix Wdocumentation 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
Armin Novak
4778203340
[restrict] remove from in/out buffers
2023-10-16 15:10:13 +02:00
Armin Novak
fe28f9ed9c
[keyword,restrict] do not use for shift operations
...
shifting operations are done on a in/out buffer, so the restrict keyword
is not appropriate for that.
2023-10-16 15:10:13 +02:00
Armin Novak
138d3df028
[core,gcc] parse CS_UNUSED1 message
...
parse message to avoid log entries server side for this kind of PDU
2023-10-13 16:05:27 +02:00
akallabeth
4df4404faa
[core,input] add qoe event handling
2023-10-13 16:05:27 +02:00
akallabeth
20e15ac326
[core] added relative mouse event support
2023-10-13 16:05:27 +02:00
akallabeth
1f7bc15bb1
[settings] add HasQoeEvent
2023-10-13 16:05:27 +02:00
akallabeth
910e3b9fb4
[settings] added new setting for HasRelativeMouseEvent
2023-10-13 16:05:27 +02:00
akallabeth
002b27f2e5
[core] add RDP_VERSION_10_12
2023-10-13 16:05:27 +02:00