Commit Graph

663 Commits

Author SHA1 Message Date
akallabeth
1f3e6decf2
[client,common] fix possible integer overflow 2024-09-24 11:31:40 +02:00
akallabeth
cd18dea174
[return checks] fix use of unicode functions 2024-09-16 06:48:26 +02:00
akallabeth
f655843260
[return checks] fix use of rdpSettings getter/setter 2024-09-16 06:48:23 +02:00
akallabeth
07ea37d1d7
[return checks] fix use of CommandLineParseArgumentsA 2024-09-16 06:48:16 +02:00
akallabeth
ba41d5e532
[warnings] fix unchecked return 2024-09-15 09:08:02 +02:00
akallabeth
3460f64f57
[client,common] fix possible NULL dereference 2024-09-14 21:29:21 +02:00
akallabeth
16cec716e0
[strtok] replace function with strtok_s
Since strtok is not thread safe replace it with strtok_s (WinPR wrapper
around strtok_r for systems not supporting the ISO function names)
2024-09-13 21:19:17 +02:00
akallabeth
7ef9345743
Merge pull request #10549 from hardening/rcg2
core, channels: client-side remote credential guard
2024-09-13 08:24:14 +02:00
akallabeth
b29c141c39
[client,cmdline] fix COMMAND_LINE_ARGUMENT_A arguments
* The project expects COMMAND_LINE_ARGUMENT_A arguments, so fix
  COMMAND_LINE_ARGUMENT macro usage. (affects windows API)
2024-09-12 13:30:10 +02:00
akallabeth
8a990644c0
[warnings] fix missing NULL assert/check 2024-09-12 09:08:51 +02:00
David Fort
a4bd5ba886 core, channels: client-side remote credential guard
This patch implements the client-side part of the remote credential guard feature
as described in MS-RDPEAR. The 2 main changes are: shipping the TSRemoteGuardaCreds in
NLA, and implement the rdpear channel that allows LSASS to remote all the calls to
our client. For now it's UNIX only as the windows implementation would be implemented
in a completely different way.
To test, you may establish you ccache and then connect with (RCG enabled on the server):
	xfreerdp /remoteGuard /u:<user> /d:<domain> /v<server>

That should log you in, and in the session you should not be asked for credentials when
doing mstsc /remoteGuard /v:<other server>.
2024-09-11 17:15:11 +02:00
Armin Novak
17c209c0f9
[client,common] change /dynamic-resizing to BOOL option
Allows to use +-/ prefixes to enable/disable the option. Brought up on
matrix channel for uses with RDP files that enable the option. Now it
can be disabled by adding -dynamic-resolution on command line.
2024-09-11 11:06:21 +02:00
akallabeth
306af4070c
[client,common] properly abort on invalid scale-desktop 2024-09-09 12:37:22 +02:00
akallabeth
245afb706c
[function pointers] unify casts with macro 2024-09-04 20:06:45 +02:00
akallabeth
190929c018
[warnings] fix function pointer casts 2024-08-30 15:40:01 +02:00
akallabeth
500495dc00
[warnings] fix SDL3 related issues 2024-08-29 16:03:51 +02:00
akallabeth
ceae258e37
[warnings] fix clang-tidy issues in clients 2024-08-29 15:34:27 +02:00
akallabeth
9c9d74e920
[warnings] fix redundant casts 2024-08-29 12:03:09 +02:00
akallabeth
1d33095500
[warnings] fix cert-err33-c
Fix unused return values, cast to void if on purpose
2024-08-29 10:19:27 +02:00
akallabeth
7054b26916
[channels,parallel] compilation checks
* Only compile channel related command line if enabled
* Warn on unsupported platforms
2024-08-26 13:30:30 +02:00
akallabeth
050eef537a
[client,common] guard /serial argument
only enable if serial redirection support is compiled in
2024-08-26 13:21:13 +02:00
Armin Novak
17d44e847f
[coverity] fix various warnings 2024-08-21 09:47:34 +02:00
Armin Novak
9e71b423cd
[warnings] fix various compiler warnings 2024-07-24 11:08:20 +02:00
akallabeth
6c682c8418
[client,common] add option to set timezone
* /timezone now allows setting the timezone used from a windows timezone
  key name
