Commit Graph

582 Commits

Author SHA1 Message Date
akallabeth
2d85aa43fa [client,x11] add thread reading from named pipe
the named pipe input is converted to unicode and sent as keyboard input
2023-07-03 13:21:43 +02:00
akallabeth
a01f3ec5ab [client,common] allow adding a named keyboard pipe
This allows starting FreeRDP clients with a named pipe that will type in
text written to the named pipe as keyboard input
2023-07-03 13:21:43 +02:00
akallabeth
32b60ae438 [pointer] unify mouse pointer settings 2023-07-03 10:00:29 +02:00
akallabeth
3f78b3c379 [build] fix unused compiler warnings 2023-06-28 09:45:09 +02:00
Michael Saxl
d55e035260 [gateway,arm] Azure Virtual Desktop Gateway support
This PR creates a new /gateway:type:arm transport.
It depends on CJSON

The arm transport is not a transport by itself but is responsible
for getting the websocket endpoint from a configuration url derived from
the configured gateway host in the rdpw file or cmdline
2023-06-27 21:15:08 +02:00
Michael Saxl
44c1ec3276 [gateway,websocket] implement plain websocket transport
* factor out most websocket specific code parts into websocket.c
* create wst.c (Websocket Transport) as gateway transport implementation
* introduce GatewayUrl setting that holds the websocket url
* introduce GatewayHttpExtAuthBearer that holds the HTTP Bearer
* GatewayHttpExtAuthBearer can be used by both rdg and wst
2023-06-22 09:21:42 +02:00
Michael Saxl
9a5bedd8be cli parameter /gateway:bearer:bearertoken 2023-06-22 09:21:42 +02:00
Armin Novak
b05eacb99e [build] fixed compilation warnings 2023-06-08 08:13:16 +02:00
Armin Novak
a4c6b36a19 [build] fix memory sanitizer stack frame warnings 2023-06-07 09:14:45 +02:00
Armin Novak
8ec0b1262e [client,common] add /args-from:env
allow reading command line from a environment variable
2023-06-06 10:39:48 +02:00
akallabeth
7288680bdd [client,common] add clipboard feature mask
allow selectivly enabling or disabling clipboard direction and file
support
2023-05-25 16:26:39 +02:00
akallabeth
4ee6cfe13a [warnings] fix -Wmissing-prototypes 2023-05-24 08:24:32 +02:00
akallabeth
9b67ef1a87 [client,common] add command line argument /args-from
This new argument allows reading all command line options from a file or
from stdin. It is a standalone argument and can not be combined with any
other.
2023-05-22 16:17:33 +02:00
akallabeth
c950ca375c [client,common] fix value present flag check
need to check for COMMAND_LINE_VALUE_PRESENT instad of COMMAND_LINE_ARGUMENT_PRESENT
2023-04-28 07:39:35 +02:00
Armin Novak
3c3c996974 [client,common] do not insist on 32bpp for rfx/gfx 2023-04-13 14:35:51 +02:00
akallabeth
767818e97e [client,cmdline] fix gateway option parser
Options like /gateway:type:http,no-websockets,port:1234 were not
properly parsed. The `type:http,no-websockets` must be considered as
separate options with weak dependency.
Thanks to @akarl10 for pointing out this problem.
2023-04-04 09:06:05 +02:00
akallabeth
a5b42f0f84 [includes] untangled circular includes 2023-03-15 08:22:23 +01:00
Armin Novak
36a5c39b6b [build] fix a few warnings 2023-03-13 08:46:51 +01:00
fifthdegree
4cbfa006f2 Implement support for RDS AAD
Have a working implementation of the RDS AAD enhanced security mechanism
for Azure AD logons
2023-03-10 16:38:07 +01:00
Armin Novak
6e5307c037 [client,common] fix on off option parsing
* Return an enum to allow evaluation of what option was provided
* fix /sec:nla and /sec:nla:on behaviour.
2023-03-10 11:40:08 +01:00
Armin Novak
0445eec0bc [client,common] fix /gateway option parsing
due to a bug the first letter of the gateway options was ignored.
2023-03-02 19:04:48 +01:00
Armin Novak
73158a040a [client,common] add warning functions
Added helper functions to inform a user about current state of a client
in use:
* freerdp_client_warn_exeprimental warns about unstable clients
* freerdp_client_warn_deprecated warns about clients to be dropped
2023-03-01 13:45:13 +01:00
Armin Novak
acc5e2d301 [client,common] use non blocking IO
when reading from stdin use non blocking IO so that we can check if the
session terminated in between.
2023-02-28 09:47:54 +01:00
akallabeth
87b30958a6 [cyrpto] unify PEM read/write
use crypto_read_pem and crypto_write_pem in all places required
2023-02-12 20:17:11 +01:00
akallabeth
9e8fc60a45 [client,common] add openssl includes for TLS version 2023-02-12 20:17:11 +01:00
Armin Novak
427a4fa057 [client,common] deprecate old gateway options 2023-02-03 11:08:46 +01:00
Armin Novak
923b068382 [client,common] unified credential hiding
* Unify command line credential string replace in a single function
* Extend the string replace, add all options containing a token or
  a password
