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
8d461f40ab
[build] fix some warnings
2023-12-19 16:34:41 +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
Nicolas Höft
396e13a928
[client,sdl] Do not disable compositing on Linux
...
This can be overridden by setting the environment variable
SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR=1
2023-12-16 20:57:53 +01:00
Armin Novak
ed4c1e1685
[client,sdl] unify dialog result wait
2023-12-15 09:11:33 +01:00
Armin Novak
f4bc5e69c2
[client,sdl] handle smartcard logon dialog error
2023-12-15 09:11:33 +01:00
Armin Novak
749da7eefc
[client,sdl] add smartcard chooser dialog
2023-12-15 09:11:33 +01:00
st0ne77
8dc01cebb0
[client,sdl] propagate error from auth dialog
2023-12-15 09:11:33 +01:00
Armin Novak
35697c0292
[client,x11] fix segfault due to wrong print function
2023-12-14 14:05:39 +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
49c52b1ee8
start 3.0.1-dev0 cycle
2023-12-12 19:36:54 +01:00
Armin Novak
a34fa7c49d
release-3.0.0
2023-12-12 19:36:54 +01:00
Armin Novak
67f4dcabdc
[git] remove build artifact
2023-12-12 19:36:54 +01:00
Armin Novak
9e9ad3815d
fix typos in various places
2023-12-12 19:36:54 +01:00
Armin Novak
d89ef74163
[client,sdl] use SDL timer for display resize
...
* use SDL timer instead of freerdp implementation
* Disable timer after all events have been processed
2023-12-11 11:59:45 +01:00
Armin Novak
f4fcf3f96f
[client,sdl] fix crash #9627
...
lock SDL context while recreating window structures.
2023-12-11 11:59:45 +01:00
Armin Novak
2b1aae0238
[client,x11] fix maximum number of input events
2023-12-07 10:53:34 +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
dev
dd56308bde
[client,mac] Simplify builder
...
* Build MacFreeRDP as normal application, let the bundling out of
building
* Add a bunding script allowing to create a MacFreeRDP with all
dependencies installed
2023-12-05 09:21:23 +01:00
akallabeth
f02375e4ec
[client,x11] remove hardware bitmap
2023-12-01 10:18:33 +01:00
akallabeth
99a0a28d77
[client,X11] drop direct glyph mapping
2023-12-01 10:18:33 +01:00
akallabeth
3361116834
[client,x11] drop direct gdi mapping
...
windows GDI is legacy and can not be properly mapped to X11 equivalents
witout glitches. Drop support for that while preserving XImage/Pixmap
acceleration support.
2023-12-01 10:18:33 +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
Stefan Koell
155cd2e561
Fix DPI issue when parent-window specified
2023-11-28 12:25:07 +01:00
akallabeth
615fcc4370
[cmake] prevent in source builds
2023-11-28 12:14:55 +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
Armin Novak
6547b2dfe7
started 3.0.0-dev6 cycle
2023-11-27 11:04:16 +01:00
Armin Novak
e6fffdb7b0
release 3.0.0-rc0
2023-11-27 11:04:16 +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
a9c57b6319
[client,x11] fix settings access warning
2023-11-27 09:35:58 +01:00
akallabeth
ed3a1113f5
[client,x11] fix monitor detection
2023-11-27 09:35:58 +01:00
Armin Novak
1e88b2fa37
[client,x11] query correct display
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
David Fort
137f9fc2f2
[client,win]: warning fixes and opaque settings fixes
2023-11-25 08:00:27 +01:00
dev
89f650b8ae
[client,mac] fix opaque settings
2023-11-24 21:23:38 +01:00
Armin Novak
9261f5c001
[client,windows] fix getter for ParentWindowId
2023-11-24 18:19:03 +01:00
akallabeth
dd2d110870
[warnings] fix -Wcast-qual
2023-11-24 18:19:03 +01:00
akallabeth
dd03f49ed2
[client,wayland] fixed wrong settings getter
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
Armin Novak
60ceff95c5
[fflush] remove of unnecessary fflush
2023-11-20 18:00:42 +01:00
Armin Novak
e0e72f9c28
[cmake] use CMAKE_MSVC_RUNTIME_LIBRARY
...
* Increase required CMake version to 3.15 (windows only)
* Use
https://cmake.org/cmake/help/latest/prop_tgt/MSVC_RUNTIME_LIBRARY.html#prop_tgt:MSVC_RUNTIME_LIBRARY
to select windows runtime
2023-11-16 10:40:04 +01:00
David Fort
d9fda957e7
[build] fix windows build under mingw
...
The path to resource file was wrong.
2023-11-13 19:43:44 +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
70a360bf38
[client,sdl] clear screen on resize
...
* clear screen on window resize
* redraw window on window resize
2023-11-06 08:48:49 +01:00
Armin Novak
1bb09089a7
[client,sdl] ignore LOGON_MSG_SESSION_CONTINUE
...
do not display a popup for this kind of message.
2023-11-03 08:25:02 +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
mcsong
c94812421f
Revise Korean translations.
2023-11-01 10:33:57 +01:00
mcsong
a4553b1f9a
Add Korean translation for Android client
2023-11-01 10:33:57 +01:00
kevin147147
357390acef
Add external mouse hover support in SessionView.java ( #9495 )
2023-10-24 16:05:47 +02:00
kevin147147
a927bb8b6e
Activate GFX and H264 by default
2023-10-20 09:14:11 +02: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
kevin147147
926c36b63b
Update strings.xml
2023-10-19 04:47:14 +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
Max Roncace
eefe052690
[client,sdl] Fix primary monitor logic in multimon
2023-10-13 16:06:18 +02:00
Max Roncace
7e50a92eb9
[client,sdl] Fix stored window offset for multimon
...
SDL_WINDOWPOS_CENTERED_DISPLAY returns a magic value which causes issues
when it's eventually passed to SDL_BlitSurface.
Fixes #9441
2023-10-13 16:05:39 +02:00
akallabeth
ec0109239b
[client,common] fix default of mouse-relative flag
2023-10-13 16:05:27 +02:00
akallabeth
927b553ad7
[client,sdl] send relative mouse button events
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
c7b123076a
[client,sdl] keep SDL_RWops open
...
the application crashes if we close the SDL_RWops after opening the
font. keep it open until the widget is destroyed
2023-10-10 22:59:53 +02:00
akallabeth
33c1183fe1
[client,sdl] fixed tests and detection
...
* add a pkg-config fallback for SDL2_ttf, current ubuntu does not ship
the cmake config
* deactivated SDL dialog test cases, now compiles properly
2023-10-10 22:59:53 +02:00
akallabeth
0529658e75
[cmake] cleaned out unused cmake files
2023-10-10 22:59:53 +02:00
akallabeth
5f95193303
[client,common] drop fuse2 support
2023-10-10 19:35:27 +02:00
akallabeth
89429885a0
[cmake] make generated pkg-config files relocatable
...
* new CMake option PKG_CONFIG_RELOCATABLE (default ON) allows generating
traditional or relocatable pc files
2023-10-10 19:35:27 +02:00
Gregory Fox
6250b0a5d4
[android] fix release.properties
2023-10-10 19:35:27 +02:00
akallabeth
47664ea6e7
[client,android] clean translations
...
* remove non translatable strings from translations
2023-10-10 19:35:27 +02:00
Armin Novak
7a4e989dcb
[client,sdl] fix #9442 : handle alt+tab fullscreen
2023-10-10 12:33:29 +02:00
Peter Dave Hello
98c568b4b3
Add zh_TW Traditional Chinese translation for Android client
2023-10-10 10:08:21 +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
2e7f387783
open 3.0.0-dev5 cycle
2023-09-21 13:57:48 +02:00
akallabeth
1f284d3af8
update version to 3.0.0-beta4
2023-09-21 13:57:48 +02:00
akallabeth
14f69d0657
[client,mac] fix casting in main()
2023-09-21 10:57:43 +02:00
akallabeth
1f827f6be3
[client,mac] fix invalid const for variable
2023-09-21 10:57:43 +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
7fb2f062f0
[client,x11] fix #9410 leak in xf_cliprdr
2023-09-20 21:11:30 +02:00
akallabeth
54a5512939
[client,sdl] fix RWops leak
2023-09-14 15:59:57 +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
4935b0978b
[client,X11] avoid dynamic allocation of devName
2023-09-13 15:57:59 +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
becaac792f
[client,x11] improved pen type recognition
...
* improved pen type recognition.
* fix not recognizing other newly connected pen devices when a pen device is already connected.
2023-09-13 15:57:59 +02:00
Stefan Koell
82df1c97ae
fixed code style
2023-09-13 14:47:08 +02:00
Stefan Koell
c81e045cee
wfreerdp-client: Handle credman domain qualified username correctly
...
If credentials are read from the Windows credential manager, and the **username** contains the **domain** portion (`domain\username`), a connection couldn't be establish.
This PR parses the username and domain, sets the correct properties in the settings structure pretty much the same way the CLI args handling is doing.
2023-09-13 14:47:08 +02:00
ichaoX
88f79c5748
[client,common] fix multitouch "engaged" state
2023-09-11 19:35:07 +02:00
iordan iordanov
b4985cc39d
Fix for missing openssl/err.h include in TSXAdditions.m.
2023-09-11 12:07:24 +02:00
iordan iordanov
483cd93969
Implemented clipboard redirection for iOS.
2023-09-11 12:07:24 +02:00
akallabeth
93502f9ece
[client,common] fix parsing of /list:kbd-lang
2023-09-05 10:28:36 +02:00
Armin Novak
639a36225e
[version] start 3.0.0-dev4 cycle
2023-08-31 12:27:06 +02:00
Armin Novak
59a5726ab3
[version] update to beta3 version
2023-08-31 12:27:06 +02:00
akallabeth
285add3a85
[client,sdl] use SDL_WaitEventTimeout
...
polling is expensive, so use a waitable function instead
2023-08-31 11:39:22 +02:00
Armin Novak
3ea38175b4
[locale,keyboard] fix keyboard mapping on apple
2023-08-31 11:39:22 +02:00
akallabeth
60dd48e698
[api] fix integer overflow warnings
2023-08-25 14:36:05 +02:00
akallabeth
bb5345c60e
[freerdp,api] add FREERDP_ENTRY_POINT
...
C requires prototypes or compilers will complain about them missing. Our
library entry points do not have such, therefore add the macro
FREERDP_ENTRY_POINT which declares the function prototype automatically
before the function.
2023-08-25 14:36:05 +02:00
akallabeth
9cee9b3c08
[c standard] use WINPR_FALLTHROUGH
...
use the macro to silence intentional switch fallthrough locations
2023-08-25 12:56:36 +02:00
akallabeth
ad11ef916c
[client,sdl] fix compiler warnings
2023-08-25 12:56:36 +02:00
Marc-André Moreau
30c31d64e8
WinSCard dynamic API loading with /winscard-module cli argument
2023-08-23 12:26:27 +02:00
Marc-André Moreau
98b4ff559b
fix issue with using find_library for Windows system libraries
2023-08-23 09:46:53 +02:00
akallabeth
7a71441476
[warnings] fix integer multiplications
...
Ensure the integer width for size arguments is 64bit in a
multiplication. Leading 64bit constant 1ull expands width, a trailing
one is ignored.
2023-08-22 11:55:00 +02:00
Armin Novak
dd9757d686
[server] add exerimental and unmaintained warnings
2023-08-21 15:42:10 +02:00
James Fu
5b012fbc8a
rail: fix window freeze when moving window after minimizing and restoring
...
When restoring from minimized state, sometimes MapNotify is received before PropertyNotify,
and the rail_state is still WINDOW_SHOW_MINIMIZED.
2023-08-21 14:44:58 +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
akallabeth
fee2b10ba1
change version to 3.0.0-dev3
2023-08-04 12:59:11 +02:00
Armin Novak
d3e428c51f
change version to 3.0.0-beta2
2023-08-04 12:59:11 +02:00
akallabeth
a17b1ecec0
[client,android] use 'text/plain' to access clipboard
2023-08-04 12:59:11 +02:00
akallabeth
b12e2ee469
[cmake] do not require NTDLL
2023-08-04 12:59:11 +02:00
Armin Novak
fafc2e61f9
[client,sdl] redirect sdl log to wlog
2023-08-04 12:59:11 +02:00
akallabeth
8470b6ea26
[cmake] set default build type
...
set with CACHE STRING FORCE to properly be picked up by configuration
tools
2023-08-04 12:59:11 +02:00
akallabeth
0e458c8c2c
[cmake] WITH_WEBVIEW new defaults
...
* Enable by default now
* Use a config file to detect if it is enabled
2023-08-04 12:59:11 +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
weoses
8f1ba61553
[client,android] Fix keyboard ui issues
...
Set inputType to system keyboard, otherwise keyboard can be opened with last used input type (eg. numeric)
Fix keyboard/modifiers panel opening, when keyboard stuck in other app
Hide zoom controls when keyboard is opened
2023-08-02 19:50:00 +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
akallabeth
ad56fbe674
[client,android] Fix #8158 anonymous thread leak
2023-08-01 15:46:57 +02:00
akallabeth
eb67f41a50
[cmake] use find_library for windows libs
2023-08-01 13:32:35 +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
Kai Pastor
21cfc456f5
find_dependency for exported cmake config
2023-08-01 08:13:30 +02:00
Armin Novak
ef5c0e78ab
[build] use define WINPR_FALLTHROUGH
...
with c17 compatible compilers annotate with [[fallthrough]]
2023-07-31 23:46:53 +02:00
Armin Novak
7ad32b3e2a
[client,sdl] clean up code
...
use local variable for often used accessor
2023-07-31 13:41:26 +02:00
Armin Novak
ff26ca1e39
[client,sdl] use member instead of static variable
2023-07-31 13:41:26 +02:00
Armin Novak
b3fdebfdf7
[client,sdl] position windows centered on monitor
2023-07-31 13:41:26 +02:00
Armin Novak
eca4017c8b
[client,sdl] enable multimon support for display channel
2023-07-31 13:41:26 +02:00
Armin Novak
aa2c48840a
[client,sdl] fix high dpi detection
...
* convert dpi value to percentage used by RDP
* fix detection of current monitor resolution for SDL windows
2023-07-31 13:41:26 +02:00
Dan Holliday
1d64c8d93c
Started to add support for multi-monitor.
2023-07-31 13:41:26 +02:00
Dan Holliday
75bc1505ab
Added the ability to quite the RDP session by pressing "r-ctrl + shift + D". The reason for this is when in full screen I have no way to exit from xrdp if I don't want to close my session.
2023-07-31 13:41:26 +02:00
Dan Holliday
7234b0a2f1
Added the ability to quite the RDP session by pressing "r-ctrl + shift + D". The reason for this is when in full screen I have no way to exit from xrdp if I don't want to close my session.
2023-07-31 13:41:26 +02:00
Dan Holliday
8c584c29dd
Started to add support for multi-monitor.
2023-07-31 13:41:26 +02:00
Dan Holliday
4eee7a54ad
Added the ability to quite the RDP session by pressing "r-ctrl + shift + D". The reason for this is when in full screen I have no way to exit from xrdp if I don't want to close my session.
2023-07-31 13:41:26 +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
df3bed95a5
[client,windows] fix cast warnings
2023-07-28 15:48:32 +02:00
Armin Novak
3df928a8d2
[client,sdl] fixed member initialization order and casts
2023-07-28 13:42:12 +02:00
Armin Novak
ffacfc0432
[client,windows] fix const warnings
2023-07-28 13:42:12 +02:00
Armin Novak
78cea184aa
[client,windows] remove unused label
2023-07-28 13:42:12 +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
9ea1ab285b
[client,sdl] set gui consent message
2023-07-26 20:50:21 +02:00
Armin Novak
117fc17292
[client,common] fix leak in rdp parser
2023-07-26 20:26:59 +02:00
Armin Novak
4f0ca73be6
[cmake] set MSVC runtime for SDL client
2023-07-26 16:19:07 +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
0cd774d2c0
[client,sdl] fix cleanup order
...
destroy SDL_Renderer before SDL_Window
2023-07-25 09:11:11 +02:00
Armin Novak
667f7e6f0d
[cmake] do not always build client-common
...
if -DWITH_CLIENT_COMMON=OFF ignore building common subdirectory
2023-07-25 07:29:36 +02:00
Armin Novak
4816a7d2a5
[cmake] require freetype for sdl2ttf
2023-07-24 10:49:38 +02:00
Armin Novak
315acc6aa9
[client,sdl] fix std::vector initialization
...
MSVC 2013 does not like too large vector initialization, work around
with https://stackoverflow.com/questions/31028941/how-to-avoid-compiler-limit-compiler-stack-overflow-with-large-vector-inits/31029335#31029335
2023-07-24 10:49:38 +02:00
Armin Novak
f00e73cec4
[client,sdl] fix constructor, initialize pointers
...
some initialization might fail, so initialize them beforehand.
2023-07-24 10:49:38 +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
5de7887d93
start new development cycle after 3.0.0-beta1 release
2023-07-21 16:04:49 +02:00
Armin Novak
f08d59ca5f
update version to 3.0.0-beta1
2023-07-21 16:04:35 +02:00
akallabeth
80091cba6a
[client,sdl] add MSVC macro for missing noexcept
2023-07-21 14:53:19 +02:00
akallabeth
33d8e8e41b
[client,sdl] replace memset with c++ string iteration
2023-07-21 14:53:19 +02:00
akallabeth
830d1e17b6
[utils] improve http request logging
2023-07-21 14:53:19 +02:00
akallabeth
9eb80ffb19
[client,sdl] add dialog paste support
2023-07-21 14:53:19 +02:00
akallabeth
6be08815e5
[client,sdl] add OpenSans license and ttf font
2023-07-21 09:50:02 +02:00
Armin Novak
b28521d2d9
[client,sdl] use TTF_OpenFontRW
...
In combination with SDL_RWFromConstMem the font can be embedded without
using an intermediate file to load it from.
2023-07-21 09:50:02 +02:00
akallabeth
b259545bbb
[client,sdl] update AAD/AVC callback handling
2023-07-21 09:14:54 +02:00
Armin Novak
1b79b60634
added webview scheme handler
2023-07-21 09:14:54 +02:00
akallabeth
8b0f4ca106
[client,sdl] move webview to static lib
...
* move to static lib aad-view
* add support for https://github.com/webview/webview (e.g. use native
webview if available)
2023-07-21 09:14:54 +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
06fd58264e
[client,sdl] add a simple test for dialogs
2023-07-20 14:25:08 +02:00
Armin Novak
1a62103a08
[client,sdl] add support for win32 executables
...
Allow building with support for console or WinMain applications
2023-07-20 14:25:08 +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
97415f0d52
[client,sdl] add user dialogs
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
fifthdegree
d309fcd6e8
Restructure Azure AD related stuff
...
- Move responsibility for obtaining access tokens to clients
- Add function for getting access tokens for AVD
- Get correct server hostname during AVD setup
- Add utility function for doing http requests
2023-07-20 14:20:28 +02:00
Pascal Nowack
d7d3055b5f
X11/cliprdr: Rework server to client clipboard handling
...
The purpose of clipboard data locking is to make the other peer
retaining the current file list until a pending paste operation is done,
even though the clipboard selection changed.
As it may be difficult to determine, when a lock is needed, imitate the
same behaviour as mstsc:
When the server side supports clipboard data locking, always attempt to
lock the file list on the server regardless of what is advertised in a
FormatList PDU.
The Lock Clipboard Data PDU can even be already sent, before the
Format List Response PDU is sent.
This is also what mstsc, does: First, lock the new (potential) file
list, then unlock the file list, when the pending paste operation is
done.
So, rework the current clipboard implementation in that direction.
Since the implementation for timeouts for old file lists is a bit hard,
for now always force unlock pending locks, when the selection changes.
However, timeouts for old file lists can still be added in the future.
The reworked clipboard handling is done with the help of three hash
tables:
1. The inode table: This hash table manages all inodes for each file.
The keys in this table are the inodes themselves, while the values
the files and directories and their attributes (file size, last write
time, etc.).
2. The clipdata table: This table manages the locks for each file list.
The keys in this table represent the clip data id and the values the
clip data entries, which have a reference to the clip data dir, a
directory containing the whole selection, and some helper attributes,
like the clip data id itself.
3. The request table: Every file size or file range request is managed
here. When a FileContentsRequest is made, its stream id with the
respective details are added to this table. When a response is
received, these details can then be easily looked up here.
2023-07-20 11:36:11 +02:00
2fly2
7f3390ef88
fix the issue of incorrect display of remote desktop cursor
...
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setcursor
"If your application must set the cursor while it is in a window, make sure the class cursor for the specified window's class is set to NULL. If the class cursor is not NULL, the system restores the class cursor each time the mouse is moved."
2023-07-19 08:21:43 +02:00
Armin Novak
9cfde30ec0
[client,windows] implement AuthenticateEx
...
the newer callback provides more options (e.g. smartcard pin, ...)
2023-07-17 14:09:44 +02:00
dev
a4f9702ad6
[clien,mac] fix clipboard text copy
...
* copy format changed
* copy length was off
2023-07-17 10:41:46 +02:00
akarl10
b6f18e0559
[client,aad] simplification and heap-overflow fix
2023-07-12 09:45:16 +02:00
Armin Novak
10e010329c
[client,file] add WebAuthN rdp file parsing support
2023-07-10 10:45:28 +02:00
Armin Novak
7dbf7cec68
[client,x11] fix RAILS image paste, fixes #7276
2023-07-10 10:26:55 +02:00
akallabeth
b033259c7a
[client,common] fix rdp file key names
2023-07-05 10:47:45 +02:00
akallabeth
c74a18c622
[client,file] refactor RDP file parser
...
* Only print warnings for settings parsed but support not compiled in
* Use constants for key values
2023-07-04 10:04:35 +02:00
Martin Fleisz
622a2a8df0
misc: More int to BOOL conversion fixes
...
This is a follow up to #9129 .
This PR fixes some problematic `int` to `BOOL` conversions that might
cause overflows when checking for bit flags.
2023-07-04 09:45:20 +02:00
Armin Novak
fe987091f4
[client,x11] add signal cleanup handler for pipe
2023-07-03 13:21:43 +02:00
akallabeth
3dbd9c7eeb
[client,x11] fix unicode input
...
key up and down events were reverted
2023-07-03 13:21:43 +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
Armin Novak
8822ad53c1
[client,x11] fix memory leak
2023-07-03 10:19:34 +02:00
akallabeth
9565ff4b29
[client,x11] restrict pointer move to active window
2023-07-03 10:00:29 +02:00
akallabeth
32b60ae438
[pointer] unify mouse pointer settings
2023-07-03 10:00:29 +02:00
akallabeth
7397fa4ae5
[client,common] fix uninitialized variable
2023-06-29 14:30:09 +02:00
akallabeth
2810a3702c
[client,common] fix missing return
2023-06-28 09:45:09 +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
Armin Novak
93423eaf11
[client,common] move pen detection to client common
2023-06-26 11:22:32 +02:00
Hodol Han
c278170a2a
[client,x11] Reinit xinput input event masks on device changes
...
Reinitialize xinput input event masks to get events from newly plugged
devices after setup. We utilize XI_DeviceChanged and XI_HierarchyChanged
event types to handle device changes.
2023-06-23 08:36:09 +02:00
Armin Novak
732bd37307
[client,android] enable unicode input
2023-06-23 08:18:16 +02:00
Armin Novak
db661798f1
[client,common] fix multitouch detection
2023-06-22 11:46:56 +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
digitalsignalperson
edee918dac
remove unused variable, remove comment, add missing return statement
2023-06-21 22:59:53 +02:00
digitalsignalperson
84e1148bf1
Forcing PenHoverCancel allowed the eraser hover icon to apprear consistently after using the eraser, but fast writing with the pen would miss some line segments. Reverting to where it all works, but the hover icon doesn't display eraser correctly most of the time after erasing something
2023-06-21 18:42:38 +02:00
digitalsignalperson
9c7a541d9c
Implement pen functionality for X11, including pressure, hover, and eraser
2023-06-21 18:42:38 +02:00
akallabeth
1fc0d5b4b1
[winpr] remove casts for winpr_RAND calls
2023-06-21 09:57:52 +02:00
Armin Novak
04fa5b3033
[client,mac] update to use AuthenticateEx
2023-06-19 10:08:59 +02:00
fifthdegree
5dd1363b8e
Fix format issue in building url for sdl webview
2023-06-19 08:42:33 +02:00
Dan Holliday
f2ae9c00be
Added the ability to quite the RDP session by pressing "r-ctrl + shift + D". The reason for this is when in full screen I have no way to exit from xrdp if I don't want to close my session.
2023-06-14 08:49:21 +02:00
Dan Holliday
72b614262f
Fixed some incorrect key mappings with. I found that the "+/=" key on a UK keyboard didn't do anything. I also found that the "+" key on the keypad acted as if it was the "+/=" key. I've corrected some of the keycodes and confirmed that they keyboard functions as expected.
2023-06-14 08:49:21 +02:00
Armin Novak
b05eacb99e
[build] fixed compilation warnings
2023-06-08 08:13:16 +02:00
Armin Novak
970f0c54e8
[stream] use const correct Stream_Pointer access
2023-06-08 08:09:33 +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
Armin Novak
a0fd9cf957
[client,sdl] encapsulate c++ context
...
to properly initialize c++ us a heap allocated wrapper class
2023-06-05 14:15:03 +02:00
Armin Novak
da7c3b688f
[client,sdl] use unique_ptr for SDL_Surface et al
2023-05-31 11:29:21 +02:00
Armin Novak
68995ddffb
[client,sdl] wrap WinPR event in class
2023-05-31 11:29:21 +02:00
Armin Novak
ccbcc4cb65
[client,sdl] wrap critical section in class
2023-05-31 11:29:21 +02:00
Armin Novak
63ed6dc771
[client,sdl] use std::thread
2023-05-31 11:29:21 +02:00
Armin Novak
16cbe8882d
[client,sdl] unique_ptr for input
2023-05-31 11:29:21 +02:00
Armin Novak
1a74d832de
[client,sdl] unique_ptr for display channel
2023-05-31 11:29:21 +02:00
Armin Novak
324e8c7813
[client,sdl] use SDL_WaitEvent
2023-05-31 11:29:21 +02:00
Armin Novak
3e44efc841
[cmake] use FindX11 from CMake 3.13
2023-05-31 11:05:56 +02:00
akallabeth
28b0821ec6
[cmake] build xfreerdp standalone project
2023-05-31 11:05:56 +02:00
Armin Novak
481ba1581c
[client,sdl] fixed warning in webview
2023-05-30 15:42:39 +02:00
Armin Novak
4545783dff
[client,x11] always only send available clipboard
2023-05-30 13:42:28 +02:00
akallabeth
f941a1ec8e
[cmake] unify RPATH settings and client deps detection
2023-05-26 11:38:32 +02:00
akallabeth
dc5ec9c196
[cmake] sfreerdp-client standalone build
2023-05-26 11:38:32 +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
b8f7b59fff
[warnings] fix casts and return
2023-05-24 08:24:32 +02:00
akallabeth
9f2d22c975
[client,sdl] refactor webview
2023-05-24 08:24:32 +02:00
akallabeth
9b112be058
[warnings] fix -Wold-style-cast
2023-05-24 08:24:32 +02:00
akallabeth
4ee6cfe13a
[warnings] fix -Wmissing-prototypes
2023-05-24 08:24:32 +02:00
akallabeth
b598386928
[warnings] fix -Wnewline-eof
2023-05-24 08:24:32 +02:00
akallabeth
3ff34c03a0
[warnings] fix -Wwritable-strings
2023-05-24 08:24:32 +02:00
akallabeth
df76b59da7
[warnings] fix -Wshadow
2023-05-24 08:24:32 +02:00
akallabeth
9f1b13cf0a
[warnings] fix -Wsuggest-override
2023-05-24 08:24:32 +02:00
akallabeth
18cde293e8
[warnings] fix -Wmissing-field-initializers
2023-05-24 08:24:32 +02:00
akallabeth
c355b2656b
[warnings] fix -Wextra-semi
2023-05-24 08:24:32 +02:00
akallabeth
8e51463a7e
[warnings] fix -Wzero-as-null-pointer-constant
2023-05-24 08:24:32 +02:00
akallabeth
d4fc9d5327
[client,common] auto reconnect abort early on cancel
2023-05-23 08:51:41 +02:00
akallabeth
2ec4601669
[cmake,sdl] use option instead of set
2023-05-23 08:51:18 +02:00
Armin Novak
a8476b8688
[cmake] fix qt5 find_package and linking
2023-05-23 06:04:55 +02:00
fifthdegree
449b96adb2
Use popup browser for AAD auth in SDL client
...
Optionally build the SDL client with Qt WebEngine to create a popup
browser for authentication to AAD. Also change the URL output on the
command line to use the "nativeclient" redirect for easier copy/pasting
of the authorization code.
2023-05-23 06:04:55 +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
a78182c425
[client,sdl] unify primary surface cleanup
2023-05-12 14:41:28 +02:00
akallabeth
1b28ed7c9c
[client,sdl] fix blend mode
...
override blend mode on initial fill
2023-05-12 14:41:28 +02:00
akallabeth
4a006322af
[winpr,clipboard] fix url unescape for file uri
2023-05-12 13:57:56 +02:00
akallabeth
52786d0f12
[input] update to use new WINPR_KEYBOARD_TYPE*
...
* Use new enum constants with WINPR_KEYBOARD_* prefix
* Fix mapping of keycodes and scancodes, the offset of 8 is no longer
required if the proper keyboard type is used.
2023-05-12 09:52:01 +02:00
Armin Novak
4be82bf085
[client,common] print smartcard list info
...
if a reader is detected, print out the number of (valid) certificates
detected. This avoids #8953 empty output if there are no valid
certificates installed on a smartcard.
2023-05-12 08:06:45 +02:00
akallabeth
2b3c8c47a4
[build] fix install with BUILD_SHARED_LIBS=OFF
...
generate proper CMake targets so static linking works again.
2023-05-12 08:03:56 +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
akallabeth
516668d02b
[fclose] ensure no invalid pointers are passed.
...
fclose has undefined behaviour for NULL pointers, so check for these.
2023-04-28 07:39:35 +02:00
Armin Novak
e0aec72d71
[pkg-config] unify exec_prefix
2023-04-24 22:01:15 +02:00
Bernhard Miklautz
d1069b3bc1
new: use prefix in pkg-config files for libdir
2023-04-24 11:19:01 +02:00
akallabeth
dd57de8e19
[client,sdl] add function to context
2023-04-19 11:04:13 +02:00
akallabeth
0627baa939
[client,sdl] move functions to proper place
2023-04-19 11:04:13 +02:00
akallabeth
01293f4c3f
[client,sdl] migrate sdl_kbd to class
2023-04-19 11:04:13 +02:00
akallabeth
63606b3c7c
[client,sdl] migrate display channel to class
2023-04-19 11:04:13 +02:00
akallabeth
05a2291861
[client,sdl] split sdl_freerdp.hpp
2023-04-19 11:04:13 +02:00
Armin Novak
26ee0590d6
[client,sdl] use CriticalSectionLock
...
use c++ RAII to lock critical sections
2023-04-19 11:04:13 +02:00
Armin Novak
86470103c4
[client,sdl] rename c++ headers to hpp
2023-04-19 11:04:13 +02:00
akallabeth
c35b41c05d
[client,sdl] rename update trigger helper class
2023-04-19 11:04:13 +02:00
Armin Novak
f5453aa952
[client,sdl] standalone build
...
* move to c++
* build out of tree
2023-04-19 11:04:13 +02:00
Pascal Nowack
7fce527cff
client/X11: Fix IO errors during server to client file transfer
...
When receiving a file list, xfreerdp3 rebuilds the content of the FUSE
filesystem.
Since fetching uri-lists can happen during a paste action too, xfreerdp3
caches the content of the last fetched mime type.
However, uri-lists exists in different variations, e.g. nautilus uses a
different mime type, than gnome-terminal does.
Furthermore, FormatLists can also contain other formats in addition to
file lists.
Fetching those contents during a paste operation leads to IO errors in
the paste operation.
In order to fix those errors, cache every mimetype in two hash tables:
One for the raw (unconverted) data, and one for the converted data.
When a content request is received, xfreerdp3 can with the already
cached converted data, directly serve the data.
If the content is not available as cached data, but its source data was
already fetched, use that source data to create the converted data.
Then serve the converted data.
Only if no cached converted data or cached raw data is available, issue
a new FormatDataRequest.
2023-04-17 08:33:53 +02:00
Armin Novak
3c3c996974
[client,common] do not insist on 32bpp for rfx/gfx
2023-04-13 14:35:51 +02:00
Armin Novak
7a283a140a
[client,sdl] improve mouse scroll speed
2023-04-13 13:20:38 +02:00
Armin Novak
91056dc96c
[client,common] fix file clipboard locking
2023-04-11 11:34:19 +02:00
weoses
eb10a060a5
[android] Add UI setting - "Use back button as Alt-f4"
2023-04-05 15:11:29 +02:00
Armin Novak
9f1bcc07b6
[client,windows] use CredUI flag CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS
2023-04-05 11:42:06 +02:00
Armin Novak
1e63d8c493
[utils,passphrase] use CredUI on windows
2023-04-05 11:42:06 +02:00
Armin Novak
659baa905c
[utils] fix windows console read
...
On windows freerdp_interruptible_getc did not work at all. Fix this so
that reading characters works. This still does not hide input for
passwords or is actually interruptible, but at least it reads the data
correctly.
2023-04-05 11:42:06 +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
Pascal Nowack
d9fe2df6b5
client/X11: Only serve cached data when format matches
...
Format lists can contain multiple clipboard formats. When the data for
one is requested, xfreerdp caches it.
When the data for a different format in the same format lists is
requested, xfreerdp cannot use the already cached data, since that data
refers to a different format.
As a result, xfreerdp needs to ask for the data of the now requested
format.
However, this is currently not the case. xfreerdp will just provide the
data of the first request after receiving the last format list.
In order to fix this situation, also save the format id of the last
requested format.
If the format id of the cached data matches the one of the current
request, serve the data from the cached data.
Otherwise, issue a new FormatDataRequest.
2023-04-04 09:05:39 +02:00
Pascal Nowack
1f79eaa831
client/X11: Reintroduce handling for relieving filename restriction
...
Commit 6492a00959
introduced a way to
relieve the filename restriction, which ensured that file lists
containing files with names, that have characters, which are not allowed
on MS Windows.
This relief handling kicked in, when xfreerdp did not connect to MS
Windows RDS.
Commit d521c7fa74
got rid of any
wClipboardDelegate occurrence in xf_cliprdr.c, which also got rid of the
filename restriction relieve handling.
However, the relief handling was not added back, so do it now.
2023-04-04 09:05:39 +02:00
Pascal Nowack
126fb7b2fc
client/cliprdr_file: Fix small typo
2023-04-04 09:05:39 +02:00
akallabeth
a9b4d812b3
[client,common] improve help for /list
2023-03-27 10:28:13 +02:00
luoyuan
37b0defd86
[client,windows]fix: keyboard focus error when minimize window by click taskbar icon
...
Signed-off-by: luoyuan <luoyuan@innosilicon.com.cn>
2023-03-24 08:50:49 +01:00
Armin Novak
19297707e0
[android] fixed build and runtime issues
...
* fixed a return value bug in event handling
* fixed some android manifest issues with newer API
* fixed version parser in java to properly load libraries
2023-03-23 09:58:37 +01:00
akallabeth
9515babd69
[client,windows] unify ctrl & alt down check
2023-03-23 08:46:49 +01:00
bugiii
8967ed1cff
Add CTRL+ALT+Break, remove WM_SYSKEYDOWN
2023-03-23 08:46:49 +01:00
bugiii
bad802b6cd
Update wf_event.c
...
Modified to recognize CTRL+ALT+ENTER using the already implemented keystates array.
2023-03-23 08:46:49 +01:00
Armin Novak
3f5b44ba36
[clients] fix wClipboard locking
2023-03-22 16:28:01 +01:00
akallabeth
a5b42f0f84
[includes] untangled circular includes
2023-03-15 08:22:23 +01:00
akallabeth
a360f1ca8c
[build] fix a few compiler warnings
2023-03-13 13:04:45 +01:00
Armin Novak
39b3847428
[client,windows] fix pointer type
2023-03-13 09:36:07 +01:00
Armin Novak
36a5c39b6b
[build] fix a few warnings
2023-03-13 08:46:51 +01:00
Armin Novak
9f1fc5adaf
[client,common] add /sec:aad to command line help
2023-03-10 16:38:07 +01:00
Armin Novak
233ac929ea
[client,common] use interruptible getline
2023-03-10 16:38:07 +01:00
akallabeth
f5423caace
[auth,aad] add freerdp* argument to callback
2023-03-10 16:38:07 +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
c23dc3ba9d
[CMake] Fix use of BUILD_SHARED_LIBS
...
the option is named BUILD_SHARED_LIBS and not CMAKE_BUILD_SHARED_LIBS
2023-03-10 11:40:08 +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
akallabeth
151baa9ae5
[client,sdl] fix va_arg casts to match void* size
2023-03-09 11:17:37 +01:00
akallabeth
22f5bd48c4
[client,wayland] fix function arguments to match
...
the function pointer expected different arguments from the one provided.
2023-03-09 11:17:37 +01:00
akallabeth
387dcd4001
[client,sdl] fix missing type cast
2023-03-09 11:17:37 +01:00
akallabeth
6646ff9eb0
[client,common] fix wrong arguments for file clipboard
2023-03-09 11:17:37 +01:00
Martin Fleisz
093bf79837
common:: Fix const issues with current rdp file API
2023-03-08 14:08:34 +01:00
Martin Fleisz
ee06d70bfe
common: Fix handling of networkautodetect rdp file setting
...
According to
https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/rdp-files#session-behavior
both, `bandwidthautodetect` and `networkautodetect` are now enabled with
a value of 1 and disabled with a value of 0.
Earlier rdp files interpreted the `networkautodetect` setting inverted.
2023-03-07 15:42:40 +01:00
Martin Fleisz
b3ae857805
common: Minor code cleanup of rdp file handling
...
This PR contains various changes to rdp file handling:
The old code had a strange mixture of handling settings. When loading a
file every line of the file was cached in `rdpFile::lines`. Sometimes
functions would operate on these cached lines, sometimes they would
operate on the actual values in the `rdpFile` instance.
On the other hand if an `rdpFile` instance was created from
`rdpSettings`, this line cache simply did not exist, causing functions
to behave differently, depending on whether the instance was created by
reading a file or by populating it from `rdpSettings`.
The new implementation has now a single way of accessing values (
`find_integer_entry`/`find_string_entry`) and the `rdpFile::lines` data
is used to handle unknown settings.
The PR also adds some argument checking and assertions.
2023-03-07 15:42:40 +01:00
Armin Novak
f01aaab35a
[client,x11] fix variable shadow
2023-03-07 07:51:52 +01:00
Armin Novak
c016562478
[client,x11] enable XSync with debug builds
2023-03-07 07:51:52 +01:00
Armin Novak
8fdd261d25
[client,x11] install X11 error handler
...
always install a custom X11 error handler to log the issue and location
in code.
2023-03-07 07:51:52 +01:00
Armin Novak
0b048e247e
[client,x11] add Safe_XGetAtomName
2023-03-07 07:51:52 +01:00
Armin Novak
05134dc3a0
[client,x11] log location for wrapped X11 calls
2023-03-07 07:51:52 +01:00
Armin Novak
26d1fff864
[client,x11] wrap XGetWindowProperty
...
use a logging version of the function to diagnose issues
2023-03-07 07:51:52 +01:00
Armin Novak
87a91eb0c6
[client,x11] wrap XDeleteProperty
...
wrap function calls to logging version for debugging.
2023-03-07 07:51:52 +01:00
Armin Novak
684558d6d7
[client,x11] wrap XChangeProperty
...
to debug bug reports occuring only with certain setups wrap the function
call with a logging edition so we have the arguments available in the
log for debugging.
2023-03-07 07:51:52 +01:00
Armin Novak
af23e8f9a0
[client,sdl] lock updates
...
use a critical section to lock SDL related data updates
2023-03-07 07:51:36 +01:00
Armin Novak
fc964e857e
[client,common] fix function name clash
...
log is an intrinsic function on windows, rename to writelog
2023-03-06 14:02:30 +01:00
Martin Fleisz
912b30ba06
common: Fix parsing of rdp file domain info
...
`freerdp_parse_username` always returns non-NULL domain information when
called. This currently results in `settings->domain` being overridden in
every case, even though we might have read domain information from the
file before.
This PR fixes this issue by checking if domain information was present
in the file and if not use the parsed domain informatin.
2023-03-06 11:41:22 +01:00
Armin Novak
77943d4329
[warnings] Fixed missing-prototypes warnings
2023-03-06 10:04:59 +01:00
Armin Novak
2eeb5d718a
[warnings] Fixed shadow warnings
2023-03-06 10:04:59 +01:00
Armin Novak
4450af84d1
[warnings] Fixed sizeof-pointer-memaccess warnings
2023-03-06 10:04:59 +01:00
Armin Novak
3d8cb485f4
[warnings] Fixed strict-prototypes warnings
2023-03-06 10:04:59 +01:00
Armin Novak
24b3d0c9f3
[warnings] Fixed unused-label warnings
2023-03-06 10:04:59 +01:00
Armin Novak
2da605ef18
[client,common] fix missing return
2023-03-05 17:55:28 +01:00
Armin Novak
d7c55d76df
[client,x11] fixed missing NULL check in clipboard
2023-03-05 17:55:28 +01:00
Armin Novak
cc65f5db31
[client,x11] fixed clipboard data cache
2023-03-05 17:55:28 +01:00
Armin Novak
f7682a5e79
[client,common] fix fuse inode creation, add logging
2023-03-05 17:55:28 +01:00
Armin Novak
a5fb3ad40a
[client,common] fixed fuse linking
2023-03-05 17:55:28 +01:00
Armin Novak
7722961fcc
[client,common] simplify file clipboard API
2023-03-05 17:55:28 +01:00
Armin Novak
e3099fbbd0
[client,common] fixed compile without fuse
2023-03-05 17:55:28 +01:00
Armin Novak
46f1d141c1
[client,common] fixed winpr clipboard locking
2023-03-05 17:55:28 +01:00
Armin Novak
6d2e7b91c7
[client,common] cliprdr file copy client to server
...
* better logging of failures
* do not keep FILE* open to avoid running out of file handles
2023-03-05 17:55:28 +01:00
Armin Novak
bfea14a5b1
[cliprdr] deactivate local file paste if not supported
...
if the file clipboard was compiled without FUSE do not announce the
availability.
2023-03-05 17:55:28 +01:00
Armin Novak
0fb242da7b
[client,x11] properly initialize file clipboard
2023-03-05 17:55:28 +01:00
Armin Novak
b526078c3c
[client,wayland] add file clipboard
2023-03-05 17:55:28 +01:00
Armin Novak
a3f6e3603c
[client,common] fuse clipboard server to client
2023-03-05 17:55:28 +01:00
Armin Novak
39c06a4683
[client,common] fix file copy client to server
2023-03-05 17:55:28 +01:00
Armin Novak
8e7619502b
[client,common] refactored fuse clipboard
...
* use proper permissions (no read/write for group and others)
* handle streamID for multiple simultaneous copy/paste operations
* properly handle requests with a queue
2023-03-05 17:55:28 +01:00
Armin Novak
a230c6b1dc
[client,cliprdr] use hash table for remote streams
2023-03-05 17:55:28 +01:00
Armin Novak
ba128f4661
[client] move file clipboard to client common
2023-03-05 17:55:28 +01:00
Armin Novak
d521c7fa74
remove wClipboardDelegate
2023-03-05 17:55:28 +01:00
Armin Novak
5829079756
[client,windows] remove calls to now private functions
2023-03-05 17:03:18 +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
ffc4d419db
[client,sdl] fix uninitialized variable cleanup
2023-03-01 13:45:13 +01:00
Armin Novak
8af35bd42a
[client] add deprecation/experimental warnings
2023-03-01 13:45:13 +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
akallabeth
273bb6a7a8
[build] use static libraries as intermediate
2023-03-01 08:18:34 +01:00
akallabeth
b4e9c8b39f
[build] removed complex libraries
...
* remove obsolete complex libraries helper
* fix static linking
2023-03-01 08:18:34 +01:00
Armin Novak
b2fa6da8d2
[client,x11] fix fuse2 compatibility
2023-02-28 09:47:54 +01:00
Armin Novak
e673405711
[client,x11] split file clipboard to own struct
...
* split file clipboard to own file
* check for changed file data in cliprdr_file_context_update_data,
prevents duplidate entries in fuse filesystem
2023-02-28 09:47:54 +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
ae8f7c272d
[client,x11] fixed clipboard data cache
...
clean only cached data not the fuse cache if other formats are requested
2023-02-28 09:47:54 +01:00
akallabeth
1ba8d826f8
[client,x11] add some debug logs, fix warnings
2023-02-28 09:47:54 +01:00
akallabeth
3d9969ef65
[client,x11] export x11_event_string
2023-02-28 09:47:54 +01:00
akallabeth
adce7378c3
[core,cache] make protocol caches private
...
most protocol internal caches do not need to be exposed. this reduces
the public API and allows us to more easily improve/change this during a
release cycle
2023-02-27 17:31:52 +01:00
Armin Novak
f0e9797b4c
[build] require CMake >= 3.13
...
required for target_link_options
2023-02-27 11:18:02 +01:00
Armin Novak
f357312584
[utils] term signal cleanup handlers
...
add functions to register/unregister termination cleanup handlers
2023-02-23 20:28:15 +01:00
Armin Novak
64efb7ecfd
[client,x11] fail build on manpage generation
...
if manpages should be build but dependencies are missing fail the build
2023-02-23 20:28:15 +01:00
Armin Novak
078162616d
[client,x11] split clipboard formats
...
* a format to request
* a local format to convert to
* add logging
2023-02-23 20:28:15 +01:00
Armin Novak
b8a709ccda
[client,x11] fixed file clipboard cache
...
if files are pasted in different file-browser (or e.g. xclip is used)
the data was retrieved in wrong format.
2023-02-21 16:42:54 +01:00
Armin Novak
1522b5aa91
xx
2023-02-21 16:42:54 +01:00
Armin Novak
fe3de9b9bf
[client,x11] log fuse_session_loop errors
2023-02-21 16:42:54 +01:00
Armin Novak
68d3bcb99a
[clipboard] remove linux specifics from channels/cliprdr.h
2023-02-21 16:42:54 +01:00
Armin Novak
10bf44c112
[client,x11] use fuse_root_id
2023-02-21 16:42:54 +01:00
Armin Novak
ded270e167
[client,x11] fix fuse file list reset
2023-02-21 16:42:54 +01:00
Armin Novak
9b174c50c9
[client,x11] add fuse debug messages
2023-02-21 16:42:54 +01:00
Armin Novak
d694733106
[client,x11] fix fuse detection and use
2023-02-21 16:42:54 +01:00
akallabeth
a91b2f4999
[client,sdl] fixed error code mapping
2023-02-21 14:38:34 +01:00
akallabeth
f807af6f8e
[client,sdl] do not wait for SDL to complete
...
when updating the window surface in sdl_end_paint do not wait for
completion of the operation. The check is done in sdl_begin_paint, so
the RDP stack can continue processing other data on queue until a
graphic operation needs to be processed.
2023-02-21 14:38:34 +01:00
akallabeth
82a0eab71f
[client,sdl] add debug options
2023-02-21 14:38:34 +01:00
akallabeth
e3a7eaf39a
[client,sdl] run sdl in main thread.
2023-02-21 14:38:34 +01:00
akallabeth
ab5be61e89
[client,common] working REDIRECTION_VERSION6
...
* REDIRECTION_VERSION6 requires enabled multitransport, enable it
* Add a fallback if multitransport was disabled
2023-02-20 16:04:04 +01:00
Martin Fleisz
1bec63c2f2
client/win: Fix invalid ShowWindow call from gfx thread
...
ShowWindow must be called from the thread that owns the window.
Currently it might be called from the gfx channel thread which causes
random app hangs/window not showing up issues.
2023-02-16 10:41:21 +01:00
akallabeth
45dfeabe92
[client,common] set default callbacks before ClientNew
...
ohterwise the default callbacks might override custom callbacks set by
an implementation by accident
2023-02-16 08:16:09 +01:00
Armin Novak
25023d3a3a
[client,scard] fix missing callback instance arg
...
every callback requires context, add freerdp* instance just as the
Authenticate et al callbacks already have
2023-02-15 13:34:18 +01:00
Armin Novak
5d97a03bf4
[client] auto intialize callbacks
...
initialize all message/user query callbacks with client_cli_*
2023-02-15 13:34:18 +01:00
akallabeth
caaf4edffa
[clients] clean up .gitignore
...
too much was ignored, clean up the list
2023-02-15 13:34:18 +01:00
akallabeth
ff3c7c82ee
[client,x11] fix /gdi:hw drawing.
2023-02-14 09:30:45 +01:00
akallabeth
7728df6804
[client,mac] fix wrong getter for ServerPort
2023-02-12 20:17:11 +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
akallabeth
4499a55f43
[core,smartcardlogon] use rdpCertificate
2023-02-12 20:17:11 +01:00
akallabeth
2eda0aa2ea
[core,settings] remove unused setting
2023-02-03 11:24:32 +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
57698ed1f9
[client,common] fixed possible memory leak
2023-02-03 11:08:46 +01:00