Commit Graph

1159 Commits

Author SHA1 Message Date
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
c9b0c9ecd5
[warnings] remove unused variables 2024-09-12 10:08:10 +02:00
akallabeth
8a990644c0
[warnings] fix missing NULL assert/check 2024-09-12 09:08:51 +02:00
akallabeth
384cd284d8
[warnings] use WINPR_CAST_CONST_AWAY
on locations that require (ugly) const to non const casts usw
WINPR_CAST_CONST_AWAY to do proper compiler specific casts to avoid
warnings
2024-09-11 23:41:50 +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
edf6ab89f7
[warnings] fix dead store 2024-09-10 14:43:11 +02:00
akallabeth
306af4070c
[client,common] properly abort on invalid scale-desktop 2024-09-09 12:37:22 +02:00
akallabeth
b26ab2f069
[client,common] extended parser 2024-09-06 08:23:06 +02:00
akallabeth
245afb706c
[function pointers] unify casts with macro 2024-09-04 20:06:45 +02:00
akallabeth
5e123735fa
[warnings] fixed sign-compare 2024-09-04 10:14:05 +02:00
akallabeth
baa70d1ab6
[warnings] fix compare integers of different signs 2024-09-03 15:10:46 +02:00
akallabeth
5a4a1a40ad
fix declaration and implementation parameter names 2024-09-03 12:24:53 +02:00
akallabeth
f7fd817d1c
[warnings] fix redundant casting 2024-09-03 12:24:51 +02:00
Armin Novak
fe4cb6de65
[warnings] fix float/double warnings 2024-09-02 16:20:20 +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
15456e1ee1
[warnings] fix implicit widening conversion 2024-08-29 10:47:20 +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
Armin Novak
d71af44bb1
[warnings] disable warnings for generated code
* Disable clang-tidy in test build directories
* Disable compiler warnings for test binary directories.

These contain generated code we can not change, so the warnings are just noise
2024-08-28 09:18:30 +02:00
akallabeth
00eb86970d
Merge pull request #10510 from akallabeth/serial-cleanup
Serial cleanup
2024-08-26 13:47:10 +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
akallabeth
56d660f258
[cmake] mark dependency includes SYSTEM
Mark all dependency include paths SYSTEM so warnings from system headers
are excluded from ci warning statistics
2024-08-26 11:10:49 +02:00
akallabeth
ba7fd06ec4
[coverity] fix some warnings
* mostly dead store and identical code branches.
* some possible integer overflows
2024-08-23 12:38:41 +02:00
Armin Novak
17d44e847f
[coverity] fix various warnings 2024-08-21 09:47:34 +02:00
akallabeth
e95a813560
[client,common] unify PEM ceritificate string
* Unify PEM data extraction
* Add notBefore and notAfter dates to certificate callback messages
2024-08-20 12:42:49 +02:00
Armin Novak
1f95865907
[client,common] ignore empty strings for channels
Ignore empty strings when parsing redirection channel arguments
2024-08-14 14:31:58 +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
Frederick Zhang
c79c28348d
[client,common] update /ipv[4|6] help text 2024-07-09 22:47:11 +10: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
akallabeth
7c7217dc7c
[client,common] fix typo in command line help 2024-07-08 14:13:56 +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
fbc0d161ca
Merge pull request #10335 from akallabeth/command-line-print
[client,common] print failed command line argument
2024-07-03 13:55:36 +02:00
akallabeth
fcb8f39bc5
[client,common] print failed command line argument 2024-07-03 11:22:39 +02:00
akallabeth
46bced61fb
[cmake] fix cross compilation
helper utilities are now compiled on host only
2024-07-02 13:24:38 +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