akallabeth
c22d9844a4
[client,common] fix incompatible-pointer-types
...
use a union to cast to expected types.
2024-03-18 13:27:32 +01:00
akallabeth
f764b0a854
[channels,location] implement client channel
...
* provide client side callbacks to implement platform specific location
backend glue code
2024-03-11 13:22:12 +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
f69e1fe697
[clang-tidy] readability-duplicate-include
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
2fffcd64b9
[winpr] use winpr_strerror instead of strerror
...
use the wrapper from WinPR to use the best implementation available.
2024-02-06 15:45:47 +01:00
akallabeth
ba8cf8cf21
[build] fix Wmismatched-deallocator warnings
...
With custom malloc function attributes the fail path in the _New
functions produces warnings due to allocator mismatches. Silence them.
2024-02-05 08:16:55 +01:00
akallabeth
902832ca76
[client,common] fix clipboard command line
...
allow both, +/- and /clipboard style options.
2024-01-29 09:23:58 +01:00
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
598266b2fc
[client,common] add clipboard help text
2023-12-22 10:24:09 +01:00
Armin Novak
6a1a2eb661
[client,common] update manpage helper binary
...
improve formatting of docbook xml from argument description
2023-12-22 10:24:09 +01:00
Armin Novak
89bd55e1f6
[client,common] improve cmdline help formatter
...
break on listings (*)
2023-12-22 10:24:09 +01:00
Armin Novak
49936fc529
[client,common] call RetryDialog on reconnect
2023-12-20 23:16:10 +01:00
Armin Novak
2db9e1e258
[client,common] sync AVC444 and AVC444v2 settings
2023-12-20 14:17:05 +01:00
Armin Novak
0bb3e2dc97
[client,common] update documentation for /gfx
2023-12-20 14:17:05 +01:00
Armin Novak
a7eeb8e1ba
[cmake] simplify manpage generation
2023-12-20 09:21:31 +01:00
Armin Novak
c064d54cb1
[client,sdl] add manpage
2023-12-20 09:21:31 +01:00
Armin Novak
9575f386cd
fixed WCHAR constants, use endian safe definitions
2023-12-20 09:03:58 +01:00
Armin Novak
8613613913
[client,common] fix relative mouse event detect
...
Only send relative mouse events, if the client explicitely enabled them,
the calling function is reporting the events as relative and the server
announced support for it.
2023-12-19 21:26:46 +01:00
David Fort
4e97cc4dbe
[build] fix build without AINPUT channel
...
If the option was disabled, it was not building.
2023-12-19 16:34:41 +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
d6b7cfc1c2
[warnings] fixed -Wpointer-sign
2023-12-13 13:24:22 +01:00
Armin Novak
fb2a1f61f8
[client,common] fix -Wunused-variable warning
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
6f6c0248f0
[client,common] check for relative mouse events
...
Added freerdp_client_use_relative_mouse_events to tell the client if the
coordinates should be relative or absolute
2023-12-06 10:45:01 +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
1b31852d32
[git] remove .gitignore
...
we do no longer allow in source builds, so remove all the .gitignore
files just hiding generated files
2023-11-28 12:14:55 +01:00
akallabeth
5b937fb330
[client,common] fix superfluous if
2023-11-27 09:35:58 +01:00
akallabeth
32c730faea
[client,common] fix format string
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
akallabeth
dd2d110870
[warnings] fix -Wcast-qual
2023-11-24 18:19:03 +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
Martin Fleisz
13d35c8a98
client/common: Return NULL/-1 if settings value was not set
2023-11-23 18:05:19 +01:00
Armin Novak
25035b094d
[client,common] support redirectlocation in rdp files
2023-11-22 13:01:10 +01:00
Martin Fleisz
ad44573164
cient/common: Apply GatewayCredentialsSource setting read from rdp files
2023-11-09 13:54:20 +01:00
akallabeth
f0709d00a9
[channel,rail] move client_rail_server_start_cmd
...
the function needs access to channel internals, so move to channel
2023-11-07 14:42: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
Armin Novak
e56fcb45cb
[core,aad] move cJSON related parsing to core
...
hide cJSON parser from freerdp-client library, link privately
2023-11-02 11:30:55 +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
Armin Novak
60390ea40c
[pragma] unify compiler diagnostics
2023-10-16 15:10:13 +02:00
Armin Novak
53b65ff7bd
[documentation] fix Wdocumentation warnings
2023-10-16 15:10:13 +02:00
akallabeth
ec0109239b
[client,common] fix default of mouse-relative flag
2023-10-13 16:05:27 +02:00
akallabeth
d7798e97d1
[client,common] prefer [MS-RDPBCGR] relative mouse
...
prefer the standard method over custom ainput channel.
2023-10-13 16:05:27 +02:00
akallabeth
5f95193303
[client,common] drop fuse2 support
2023-10-10 19:35:27 +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
86acc8d31a
[warnings] fixed reserved-identifer warnings
2023-09-25 08:39:01 +02:00
akallabeth
635626be12
[client,common] avd related keys to rdp file parser
2023-09-21 10:30:09 +02:00
akallabeth
5a7a1c159d
[casts] remove fnObject* function pointer casts
...
use proper types that match the function pointer definition to avoid
surprises if the code should be refactored
2023-09-20 21:11:30 +02:00
akallabeth
144df287a2
[client,common] fix #9411 leak in file clipboard
2023-09-20 21:11:30 +02:00
akallabeth
bd595d363d
[arm] add retry callback for transport
...
If the connection is blocked due to some VM requiring spinup time before
being ready to use call the newly created callback RetryDialog.
2023-09-14 12:02:26 +02:00
ichaoX
a28920f3ed
[client,X11] add pen button support
2023-09-13 15:57:59 +02:00
ichaoX
48a55aa95b
[client,common] fix freerdp_client_pen_cancel_all
...
* fix freerdp_client_pen_cancel_all
* fix FreeRDPPenEventType
2023-09-13 15:57:59 +02:00
ichaoX
88f79c5748
[client,common] fix multitouch "engaged" state
2023-09-11 19:35:07 +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
Kimon Hoffmann
8ec4d20616
[cmake] Locate PkgConfig module with find_package() instead of include(FindPkgConfig)
...
This is the contemporary way of including find modules and including the
find module this way avoids cmake errors in conjunction with
find_package_handle_standard_args().
Signed-off-by: Kimon Hoffmann <Kimon.Hoffmann@lawo.com>
2023-08-21 12:43:56 +02:00
Pascal Nowack
8fc7062605
client/cliprdr_file: Do not deadlock with FUSE2 when stopping fuse loop
...
FUSE2 has compared to FUSE3 a rather complicated structure with respect
to the FUSE loop, as it uses two handles for the loop and the mount.
Due to needing the possibility to invalidate inodes during the session
and to exit the FUSE session, the session and channel handles need to be
kept alive.
When the session stops, and with that the FUSE session too, the FUSE
thread must still be able to unmount the FUSE mount.
But due to FUSE2's annoying structure, the FUSE session must be
destroyed before doing this.
In this time period, where the FUSE2 loop stops running and between
stopping the FUSE2 session, it cannot answer any requests.
As a result, the "path test", where the mount path is poked cannot be
performed.
This "path test" is however necessary to ensure, that the FUSE loop
exits.
So, the main thread pokes at the FUSE mount to ensure the loop
definitely exits to then signal the FUSE thread, that it can destroy the
session and channel object.
But at the same time, the FUSE loop may already exited and wait for the
main thread to be signalled, that it can destroy the session and channel
object.
The waiting conditions here cannot be satisfied, leading to a deadlock.
Fix this situation, by already signalling the FUSE thread, that it can
destroy the FUSE objects, after calling fuse_session_exit.
2023-08-04 11:08:01 +02:00
Hodol Han
d962f1e4d0
[client,common] Fix minor code errors
...
`cctx->contacts` -> `cctx->pens`
2023-08-03 17:55:49 +02:00
Hodol Han
5d61ab1eac
[client,common] Fix freerdp_client_register_pen
...
Pass null device id rather than `deviceid` to find an empty pen device
slot.
2023-08-03 17:55:49 +02:00
Pascal Nowack
33c2c5eb96
client/cliprdr_file: Fix build when using FUSE2 instead of FUSE3
...
To invalidate inodes, FUSE2 uses a FUSE channel handle, while FUSE3 uses
the FUSE session.
So, ensure the correct handle is passed to the respective API calls.
2023-08-03 08:57:26 +02:00
Pascal Nowack
c031e7eba6
client/cliprdr_file: Do not destroy FUSE session while using it
...
When invalidating inodes, it is obligatory, that the session was not
destroyed yet.
So, in case of the FUSE loop stops before the session stops wait with
the destroyal of the session, until it is clear, that it is not used
anymore.
2023-08-03 08:57:26 +02:00
Pascal Nowack
d3d7f05322
client/cliprdr_file: Tighten up data size check for FILE_SIZE requests
...
FILECONTENTS_SIZE requests explicitly specify the size of 8 Bytes, so
expect that there are no further fill Bytes used.
2023-08-01 17:35:34 +02:00
Pascal Nowack
63c72b418a
client/cliprdr_file: Move some debug messages under DEBUG_CLIPRDR
...
Do no expose filenames of copied files, unless it is explicitly wanted.
2023-08-01 17:35:34 +02:00
Kai Pastor
5ecc011c13
Export interface include directories
2023-08-01 11:12:46 +02:00
Armin Novak
0cd36c1526
[build] fix Wmissing-prototypes
2023-08-01 08:37:58 +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
03b78dd57b
[aad] print http status response message
2023-07-28 16:42:23 +02:00
Armin Novak
78429b3176
[client,common] fixed sign warnings
2023-07-27 21:05:43 +02:00
Armin Novak
8c26c44d18
[client,common] fix format string arguments
2023-07-27 20:02:43 +02:00
Armin Novak
e61880d077
[standard] replace __FUNCTION__ with __func__
2023-07-27 20:02:43 +02:00
Armin Novak
117fc17292
[client,common] fix leak in rdp parser
2023-07-26 20:26:59 +02:00
fifthdegree
16902e4c20
Parse arm and aad options in rdp(w) files
...
- enablerdsaadauth
- resourceprovider
2023-07-26 09:44:30 +02:00
Armin Novak
1abc3da4e0
[client,common] respect +force-console-callbacks
...
Set GetAccessToken to console edition too
2023-07-25 15:40:06 +02:00
Armin Novak
a5ea634516
[core] fix cJSON compat
...
* only export used symbols, provide prototypes when required
* clean up some length checks
2023-07-24 09:54:49 +02:00
akallabeth
830d1e17b6
[utils] improve http request logging
2023-07-21 14:53:19 +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
a0d38914d6
[core,aad] refactor use of cJSON
...
* link cJSON public to FreeRDP
* export compatibility functions for older versions of cJSON
2023-07-20 14:20:28 +02:00
akallabeth
0bc1a859e2
[client,common] add cJSON compat
2023-07-20 14:20:28 +02:00
akallabeth
a9aba69567
[client,common] fix missing link of CJSON
2023-07-20 14:20:28 +02:00
akallabeth
734117351d
[aad,avc] unify callbacks to GetAccessToken
...
The AAD and AVD authentication mechanisms both need an OAuth2 token.
They only differ in the provided arguments, so unify the callbacks into
a single one with variable argument lists.
2023-07-20 14:20:28 +02:00