2023-02-03 11:08:46 +01:00
Armin Novak
9d8954f56a [client,common] add new option /gateway
* unifies old /g, /gu, /gd, /gp, /gt, /gat and /gateway-usage-method
  options into a single one.
* add new option auto-consent:[on|off]
2023-02-03 11:08:46 +01:00
Armin Novak
70f6c09ff4 [core] fix persistent bitmap cache setting
* Only activate if both, client and server support the capability
* Use settings getter to access setting
2023-01-26 09:30:17 +01:00
Armin Novak
c1174152c3 [client,common] print help on wrong list command 2023-01-25 14:27:15 +01:00
akallabeth
9a80afeb08 [client,cmdline] add support for .rdpw file extension 2022-12-21 16:11:57 +01:00
akallabeth
8c6ee2061b [client,cmdline] fixed /gfx parsing
* Fixed a bug not activating AVC444 when requested
* Unified legacy /gfx-h264 parsing with /gfx
2022-12-15 11:20:34 +01:00
Armin Novak
5f81005ecb [transport] remove polling loop
We no longer have a blocking polling loop in transport. Instead assume
there is more data after a packet was processed and let the transport
try again. If there is another packet ready, this repeats until only a
partly received (or no new data available) situation is reached.
2022-12-12 12:59:32 +01:00
Armin Novak
7027699a5c [client,cmdline] remove -fast-path option
This option is quite an expert setting and should not be exposed that
prominently. Remove it as it can still be changed with the /tune option.
2022-12-06 16:41:24 +01:00
Armin Novak
a5d9c3b846 [client,cmdline] fix order of arguments
option_starts_with was called with inverted arguments.
2022-11-29 22:29:29 +01:00
akallabeth
5799fb2018 Replace ConvertFromUnicode and ConvertToUnicode
* Use new ConvertUtf8ToWChar, ConvertUtf8NToWChar,
  ConvertUtf8ToWCharAlloc and ConvertUtf8NToWCharAlloc
* Use new ConvertWCharToUtf8, ConvertWCharNToUtf8,
  ConvertWCharToUtf8Alloc and ConvertWCharNToUtf8Alloc
* Use new Stream UTF16 to/from UTF8 read/write functions
* Use new settings UTF16 to/from UTF8 read/write functions
2022-11-28 10:42:36 +01:00
Armin Novak
c5e425242a [settings] Typo in GatewayHttpExtAuthSspiNtlm 2022-11-23 11:19:21 +01:00
akarl10
b1583d56c0 [rdg] implementation of http_extauth_sspi_ntlm 2022-11-16 20:28:53 +01:00
Armin Novak
5ecd62a5f7 [client,cmdline] Fix /enforce-tlsv1_2 parsing 2022-11-16 16:03:21 +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
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
Armin Novak
fa1bbfe1bd Fixed on/off string length checks 2022-10-27 10:13:57 +02:00
Armin Novak
605ff25269 Fixed string size for keyboard option parser 2022-10-27 10:13:57 +02:00
akallabeth
967749d43f Unify command line deprecation warning log messages 2022-10-27 10:13:57 +02:00
akallabeth
e3528e3728 Unified /app-* command line arguments 2022-10-27 10:13:57 +02:00
akallabeth
f7850f08aa Added option WITH_FREERDP_DEPRECATED_COMMANDLINE_COMMANDLINE
This allows building deprecated command line options without adding
deprecated functions to the build.
2022-10-27 10:13:57 +02:00
akallabeth
55362225cc Unified /kbd-* command line options
The number of /kbd-* options grew too large, unify them under a
single /kbd:<option1>,<option2>,... setting
2022-10-27 10:13:57 +02:00
akallabeth
d1a736273e Added deprecation log messages, fixed on|off parsing for /sec 2022-10-27 10:13:57 +02:00
akallabeth
391199cbeb Unified /*-cache command line options
There were multiple options enabling/disabling cache features.
Unifed them all under a single /cache:<option1>,<option2>,...
2022-10-27 10:13:57 +02:00