Commit Graph

3411 Commits

Author SHA1 Message Date
Armin Novak
6c26980585 [core,server] lock FreeRDP_WTSVirtualChannelWrite
* FreeRDP_WTSVirtualChannelWrite might be called from different threads,
  so lock the function execution to keep split packets in order
* unify DVC and SVC channel creation/deletion to avoid duplicate code
2023-12-20 11:26:54 +01:00
Armin Novak
b02d4a81b5 [core,update] reset invalid regions at BeginPaint
The client must handle graphics updates in EndPaint.
If we already reached BeginPaint again reset the invalidated regions
as they are already processed and start anew. Fixes #9672
2023-12-20 09:28:53 +01:00
Armin Novak
0af308c1b5 [core,test] adjust TestConnect timeouts
when run on qemu systems for alternate architectures we need to lower
our speed expectations and increase the failure timeouts
2023-12-20 09:03:58 +01:00
David Fort
6a31820363 [core] allow to specify the hostname used for AAD
The previous code was assuming that the host name used for doing AAD was
ServerHostname parameter. But when you connect directly to Azure hosts you most
likely connect by IP and use short name for the AAD host, so you need to be able
to give ServerHostname=<IP of host> and AadServerHostname=<shortname>.
2023-12-15 14:37:15 +01:00
Armin Novak
678b392e89 [warnings] fixed -Wformat 2023-12-13 13:24:22 +01:00
Armin Novak
d6b7cfc1c2 [warnings] fixed -Wpointer-sign 2023-12-13 13:24:22 +01:00
Armin Novak
5638b5061c [core] fixed -Wenum-int-mismatch 2023-12-13 13:24:22 +01:00
Armin Novak
adb5e5715b [cache,glyph] print warning if enabled
glyph-cache is buggy, warn if enabled.
2023-12-12 19:36:54 +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
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
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
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
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
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
6e6559c41a [settings] fix type mismatch warnings 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
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
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