akallabeth
575d42312a
[code] improve error checks on free
2024-01-19 09:57:41 +01:00
Armin Novak
9729a51cb2
[client,common] add example for use with AzuerAD accounts
2024-01-18 11:22:20 +01:00
Armin Novak
89bd55e1f6
[client,common] improve cmdline help formatter
...
break on listings (*)
2023-12-22 10:24:09 +01:00
Armin Novak
2db9e1e258
[client,common] sync AVC444 and AVC444v2 settings
2023-12-20 14:17:05 +01:00
Armin Novak
4b3a479557
[client,common] do not create useless copy
...
The command line argument does not need to be copied twice
2023-12-13 14:02:33 +01:00
Armin Novak
3043fca91d
[warnings] fixed -Wdiscarded-qualifiers
2023-12-13 13:24:22 +01:00
Armin Novak
9e9ad3815d
fix typos in various places
2023-12-12 19:36:54 +01:00
Armin Novak
2ce7283087
[client,common] enable gfx channel also on /gfx only
2023-11-29 17:50:16 +01:00
Stefan Heinzel
52606929fb
5726 add vsock support for client and server
2023-11-29 15:12:51 +01:00
akallabeth
5b937fb330
[client,common] fix superfluous if
2023-11-27 09:35:58 +01:00
akallabeth
45b41bae72
[client,common] split command line parser switch
...
* handle larger switch cases in static functions
2023-11-27 09:35:58 +01:00
Duncan Overbruck
50d05d921e
[cmdline] add missing return statement
2023-11-25 17:48:01 +01:00
Armin Novak
704ee8bc4b
[settings] add unused values and sign correct keys
...
* add -1 as unused enum entry
* change key parameter type from size_t to SSIZE_T
2023-11-24 14:54:56 +01:00
Armin Novak
6e6559c41a
[settings] fix type mismatch warnings
2023-11-24 14:54:56 +01:00
Armin Novak
81d7558184
[settings] remove obsolete generator script
2023-11-24 14:54:56 +01:00
Armin Novak
593e2bf4a9
[api] fix compiler warnings
...
check #if defined(__GNUC__)
2023-11-24 14:54:56 +01:00
akallabeth
4e438d1c3e
[client] make settings opaque
2023-11-24 14:54:56 +01:00
Armin Novak
16c4ede603
[client,common] add custom line parser option
...
freerdp_client_settings_parse_command_line_arguments_ex allows supplying
user defined options to be parsed with the default ones from
client/common.
A callback must be implemented to handle the supplied arguments.
2023-11-07 14:11:51 +01:00
Armin Novak
925e2bf5f1
[client,common] print command line sorted
...
* always sort the command line arguments before listing them.
* merege implementation defined and default arguments before sorting
2023-11-07 14:11:51 +01:00
Armin Novak
d000d9e957
[channels] add <NAME>_CHANNEL_NAME for each
...
* made <NAME>_CHANNEL_NAME defines consistent, each channel now has a
define for the library name.
* use these defines instead of string constants
2023-11-02 12:44:28 +01:00
Mariusz Bialonczyk
c4c8571710
[cmdline] add prevent-session-lock
cmdline argument and settings variable
2023-10-19 16:37:28 +02:00
akallabeth
229916d02e
[settings] replace XSelectionAtom
...
the common command line parser should not touch unstable API settings,
so use newly introduced FreeRDP_ClipboardUseSelection
2023-10-19 14:22:19 +02:00
Armin Novak
7dc44942cd
fix #9476 , command line setting for floatbar
2023-10-17 21:25:07 +02:00
David Fort
3c18a9980f
[client,win32] implement connection to child session
...
Under windows you can connect to a child session by requesting a named pipe to
the local server, and then do some RDP on this named pipe.
The protocol is like for /vmconnect with CredSSP, then Nego and then the "normal"
workflow for a connection. For CredSSP we force the usage of NTLM for the Negociate
SSPI, and the credentials are empty.
2023-09-27 11:57:49 +02:00
Koichiro Iwao
c177299974
[client,cmdline] Advertise Image RFX GUID when rfx-mode:image
2023-09-25 11:44:37 +02:00
akallabeth
93502f9ece
[client,common] fix parsing of /list:kbd-lang
2023-09-05 10:28:36 +02:00
Marc-André Moreau
30c31d64e8
WinSCard dynamic API loading with /winscard-module cli argument
2023-08-23 12:26:27 +02:00
Armin Novak
dd9757d686
[server] add exerimental and unmaintained warnings
2023-08-21 15:42:10 +02:00
Armin Novak
10386e73bc
[client,common] do not swap drive name,path for wildcards
...
the convenience feature to allow name,path or path,name syntax for drive
did not check for path being one of the wildcard symbols.
2023-07-31 10:12:23 +02:00
Armin Novak
49eaf78515
[client,cmdline] add options for /list:
...
* /list:smartcard now allows /list:smartcard:<optional> to use different
pkcs11 modules and settings
* /list:kbd-lang now allows /list:kbd-lang:LANG_* to filter languages
2023-07-20 22:08:27 +02:00
Armin Novak
3d1bb4e1d9
[client,common] allow forcing default callbacks
...
All clients can implement their own callbacks for
certificate/credential/smartcard/... but there is a common (default)
implementation for all clients.
with the new setting FreeRDP_UseCommonStdioCallbacks it is now possible
to force these over the client implementation provided ones
2023-07-20 14:25:08 +02:00
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
akallabeth
41284f47e7
Unify /gfx options
...
* Deprecate all gfx-* options
* Extend argument parsing for /gfx:<option1>,<option2>,...
2022-10-27 10:13:57 +02:00
akallabeth
181debc3d1
Remove /tls:enforce:ssl3 option
...
SSL3 is deactivated during connect anyway, so do not expose the
option
2022-10-20 10:51:50 +02:00
akallabeth
ef6842d249
Fixed TLS1_3_VERSION check and parse_tls_seclevel
...
* Only add TLS1_3_VERSION to array if the SSL library build against
has support for TLS 1.3
* Fix wrong parse function call for 'seclevel'
2022-10-20 10:51:50 +02:00
Armin Novak
187b553b97
Allow overriding TLS version
...
Now use a generic option to allow setting all possible SSL/TLS versions.
Use /tls:enforce:[ssl3|1.0|1.1|1.2|1.3] to set accordingly
2022-10-19 20:31:53 +02:00
Armin Novak
119b8d4474
Unified command line options to list something
...
There are various options to list smartcards, monitors, keyboard
settings. Unify them all under a single /list:<something> option
2022-10-19 20:31:53 +02:00
Armin Novak
7e82c9f19f
Cleaned up functions printing information
2022-10-19 20:31:53 +02:00
Armin Novak
1f6476016d
Update command line option /sec*
...
* Deprecate /sec-* flags
* Allow multiple arguments for /sec
2022-10-19 20:31:53 +02:00
Armin Novak
ed3bc5c51a
Only enable deprecated commandline with WITH_FREERDP_DEPRECATED
2022-10-19 20:31:53 +02:00
Armin Novak
1c8bcbeb6a
Added deprecation warnings to /cert-* options
2022-10-19 20:31:53 +02:00
Armin Novak
d357fa3237
Added a unified /tls: option
...
There are too many tls settings scattered over multiple different
switches. Add a unified option and deprecate the old ones
2022-10-19 20:31:53 +02:00
Marc-André Moreau
e3594c91dc
Add UserSpecifiedServerName setting, /server-name command-line parameter
2022-10-14 17:59:57 -04:00
Armin Novak
be9cc98c08
Refactored cmdline common
...
* Add settings setter where possible
* Load dynamic sound channel alongside static one
* Load clipboard channel if requested
2022-10-13 14:48:40 +02:00
Marc-André Moreau
27a865af74
Add Negotiate SSPI authentication module filtering
2022-10-12 22:07:45 +02:00
akallabeth
60720e7706
Improved streamdump file format
2022-10-07 10:38:03 +02:00
Marc-André Moreau
cd6fcaacb4
use kerberos command-line suboptions for KDC URL
2022-09-30 19:33:12 +02:00
Marc-André Moreau
21d28ab62d
add --kdc-url command-line parameter
2022-09-30 19:33:12 +02:00
akallabeth
1849632c43
Fixed format strings to match arguments ( #8254 )
...
* Fixed format strings to match arguments
Reviewed and replaced all %d specifiers to match proper type
* Added proxy dynamic channel command type to log messages.
2022-09-29 14:55:27 +02:00
David Fort
e266784b24
client: fix channel loading for rdp2tcp
...
The RDP2Tcp channel has no associated bool in settings for configuring the loading
of the channel (only settings->RDP2TCPArgs for the args), so let's load it outside
of the big loading loop (prevent a warning for unknown bool setting 1519).
2022-09-21 16:04:02 +02:00
Simon Nivault
82b58325a3
Add switch to declare printer as default or not
2022-09-20 13:25:05 +02:00