Martin Fleisz
1da0d63c78
proxy: Allow NLA when using proxy smartcard authentication
...
Previously smartcard authentication was only supported with TLS
connections so the proxy forced that security mode.
Since we now have a working NLA smartcard auth implementation we can
remove that code and leave the correct configuration to the proxy user.
2022-11-09 15:27:11 +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
JeonJongHyeon97
55015fd59b
Fix untracked clipboard
2022-11-07 08:54:34 +01:00
Armin Novak
6a0df205b0
[proxy] add mouse ex and unicode event filters
2022-11-06 19:12:27 +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
akallabeth
2dcffa62c5
Split freerdp_connect
...
* freerdp_connect_begin
2022-11-04 14:46:58 +01:00
akallabeth
3eccf75aff
Skip empty rectangles in gfx cache to surface
2022-11-04 14:46:58 +01:00
akallabeth
498635a317
Added new functions to test validity of MCS
...
* freerdp_is_valid_mcs_create_request
* freerdp_is_valid_mcs_create_response
2022-11-04 14:46:58 +01:00
akallabeth
819cbcae16
Reset all codec context on gfx graphics reset
2022-11-04 14:46:58 +01:00
akallabeth
c0e3624a10
Code cleanups
...
prefer use of settings getter
2022-11-04 14:46:58 +01:00
akallabeth
01fba61670
Fixed rdp_apply_order_capability_set
...
Read value from correct settings struct
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
6e682e204f
Fixed return checks for tpdu_write_data
2022-11-04 14:46:58 +01:00
akallabeth
450f8a1d7e
Fixed wrong define check
...
The deprecated command line must only be used if
WITH_FREERDP_DEPRECATED_COMMANDLINE is defined
2022-11-04 14:46:58 +01:00
akallabeth
3023057b16
Cleaned up some loop code in xf_monitor
...
Use loop variables to make it more readable
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
akallabeth
92b40a1c1d
Added fix for TestConnect
...
* copy test_icon.ppm to build directory
* Add client pre|post_connect and disconnect callbacks
2022-11-04 14:46:58 +01:00
akallabeth
2458a526b8
Fixed bug with SurfaceFrameMarker callback
...
if FreeRDP_DeactivateClientDecoding allow NULL callbacks
2022-11-04 14:46:58 +01:00
David Fort
ef1a3b0af6
client: improve connection time
...
The old code was looping with blindly checking for transport events, and then
sleep for 100 ms. It was doing that until the connection is established or
the timeout expired.
The new version polls the transport's events, potentially not having many 100 ms
waits.
2022-11-04 09:50:31 +01:00
Armin Novak
901753b527
[channel] Fixed broken length check
...
The length check for channel chunk data was wrong. Not only was it
checked twice, the second check expected the whole fragmented data
to be available.
2022-11-03 21:11:29 +01:00
akallabeth
7d67adbc54
Refactored licensing module
...
* Make the whole module opaque for easier testing
2022-11-03 17:02:47 +01:00
Armin Novak
d171f4a1d5
Added assertions in capability parser
2022-11-03 17:02:15 +01:00
akallabeth
3af13a0fb2
Add proper read/write for ordersupportflags et al
...
* Add new settings for OrderSupportFlags, OrderSupportFlagsEx,
TerminalDescriptor and TextANSICodePage
* Add proper read/write routines for the new settings
* Add proper default values for the new settings
2022-11-03 17:02:15 +01:00
Armin Novak
7cef0cb8d6
Refactored capability parsing
...
* Add new settings for previously ignored capability options
* Store raw capability data in settings for later use
* Add function to extract settings from raw capability data
* Split capability read/write from client/server logic (e.g. enforce
limits, ...)
2022-11-03 17:02:15 +01:00
Martin Fleisz
b5e8b419b8
drive: Fix an issue when redirecting drives on Windows
...
CreateFile/GetFileInformationByHandle will fail if used with just a
drive letter i.e. C:/.
This PR fixes that case by using GetFileAttributesExW as a fallback in
case CreateFileW fails.
2022-11-03 15:02:27 +01:00
Martin Fleisz
fbbcd9b8ef
nla: Fix unicode issues with gateway code
...
Gateway code was passing a char string as the package name to
`credssp_auth_init`. When using Unicode builds this fails since
`QuerySecurityPackageInfo` expects a wchar string.
Additionally with unicode builds, `credssp_auth_pkg_name` causes string
type mismatches in the gateway code where a char string is expected.
2022-11-03 15:01:39 +01:00
Armin Novak
b04c0e7b1c
Fix const warnings in ffmpeg h264 module
2022-11-03 11:58:17 +01:00
Armin Novak
71b568ac30
Relax transport checks, allow invalid socket
...
When no real RDP connection is in use, the SSL socket might be invalid.
Do not assert here but allow the parsing to continue
2022-11-03 11:58:17 +01:00
Armin Novak
b4dbdac68b
Refactored multitransport
...
* Implemented server and client multitransport message parsing
2022-11-03 11:58:17 +01:00
Armin Novak
72f7382f2f
Added input assertions
2022-11-03 11:58:17 +01:00
Armin Novak
78a1399eb9
Improve logging in autodetect
2022-11-03 11:56:12 +01:00
Armin Novak
85ce3388d7
Handle RDP_NETCHAR_SYNC_RESPONSE_TYPE
2022-11-03 11:56:12 +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
48a6c0b815
Unified stream length checks
...
* Added new function to check for lenght and log
* Replace all usages with this new function
2022-11-03 11:56:12 +01:00
Armin Novak
5306c3ec0a
Write an error log if a PEM file can not be read.
2022-11-03 11:06:15 +01:00
akallabeth
c0193a1813
Fixed #8259 : in remote app mode keep the keyboard state
...
If the mouse enters/leaves the window or the window is unmapped in
desktop session mode we can reset the keyboard modifiers state
while in remote app mode these events have different meaning. Be
more strict in the latter case and only reset on focus out
2022-11-03 11:01:30 +01:00
Armin Novak
843680e543
Clipboard syntesizer replaces path separators
...
The clipboard expects windows style paths, so replace all / with \
2022-10-28 08:22:43 +02:00
Armin Novak
f9faf3d3d5
Unified synthetic file cleanup
2022-10-28 08:22:43 +02:00
Armin Novak
a7a8e7ee8d
Fixed read/write of filedescriptorw times
2022-10-28 08:22:43 +02:00
Armin Novak
096e98d8b5
Moved verbose log message
...
Do not log expected abort conditions
2022-10-28 08:22:43 +02:00
Armin Novak
3dc5ac74a9
Fix parsing of smartcard options
2022-10-27 11:55:49 +02:00
Armin Novak
5e1d7c0f8d
Unified comparisons
...
* Use option_starts_with for all checks
* Use option_ends_with for all checks
* Use option_equals for all comparisons
2022-10-27 11:36:58 +02:00