Armin Novak
917e392f1e
[client] fix connection active checks
...
* use freerdp_is_active_state for session active checks
* fix state transitions
2022-12-12 12:59:32 +01:00
Armin Novak
a14c75a3a2
[core,client] handle optional monitor layout PDU
...
The monitor layout PDU is optional. If that was not received assume it
will not be sent and continue in next state.
2022-12-12 12:59:32 +01:00
Armin Novak
358ac53b66
[core,license] print a warning on invalid packet
...
* add stringify function for securityFlags
* print a error message on unexpected packet
2022-12-03 00:13:27 +01:00
Armin Novak
6f2250ff4a
[core] improve finalize flag log messages
2022-12-02 15:08:34 +01:00
David Fort
9db032f326
rdp: notify the Activate state as soon as it happens
...
Without the patch, we parse more packets and the calling code doesn't have the
opportunity to invoke PostConnect callback (make the connection not work in the proxy)
2022-11-30 08:41:22 +01:00
Armin Novak
ff2509bbc4
[core,client] relax sc flags state checks
2022-11-29 22:29:29 +01:00
Armin Novak
43571a3e34
[core,client] Added logging for finalize flags
...
Log an error if expected finalize flags did not match what we got.
2022-11-29 22:29:29 +01:00
akallabeth
1304af4748
[core,rdp] Refactor rdp security encryption
...
Unify rc4 encryption key handling, use common free and reset functions
2022-11-25 12:35:14 +01:00
akallabeth
94072dc64a
[core,client] Fix transitions, improve logging
2022-11-22 15:30:31 +01:00
akallabeth
4284d67088
[core,state] fix state transitions, added logging
2022-11-22 15:30:31 +01:00
Armin Novak
f5e4ca6f6a
[core] Log data not processed in event loop
2022-11-22 15:30:31 +01:00
Armin Novak
ab5858376a
[core] fixed CONNECTION_STATE_MCS_CREATE_REQUEST parsing
2022-11-22 15:30:31 +01:00
akallabeth
d83f70bc32
[core,transport] event handle for transportIO
...
With the latest client changes the internal event loop requires a handle
to wait on. Add a new function to (re)set the newly added transport event handle.
2022-11-16 15:32:32 +01:00
akallabeth
4ccb38aa13
[core] Check return value of *_transition_to_state
...
The state transition might not be allowed, so abort if that fails.
2022-11-16 15:32:32 +01:00
David Fort
4461144031
autodetect: prepare for multi-transport
...
Autodetect packets can be transported either in TCP TPKT packets or be contained
in multi-transport subheaders (transported on UDP). These changes do the appropriate
modifications so that in further developments we can take the transport type in account
when treating / writing these packets.
2022-11-16 11:50:46 +01:00
akallabeth
bc31bae2b5
[core] Unify RDP state machine
...
Up to this commit the client and server state machine handling used
different return values for state machine changes.
This is fixed with this commit:
* Use common enum return values
* Use common helper functions
2022-11-15 09:57:46 +01:00
akallabeth
4ef72bbe14
Cleanup of client RDP state machine
...
* Use enum for most common return types
* Add success/failed check functions
* Add a function creating a string from the return value
2022-11-11 11:51:27 +01:00
akallabeth
872f52c014
[core] properly pass redirection return code
...
If a redirection packet is receivet pass the appropriate return
code through the call stack to let the client take action
2022-11-11 11:51:27 +01:00
akallabeth
33827cb920
Updated RDP state machine
...
* More detailed states
* Better transition checks
* No more recursive calling of state machine functions
2022-11-11 11:51:27 +01:00
akallabeth
21fd820edf
Added handling of licensing packets
2022-11-04 14:46:58 +01:00
akallabeth
b9e701aa3d
Added return value for rdp_write_header
2022-11-04 14:46:58 +01:00
akallabeth
d15e80e266
Fixed return of tpkt_verify_header
...
Allow detection of an error (e.g. not enough data in stream)
2022-11-04 14:46:58 +01:00
Armin Novak
b4dbdac68b
Refactored multitransport
...
* Implemented server and client multitransport message parsing
2022-11-03 11:58:17 +01:00
akallabeth
016d2fe689
Renamed rdp_recv_server_synchronize_pdu
2022-11-03 11:56:12 +01:00
akallabeth
108b8a47ba
Refactored autodetect code
...
* Added assertions
* Eliminated warnings
* Eliminated unnecessary allocations
2022-11-03 11:56:12 +01:00
Armin Novak
cfffc5ef2c
Do not terminate if error info is received.
2022-10-27 09:14:28 +02:00
Armin Novak
d0ae1c8160
Moved pubSub to rdpRdp
2022-07-06 12:01:23 +02:00
Armin Novak
29af8a45b6
Fixed missing LoadChannels calls and settings on redirect
2022-06-27 14:27:12 +02:00
akallabeth
43b1f51984
Unified setting of finalize_sc_pdus
2022-06-23 14:19:50 +02:00
akallabeth
bc8b4ade1c
reformatted
2022-06-23 08:48:39 +02:00
akallabeth
bba427e71a
No longer export ncrush, xcrush and mppc codecs
2022-04-28 11:24:29 +02:00
akallabeth
73cdcdfe09
Logging and parser fixes ( #7796 )
...
* Fixed remdesk settings pointer
* Fixed sign warnings in display_write_monitor_layout_pdu
* Use freerdp_abort_connect_context and freerdp_shall_disconnect_context
* Added and updates settings
* info assert/dynamic timezone
* mcs assert/log/flags
* Fixed and added assertions for wStream
* Unified stream length checks
* Added new function to check for lenght and log
* Replace all usages with this new function
* Cleaned up PER, added parser logging
* Cleaned up BER, added parser logging
* log messages
* Modified Stream_CheckAndLogRequiredLengthEx
* Allow custom format and options
* Add Stream_CheckAndLogRequiredLengthExVa for prepared va_list
* Improved Stream_CheckAndLogRequiredLength
* Now have log level adjustable
* Added function equivalents for existing logger
* Added a backtrace in case of a failure is detected
* Fixed public API input checks
2022-04-19 14:29:17 +02:00
Armin Novak
eebb0c59b0
Removed rdpRdp instance pointer
2022-03-29 12:13:37 +02:00
akallabeth
d3ae821477
Improved logging, compiler warning fixes
...
* Improved logging in TPKT, TPDU, MCS, PER
* Proper use of rdpSettings functions
* Fixed missing return values
* Refactored rdp_server_transition_to_state
2022-03-28 15:52:32 +02:00
akallabeth
102e43baaa
Added functions to set transport io user context
2022-03-28 15:52:32 +02:00
akallabeth
14568872a9
Instance cleanup ( #7738 )
...
* Cleaned up freerdp::autodetect
* Deprecate freerdp::input
* Deprecated freerdp::update
* Deprecated freerdp::settings
* Deprecated freerdp::autodetect
* Removed rdpTransport::settings
* Deprecated freerdp_per::update|settings|autodetect
* Fixed mac client and server compilation
* Fixed windows compilation
* Added deprecation warnings
* Fixed initialization of structs.
* Fixed android build
* Fixed freerdp_client_context_new const correctness
* Fixed checks for android implementation
Replaced checks with assertions where appropriate
* Fixed checks for windows client
Replaced checks with assertions where appropriate
* Fixed proxy client pointer dereference
2022-03-23 13:18:35 +01:00
Armin Novak
705dca41f6
Added a warning for unknown PDU_TYPE_DATA messages
2022-03-16 18:07:08 +01:00
akallabeth
fa3cf9417f
Fixed #7696 : Abort freerdp_connect if manually canceled ( #7700 )
...
If freerdp_abort_connect is called, set FREERDP_ERROR_CONNECT_CANCELLED
This way freerdp_reconnect can distinguish between network issues and
user interaction and abort a retry attempt.
2022-03-07 13:47:43 +01:00
Armin Novak
4d03d7c0bf
Freerdp remove #ifdef HAVE_CONFIG_H
2022-03-03 11:26:48 +01:00
Armin Novak
b2ad47a809
Reorganized FreeRDP headers
2022-03-03 11:26:48 +01:00
Armin Novak
1f59dff316
Fixed const warnings
2022-02-01 10:25:37 +00:00
Armin Novak
3325ac450e
Fixed #7454 : When error_info is received abort
...
If an error_info with a failure is received, call
freerdp_abort_connect to terminate the connection.
2021-11-30 08:20:29 +01:00
Armin Novak
ceee946e0b
Fixed warnings
2021-10-18 16:09:13 +02:00
akallabeth
3ccb96d52f
Fixed #7350 : Warnings with Stream_StaticInit
...
* Properly initialize the stream buffer
* Add Stream_StaticConstInit accepting a const buffer
* Modify API to return a pointer to the stream initialized
2021-10-14 12:11:16 +02:00
akallabeth
d1b58ab263
Refactored rdpRdp cleanup handling
2021-09-20 10:59:59 +02:00
Armin Novak
b41093be20
Fixed missing NULL set
2021-09-09 08:53:20 +02:00
Armin Novak
56648a98f2
Fixed rdp_reset error handling
2021-09-09 08:53:20 +02:00
Armin Novak
17f530a866
Transport opaque
2021-09-09 08:36:01 +02:00
akallabeth
64403d9d40
Refactored rdpFastpath
...
* Structure now opaque
* Added WINPR_ASSERT where appropriate
2021-09-06 10:11:14 +02:00
akallabeth
df3d58bab3
Fixed rdp_set_io_callbacks
...
* Cache transport default callbacks in rdp_new
* Cache and update transport callbacks in rdp_set_io_callbacks
2021-09-06 10:11:14 +02:00