* /list:timezones now lists all available windows timezone key names
2024-07-19 11:39:46 +02:00
akallabeth
194873b78c
[client,common] fix error logging
freerdp_client_command_line_post_filter did log wrong parsing errors.
2024-07-08 14:41:06 +02:00
Frederick Zhang
919a692abc
[client,common] fix /ipv4 /ipv6 without :force
As arg->Value is NULL when using /ipv4 or /ipv6 alone, it segfaulted
doing strncmp.
2024-07-05 00:04:32 +10:00
akallabeth
fcb8f39bc5
[client,common] print failed command line argument 2024-07-03 11:22:39 +02:00
akallabeth
562fa8a03d
[core,tcp] Improve IPv4 or IPv6 connect
* Fix +ipv6 option, now fall back to IPv4 if no IPv6 entry found
* Add new option ForceIPvX to fail connect if no such entry is found
2024-06-28 09:07:33 +02:00
akallabeth
388ad6b537
[client,common] add support for /kbd:lang:de style
allows mapping of languages to keyboard layouts
2024-06-20 10:27:53 +02:00
akallabeth
d4fc2cdd2f
[client,cmdline] fix inverted frame-ack option 2024-05-24 18:18:19 +02:00
akallabeth
4d79cf2848
[client,common] add command line gfx frame-ack option
expose the option to turn on or off the GFX frame ACK sending.
2024-05-24 11:52:04 +02:00
akallabeth
17bc7b7613
[client,common] add nodelay to dump options
add a new flag nodelay to /dump option to replay dumps as fast as
possible
2024-05-17 10:36:30 +02:00
akallabeth
1efefceb5c
[core,settings] refactor /network
* add CONNECTION_TYPE_INVALID
* default to CONNECTION_TYPE_AUTODETECT
* allow /network:invalid and /network:0 to disable
2024-05-14 11:18:29 +02:00
akallabeth
a1d8754f1f
[core,autodetect] abort on unexpected message. 2024-05-14 11:07:50 +02:00
Armin Novak
e272eb3966 [warnings] fix Wshadow warnings 2024-05-08 15:30:01 +02:00
akallabeth
71e78bedd7 [warnings] fixed sign and const
* fix various char/BYTE sign warnings
* fix various const warnings
* fix format string size_t
* remove unused CMake variables
2024-04-18 11:05:58 +02:00
akallabeth
8267a4c3d6 [client,common] fix missing function return 2024-04-12 12:41:42 +02:00
akallabeth
1232cdbc6a [coverity] 1543092 Dereference before null check 2024-04-12 12:41:42 +02:00
akallabeth
f49d753b7f [coverity] 1543200 Resource leak 2024-04-12 09:45:09 +02:00
akallabeth
88bea503fc [coverity] 1543087 Resource leak 2024-04-11 12:04:07 +02:00
akallabeth
1b2f95dfde [client,common] allow deactivating RAILS hidef mode 2024-03-21 14:26:14 +01:00
akallabeth
925b23bef5 [client,common] skip invalid drives to redirect
Fixes #9989: ignore invalid drive (=path) redirections from
configuration, but notify the user with a warning message.
2024-03-18 13:28:03 +01:00
David Fort
aebe9742e0 [client,win32] Child session fixes
It seems like WaitFor[Single|Multiple]Object calls aren't reliable on pipes, especially
on the pipe opened for childSession access. The object can be marked as signaled even if
no data is available, making the connection laggy and unresponsive (nearly unusable in some
cases).
This patch works around that by using ReadFileEx() with overlapped instead of simple
ReadFile() and use asynchronous reads.
2024-03-01 09:46:53 +01:00
akallabeth
f10e8e9fa1 [client,common] fix help printing
do not drop characters on linebreaks.
fixes #9899
2024-02-26 10:26:58 +01:00
akallabeth
d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +01:00
akallabeth
d0dc657412 [build] delete unused static functions 2024-02-15 11:49:16 +01:00
akallabeth
0e44b2c674 [clang-tidy] clang-analyzer-unix.Malloc 2024-02-15 11:49:16 +01:00
akallabeth
0ba995655d [clang-tidy] cppcoreguidelines-init-variables 2024-02-15 11:49:16 +01:00
akallabeth
207def5c56 [clang-tidy] readability-isolate-declaration 2024-02-15 11:49:16 +01:00
akallabeth
902832ca76 [client,common] fix clipboard command line
allow both, +/- and /clipboard style options.
2024-01-29 09:23:58 +01:00