akallabeth
13a58bd346
[crypto] Added sha3 define guards
...
sha3 is only supported with OpenSSL 1.1.1a or later
2022-11-22 12:09:39 +01:00
Armin Novak
d03f230426
[winpr,crypto] Split headers
...
Split windows API emulation from custom functions
Including both might yield issues with OpenSSL headers
2022-11-21 13:27:08 +01:00
akarl10
3a10bcd36a
[ntlm]: use rfc5929 binding hash algorithm
...
rfc5929 mandates some specific hashes for the binding algorithm
2022-11-21 13:27:08 +01:00
Armin Novak
eb2782b3af
[core,nego] Fixed a broken format string
2022-11-21 10:51:19 +01:00
Armin Novak
f81b3b05d2
Fixed -Wtautological-value-range-compare
2022-11-21 10:12:31 +01:00
Armin Novak
7c5652c15a
Fixed -Wmissing-prototypes
2022-11-21 10:12:31 +01:00
Armin Novak
a40ade5abc
Fixed -Wincompatible-pointer-types
2022-11-21 10:12:31 +01:00
Armin Novak
0a8eaf753e
Fixed -Wunused-but-set-variable
2022-11-21 10:12:31 +01:00
Armin Novak
b56b09840a
Fixed -Wshadow
2022-11-21 10:12:31 +01:00
Armin Novak
31c1700c0c
Fixed -Wunused-variable
2022-11-21 10:12:31 +01:00
Armin Novak
8de60f9472
Fixed -Wextra-semi-stmt
2022-11-21 10:12:31 +01:00
Armin Novak
dacebc62a3
Use Stream_CheckAndLogRequiredLength, fix WLog TAG
...
* Log stream length requirement violations
* Use proper defines for WLog tags
2022-11-21 09:57:27 +01:00
Martin Fleisz
eb7adaec46
core: Preserve user provided credentials when being redirected
...
This PR fixes an issue where user credentials were lost when connecting
to a farm that redirects the client.
During a redirect the connection settings were overriden by the settings
stored in `rdp->originalSettings`. However these settings miss any
credentials the user provides during the connection phase, thus causing
another authentication prompt to appear.
2022-11-18 14:01:13 +01:00
akarl10
b1583d56c0
[rdg] implementation of http_extauth_sspi_ntlm
2022-11-16 20:28:53 +01:00
Armin Novak
f42f8c32fd
[core,test] Fix TestConnect use after free
2022-11-16 16:03:21 +01:00
Armin Novak
fd7a952e70
[core,transport] only return ioEvent if we use it
...
transport_get_event_handles only returns the ioEvent handle in its
list if transport_io_callback_set_event was called at least once.
2022-11-16 15:32:32 +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
Richard E. Silverman
2c39bb41a8
fix use of return code from list_provider_keys()
...
list_provider_keys() returns a Boolean, true == success. But
smartcard_hw_enumerateCerts() expects the return value on success to
be ERROR_SUCCESS == 0, and so inverts success/failure.
2022-11-16 11:50:15 +01:00
Armin Novak
4ddef3e141
[capabilities] properly set RemoteFxOnly
...
The check was inverted, setting the flag properly now
2022-11-16 11:02:10 +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
8760cecbc7
[rdg] Unified rpcFallback resource cleanup
...
Since the cleanup routines are always the same unify these in
rdg_connect.
2022-11-14 09:47:13 +01:00
akarl10
355c7ec72a
rdg: Fallback to rpc if http status is not sent
...
It seems MS RDG 2016+ does not send a http status code if
something with the request or configuration is not ok. It is worth
retrying with rpc in that case
2022-11-14 09:47:13 +01:00
akallabeth
5b90d0bc1d
Added missing length checks in zgfx_decompress_segment
2022-11-14 09:28:22 +01:00
Martin Fleisz
0629bb9c20
codec: Fix broken logging in progressive codec
2022-11-14 09:27:41 +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
Armin Novak
98cf410144
Fixed missing state machine rerun trigger
...
When changing the peer state return 1 to indicate a rerun is
required.
2022-11-11 11:51:27 +01:00
Armin Novak
12f0e996c0
[server] Fix state transition return value
...
When transitioning from CONNECTION_STATE_FINALIZATION_FONT_LIST to
CONNECTION_STATE_ACTIVE we must return a value > 0 so that the
state machine can properly initialize the new state.
2022-11-11 11:51:27 +01:00
Armin Novak
367ecf3c0b
Properly handle demand active state
...
The demand active state might be called when receiving data from the
client during initial connection phase or might be triggered server
side after sending a deactivate all pdu
2022-11-11 11:51:27 +01:00
Armin Novak
8210ee77db
Fixed return of rdp_client_transition_to_state
...
Use BOOL to just indicate success/failure and actually check return
of functions called.
2022-11-11 11:51:27 +01:00
Armin Novak
71c3f8e4bb
Removed blocking loop in rdp_recv_deactivate_all
...
The new state machine expects just a state change and will handle
the following transitions from there.
2022-11-11 11:51:27 +01:00
Armin Novak
ec019c8910
Fixed (TS_FONT_MAP_PDU)::mapFlags check
2022-11-11 11:51:27 +01:00
akallabeth
de8da433ec
Unified client and server synchronize PDU checks
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
06c2ab76e0
Remove AwaitCapabilities
2022-11-11 11:51:27 +01:00
akallabeth
58d7e1a2be
Added license settings handling
2022-11-11 11:51:27 +01:00
Armin Novak
f92dc2a6dc
[rail,gfx] Better logging for surface operations
2022-11-11 06:42:45 +01:00
akallabeth
c36d738a36
[rail] Enable HiDefRemoteApp support
2022-11-11 06:42:45 +01:00
Armin Novak
325c03501e
[gfx] Added new UpdateWindowFromSurface callback
...
* Adds a new callback and settings in gdiGfxSurface to allow updating
a window directly from surface bitmap data
* Adds new BOOL in gdiGfxSurface windowMapped and
handleInUpdateSurfaceArea to control where surface data update is
being handled
2022-11-11 06:42:45 +01:00
Martin Fleisz
ebc8cd1d4a
core: Fix applying of pointer capabilities
...
Only apply the pointer cache size to the settings if we are in server
mode. This check got lost in a recent refactoring to caps parsing.
2022-11-07 13:02:39 +01:00
akarl
f40522e34f
fix HTTP proxy CONNECT header
...
also replace ARRAYSIZE with strlen and use that instead of ugly things
like const char x[2] = "ok";
2022-11-05 09:01:17 +01:00
akallabeth
b8907711d9
Relaxed font map PDU parsing
...
Due to some old VBox sending invalid font map PDU do not abort
parsing if a short PDU is received. See #925 for details
2022-11-04 14:46:58 +01:00
akallabeth
dbbff452cd
Added better logging for font map PDU
...
rdp_recv_font_map_pdu now logs some warnings if some expected values
are not found in the PDU
2022-11-04 14:46:58 +01:00
akallabeth
2ef506cff2
Better checks on activation received
...
Check for reactivation, remember resolution, ...
2022-11-04 14:46:58 +01:00
akallabeth
732a7979a3
Fix peer without valid socket, cleaned up initialization
2022-11-04 14:46:58 +01:00
akallabeth
9d2de14912
Added license settings handling
2022-11-04 14:46:58 +01:00
akallabeth
8d067b21e6
Improved protocol check for activation messages
2022-11-04 14:46:58 +01:00
akallabeth
21fd820edf
Added handling of licensing packets
2022-11-04 14:46:58 +01:00