Commit Graph

4202 Commits

Author SHA1 Message Date
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