Commit Graph

3612 Commits

Author SHA1 Message Date
Armin Novak
339cdded45 Fixed memory sanitizer warnings 2022-01-11 14:32:18 +01:00
Armin Novak
d0986489dd Fixed leaks and type mismatches for wayland client 2022-01-11 12:47:05 +01:00
akallabeth
803dd8f6ff Added options for certificate file based smartcard logon 2022-01-11 12:34:43 +01:00
akallabeth
8c543b1de2 Added smartcard emulation layer 2022-01-11 12:34:43 +01:00
Armin Novak
be5ace1123 Fixed #7529: Adjust windows client update area
When scrollbars are used, the update area needs to be adjusted.
2022-01-10 13:09:36 +01:00
Armin Novak
3700ccbfc8 Fixed #7520: remove trailing '\0' from clipboard data 2022-01-10 10:00:19 +01:00
Armin Novak
d1d8d606ef Add credui to windows client link libraries 2021-12-23 14:27:12 +01:00
Armin Novak
f9c91f69b4 Removed winpr credui includes 2021-12-23 14:27:12 +01:00
Armin Novak
fd5ac4eed0 Cleaned up wnd.h includes 2021-12-23 14:27:12 +01:00
Armin Novak
a0fa7307bd Removed unused variable 2021-12-20 08:11:00 +01:00
akallabeth
4a4d783d4f
Moved clipboard custom context checks to implementation (#7501) 2021-12-17 13:47:20 +01:00
akallabeth
298d32164c Removed recursive xf_lock_x11 warning 2021-12-16 12:54:53 +01:00
Marek Vasut
1a1056d76d client: wayland: Fix mouse event fallback pointer flags
In either case of wlf_handle_touch_up()/wlf_handle_touch_down(), the
UINT16 flags are set to fixed values, so there is little reason for
checking presence of specific flag in them again. The conditional is
always true no less, so just call freerdp_input_send_mouse_event().

Moreover, the flags submitted to the remote are wrong. The code should
send BUTTON1/DOWN/MOVE on wlf_handle_touch_down(), so the remote would
pick not only the button down event, but also the coordinate update,
else the remote would receive a mouse click at the wrong coordinates.
The wlf_handle_touch_motion() should update the pointer location too,
make it send plain MOVE event.

Signed-off-by: Marek Vasut <marex@denx.de>
2021-11-29 15:47:23 +01:00
Marek Vasut
487894b5bb client: wayland: Move RDPEI assertion past RDPEI availability check
The wlf_handle_touch_down() implements fallback to mouse event submission
in case RDPEI is not available. This fallback is currently never reached,
because the WINPR_ASSERT(rdpei); triggers before the fallback conditional
is reached.

Move the WINPR_ASSERT(rdpei); after the RDPEI availability check to permit
the fallback to do its job.

Signed-off-by: Marek Vasut <marex@denx.de>
2021-11-29 15:47:23 +01:00
Ely Ronnen
4053ac37f3 fixing android pointer not initialized when calling realloc 2021-11-29 07:49:42 +01:00
jackyzy823
90b1b3d540 x11: Add size in xf_cliprdr_fuse_getattr resopnse 2021-11-25 12:24:50 +01:00
akallabeth
55f32bec8f Log tty mode for windows client 2021-11-24 10:18:49 +01:00
Armin Novak
bbfa21faa0 Fixed wf_Pointer_New
0 length allocations with _aligned_malloc do not return NULL
2021-11-16 08:27:24 +01:00
David Fort
67986ea298 Fix compilation with mingw
This patch addresses some issues when compiling against mingw. With these changes
FreeRDP can be compiled out-of-the box on a Ubuntu 20.04.
2021-11-15 09:23:16 +01:00
Guillaume Démurgé
8e334d3bfd Added app_id on wayland client 2021-11-12 15:58:39 +01:00
Alexandru Bagu
a131949001 temporary trust certificate when helped by local cert store 2021-11-02 09:52:23 +01:00
Alexandru Bagu
391f2f7c4a no need to check for null on derPubKey 2021-10-23 12:19:05 +02:00
Alexandru Bagu
81343835e7 update wf_report_error
using dynamically allocated derPubKey as the pem length can vary
moved declarations to the top of the function in wf_verify_certificate_ex
2021-10-23 12:19:05 +02:00
Alexandru Bagu
72d22b2236 add option to validate certificates against windows certificate store 2021-10-23 12:19:05 +02:00
Alexandru Bagu
86e1865ef4 move taskBarList into wfc
use TRUE instead of true
2021-10-22 11:38:20 +02:00
Alexandru Bagu
3bc38aaf23 remove progress bar after window is visible
* set higher limits for width/height (widescreens are a thing now)
2021-10-22 11:38:20 +02:00
Alexandru Bagu
b5805cadbf add progress bar to taskbar icon (enabled by default)
alternative is to not have the window shown (even in taskbar) until we have video data
2021-10-22 11:38:20 +02:00
Alexandru Bagu
f574497490 enable support for /video and /geometry for win32 2021-10-20 19:19:49 +02:00
Alexandru Bagu
07ea60e960 add optional support for win32 console
* add option to build as console by using WITH_WIN_CONSOLE
* add passphrase read from stdin for Win32
* fix windows authentication with stdin password
* allow redirected stdin to be used for stdin input
* flush stdout to help with automation
* use stdin when /from-stdin is present
* add error log for stdin flag but stdin redirected
2021-10-20 08:35:16 +02:00
Armin Novak
17d40edf5b Added /video support for wayland client 2021-10-18 10:53:05 +02:00
Armin Novak
41d77cae46 Fixed /video buffer alignment, added assertions 2021-10-18 10:53:05 +02:00
Armin Novak
7d80c74e97 Cleaned up RDPDR channel interhitance
* All channels inheriting from RDPDR_DRIVE base struct
* Add functions to create/free a new device of a type
* Fixed settings array resize code, prevent 0 sizes
2021-10-18 09:21:02 +02:00
akallabeth
c627e2196f Improved warning for removed legacy command line 2021-10-15 14:53:39 +02:00
Armin Novak
73fbbcf0fb Fixed const warnings 2021-10-14 13:04:59 +02:00
Armin Novak
9444dab58a Renamed global argument struct 2021-10-14 13:04:59 +02:00
Armin Novak
f8bf4b0009 Fixed const correctness of command line functions 2021-10-14 13:04:59 +02:00
Armin Novak
0816d32823 Fixed varialbe integer type warning 2021-10-14 13:04:59 +02:00
akallabeth
6ea5823a16 Fixed #6722: Wayland client mouse coordinates
The function scale_signed_coordinates did use addresses instead of
values
2021-10-14 12:11:44 +02:00
akallabeth
98977336fd
Drop legacy command line (#7348) 2021-10-14 08:25:46 +02:00
akallabeth
22484ee495 Fixed missing NULL check in mappedGeometryUnref 2021-10-14 08:21:15 +02:00
akallabeth
6c58e821dd
Do not write usbdevicestoredirect if the string is NULL (#7347) 2021-10-12 11:04:09 +02:00
Ian Weir
aa4c3dfb8a Add exit codes for more errors 2021-10-11 08:27:41 +02:00
akallabeth
6ac4cad8dd
Settings fixes (#7335)
* Fix temporary settings allocation for command line

Detection of legacy command line requires a temporary settings
struct. This was previously manyally allocated instead of using
freerdp_settings_new and freerdp_settings_free.

* Fixed CommandLineParseCommaSeparatedValuesEx

The name argument was not copied into the returned array.
2021-10-07 13:43:12 +02:00
Armin Novak
b3209fe2b9 Fixed #7326: Ensure proper window size
When leaving fullscreen with enabled smart sizing the window size
did shrink due to first resizing the window, then enabling window
decorations and finally moving to the correct position.
2021-10-05 10:56:33 +02:00
akallabeth
03a9ca80c8
Refactor proxy (#7312)
* Added hidden transport dump and replay options

* Added settings to enable transport dump and replay
* Added check in freerdp_connect to skip authentication on
  dump replay

* Fixed proxy issues

* Proper shutdown handling
* Uninitialized variables
* Skip proxy-client channels, initialize from peer channels and
  config
* Filter static channels like dynamic ones
* Added proxy module filtering from config data (channels, input, ...)

* Removed oboslete proxy decoding related files

* Added defines for RDPECAM channel

* Added proxy config options:

* VideoRedirection
* CameraRedirection

* Fixed duplicate channel free
2021-09-23 14:52:03 +02:00
akallabeth
e4cd8674d7
Win proxy fix (#7311)
* Do not change warning level for MSVC builds

* Fixed windows PDB paths.
2021-09-22 16:00:00 +02:00
akallabeth
e0a531f728
Channel fixes (#7309)
* Added missing CHANNEL_NAME defines.

* Fixed FreeRDP_ChannelDefArray setter

* Fixed code duplication due to merge error

* Added public function freerdp_channels_from_mcs

* Fixed const correctness in mcs
2021-09-22 14:27:21 +02:00
akallabeth
1c84690c2f
Fixes from tests (#7308)
* Fixed memory leak in tls_verify_certificate

* Fixed missing NULL checks

* Fixed missing checks for FreeRDP_DeactivateClientDecoding

* Added WINPR_ASSERT for client common new/free

* Added /disable-output switch to deactivate client decoding

Allows low resource remote connections that do not require visual
feedback. (e.g. load testing/...)
2021-09-21 09:56:56 +02:00
akallabeth
1ca7e1f7a0 Added option to disable graphics decoding in client code path 2021-09-20 10:59:59 +02:00
Hans-Peter Jansen
1d8002f831 Improve fix 2021-09-20 08:13:22 +02:00
Hans-Peter Jansen
ab4b99ec2e Fix X11 floatbar: XGetWindowAttributes returns zero on error 2021-09-20 08:13:22 +02:00
akallabeth
41aaafef77 Added unicode input for xfreerdp 2021-09-17 07:21:45 +02:00
akallabeth
c762aacb3c Fixed XRRGetMonitors leak in xfreerdp 2021-09-13 11:04:03 +02:00
akallabeth
70894c92e7 Added /kbd-scancode-list
Prints a listing of hexadecimal scancodes and the mapping to VK_*
2021-09-10 15:47:08 +02:00
akallabeth
1904020d7f
Some code cleanups and WINPR_ASSERT (#7281) 2021-09-10 09:06:35 +02:00
Armin Novak
673fb46836 Fixed uninitialized warnings 2021-09-10 08:16:25 +02:00
Armin Novak
0fe1e2359e Fixed all reserved-id-macro warnings 2021-09-10 08:16:25 +02:00
Armin Novak
b336751861 Fixed AuthenticateEx issues 2021-09-09 08:53:20 +02:00
Armin Novak
520367b2da Fixed smart sizing
Do not limit resolutions when smart sizing is activated
2021-09-09 08:53:20 +02:00
Armin Novak
0f8c52b9ca Fixed const warnings with argument parser 2021-09-09 08:53:20 +02:00
Armin Novak
d3168a1436 Implemented #4341: Default to /network:auto
If no arguments are supplied, default to the behaviour of
/network:auto. This ensures the default experience is using the
best available graphics options.
As soon as any /network, /bpp, /rfx, /gfx, ... argument is used
only use these.
2021-09-04 18:01:30 +02:00
akallabeth
a485306c9e
Moved global static variables to context (#7264)
xfreerdp and wlfreerdp used global static variables for multitouch input. Use fields in client context instead.
2021-09-01 09:44:11 +02:00
Armin Novak
c073ca8ac8 Use MAXIMUM_WAIT_OBJECTS 2021-08-25 13:41:38 +02:00
Armin Novak
413dcd3c28 Fixed RDPSND_CHANNEL_NAME
RDPSND channel is special, as it has many names.
(e.g. static channel, dynamic channel and UDP one.
Use RDPSND_CHANNEL_NAME to identify the module name instad of
RDPSND_DVC_CHANNEL_NAME
2021-08-25 13:40:47 +02:00
Armin Novak
054f0ea260 Use defines instad of channel names 2021-08-25 10:54:24 +02:00
Armin Novak
5afa592244 Fixed cast-qual warnings 2021-08-24 11:10:51 +02:00
Armin Novak
f515bd4560 Fixed shadowing and type errors 2021-08-24 10:45:57 +02:00
Armin Novak
b7d612d843 Remove variable shadowing 2021-08-02 10:28:06 +02:00
Armin Novak
610396e197 Fixed compilation warnings
Try to get the number of warnings down
2021-08-02 10:28:06 +02:00
Armin Novak
0fc21f51f5 Fixed #7200: /bpp parsing fixed 2021-07-29 18:29:16 +02:00
Armin Novak
7c14196000 Added log message for invalid DrivesToRedirect data 2021-07-29 15:09:53 +02:00
Armin Novak
35474abc24 Fixed setting of primary monitor 2021-07-29 15:09:53 +02:00
Armin Novak
0d79670a28 Fixed missing input checks for file contents request
reported by Valentino Ricotta (Thalium)
2021-07-22 15:10:18 +02:00
liuchenghao
8e87e9d6eb Fix that when the window is minimized, click the dock to restore the window, it cannot be restored normally 2021-07-20 12:23:43 +02:00
Armin Novak
9701346f38 Fixed #7164: android clipboard string termination 2021-07-12 12:02:48 +02:00
Arturo Iacobelli
3649740afd Switched usage to AndroidX libraries. 2021-07-12 12:02:48 +02:00
akallabeth
ea79ab5ff0
Fixed #7152: Android OnVerifyCertificateEx call (#7160) 2021-07-07 10:14:00 +02:00
akallabeth
5a85a824d2 Used settings getter/setter for NSCodec 2021-07-01 11:56:17 +02:00
akallabeth
242f1734ec Fixed dpkg-buildpackage warnings 2021-06-30 11:57:23 +02:00
Ian Weir
a2cf4f591e Add exit codes for logon failure and account locked out 2021-06-28 09:18:17 +02:00
akallabeth
184506db4a
Fixed installation of FreeRDP-ClientTargets.cmake (#7115) 2021-06-24 10:02:02 +02:00
akallabeth
534d30beb3
No deprecated (#7107)
* Removed cmake options disabling compiler warnings

* Added deprecation compile options

* Fixed android client use of deprecated symbols

* Removed obsolete callback
2021-06-22 14:39:10 +02:00
Armin Novak
8ef57bf296 Replaced CMAKE_[SOURCE|BINARY]_DIR with PROJECT_[SOURCE|BINARY]_DIR
Thanks @Pollux42 for the hint in #7096
2021-06-22 08:54:18 +02:00
akallabeth
b453d5e40e Fixed rdtk, uwac and winpr standalone builds 2021-06-22 08:54:18 +02:00
Armin Novak
390e329807 client: Fixed warnings 2021-06-18 11:32:16 +02:00
akallabeth
8d82adb28a Fixed warnings 2021-06-17 10:35:22 +02:00
Armin Novak
2e0d1cc33c Fixed integer warnings, fixed data types 2021-06-17 10:35:22 +02:00
Armin Novak
299c962b28 Fixed warnings 2021-06-17 10:35:22 +02:00
Armin Novak
5fb59a23a9 Fixed lots of compilation warnings and type mismatches 2021-06-16 15:21:56 +02:00
Armin Novak
670cf8512b Fixed missing return value checks 2021-06-16 11:46:42 +02:00
Armin Novak
ccfe0c129e Removed checks already done by WINPR_ASSERT 2021-06-16 11:46:42 +02:00
Armin Novak
31862e60f9 Added missing return checks 2021-06-16 11:46:42 +02:00
Armin Novak
216f65336e Fixed HashTable and ArrayList use errors 2021-06-16 11:46:42 +02:00
Armin Novak
c2bef2bfa9 Fixed return value checks for ArrayList_Append and HashTable_Insert 2021-06-16 11:46:42 +02:00
Armin Novak
924f1bfebd Fixed xfreerdp check against wrong variable 2021-06-16 11:46:42 +02:00
Armin Novak
1e714df24e Renamed macros to avoid windows issues 2021-06-16 11:46:42 +02:00
Armin Novak
d6c84c28fb Renamed ArrayList_Add to ArrayList_Append
* Do not break API silently
2021-06-16 11:46:42 +02:00
Armin Novak
a1c8e4cf85 Refactored ArrayList_Add to conform to other functions 2021-06-16 11:46:42 +02:00
Armin Novak
880c603c26 Renamed HashTable_Add to HashTable_Insert
* Since the changes break HashTable_Add rename it so that it will
  not fail silently
2021-06-16 11:46:42 +02:00
Armin Novak
cb642699c8 Modified HashTable API to be opaque
* Reuse wObject function pointers
* Add missing getters/setters
* Clean up return types, const correctness of arguments
2021-06-16 11:46:42 +02:00
Armin Novak
d36d94766e Replaced assert with WINPR_ASSERT 2021-06-14 09:37:07 +02:00
Armin Novak
140dffade6 Removed unnecessary allocation 2021-06-02 17:22:20 +02:00
Armin Novak
0c0c97d80f Fixed missing include for legacy os 2021-06-02 17:22:20 +02:00
Armin Novak
019d26d9bb Moved static wf_event.c variables to client context 2021-06-02 17:22:20 +02:00
Armin Novak
e79de5b2b3 Added dynamic resolution patch
Provided in https://github.com/FreeRDP/FreeRDP/issues/7072
by @277hz
2021-06-02 17:22:20 +02:00
Martin Fleisz
be1a1dcbe0 client: Fix writing of untouched rdp settings to rdp files
Since the last change untouched string settings were written to the rdp
file because their default value was set to NULL instead of ~0. This
resulted in settings being written to the rdp file with a value of
"(null)" instead of just being skipped.
2021-06-02 12:57:31 +02:00
Biswapriyo Nath
173ab04b59 Use same data types as calling function prototypes. 2021-05-31 13:38:19 +02:00
akallabeth
6b36c6d417
Replace fopen and path functions with wrappers (#7043)
Functions like fopen, PathFileExists, PathMakePath need to call
the wide character versions on windows for utf-8 support.
2021-05-31 11:42:03 +02:00
Biswapriyo Nath
fb9b9d2e57 client: Remove UTF-8 BOM character in RC file. 2021-05-25 09:41:44 +02:00
Biswapriyo Nath
37bbf9d218 CMake: Install DLLs in bin folder.
In Win32 platform, executables and runtime libraries need to be in one folder.
2021-05-25 09:41:44 +02:00
Armin Novak
1d53117508 Fixed async-input quit 2021-05-20 15:08:40 +02:00
Armin Novak
6f2c6625e4 Added FREERDP/WINPR prefix to define GIT_REVISION 2021-05-18 13:37:34 +02:00
Armin Novak
2b19576fc7 Fixed compiler warnings, function arguments and const parameter 2021-05-18 13:37:34 +02:00
David Fort
4753c64038 X11: don't instanciate a clipboard implementation when clipboard is disabled 2021-05-12 09:19:55 +02:00
akallabeth
566f47f63b Fixed compilation warnings. 2021-05-11 08:32:18 +02:00
akallabeth
b494a193db Refactored certificate API:
* Proper encapsulation
* known_hosts2 backend extended (storing PEM)
* New backend storing each host certificate in a file
2021-05-11 08:00:18 +02:00
akallabeth
ab49694101 Added new RDP file options 2021-05-11 07:59:05 +02:00
Biswapriyo Nath
a3a89a43f7 Fix intialization, remove some unused variables. 2021-04-28 17:11:31 +02:00
Biswapriyo Nath
3a1168cbda Check _MSC_VER for MSVC specific pragma directives. 2021-04-28 17:11:31 +02:00
Ondrej Holy
892cbe3261 Fix various memory leaks reported by Coverity
Covscan report contains various memory leak defects which were marked
as important. I have spent some time analyzing them and although they
were marked as important, most of them are in error cases, so probably
nothing serious. Let's fix most of them anyway. The rest are false
positives, or too complicated to fix, or already fixed in master, or
simply I am unsure about them.

Relates: https://github.com/FreeRDP/FreeRDP/issues/6981
2021-04-27 14:25:20 +02:00
akallabeth
d4ae65dbb5 Added version to client log, removed build_date 2021-04-22 14:07:37 +02:00
akallabeth
9f573a1b40 Fixed #6938: Remote app mode clipboard fix
In remote app mode the _FREERDP_TIMESTAMP_PROPERTY does not work.
Therefore ignore it
2021-04-16 11:18:00 +02:00
Norbert Federa
689cb70da2 client/x11: fix parent window size restrictions
If a parent window id is specified, the "workarea limits" of the
display must not apply.
2021-04-16 10:28:14 +02:00
akallabeth
ef6e4c0570
ADDIN_ARGV cleanup, added camera setting to RDP parser (#6947)
* Added camerastoredirect to RDP parser

* Refactored ADDIN_ARGV handling

* Added ADDIN_ARGV unit tests
2021-04-12 10:38:40 +02:00
Max Roncace
e2920d7259 Wayland client: Disable shortcut inhibition on rctrl press 2021-04-08 09:23:58 +02:00
akallabeth
d6ba9c1da5 Ensure canvas background is black before drawing 2021-03-15 10:44:15 +01:00
akallabeth
23aa5fb873 Updated OpenSSL and android dependencies 2021-03-15 10:44:15 +01:00
Armin Novak
1fa0b80f7f Removed nautilus clipboard file hack
This prevents remote to properly paste text
2021-03-10 15:48:58 +01:00
Armin Novak
df785f7b77 Refactored X11 clipboard 2021-03-10 15:48:58 +01:00
akallabeth
1d24cec7f0 Use specific names for drive hotplug special values 2021-03-09 13:58:28 +01:00
Armin Novak
5fc2290c03 Added option to disable gateway websocket support 2021-03-08 14:33:05 +01:00
akallabeth
618227d751 Fix xf_Pointer_SetPosition with smart-sizing 2021-03-08 14:25:59 +01:00
Denis
b3a2042103 Add support for OpenBSD sndio 2021-03-08 13:11:50 +01:00
akallabeth
fd902fb345
Win fixes multiple warnings + YUV decoder crash (#6873)
* Fixed conditional reading of regisrty values.

* Fixed sign warnings

* Removed use of deprecated settings functions

* added missing include

* Removed unused functions.

* Refactored registry reading functions

* Fixed TCHAR preprocessor for printf

* Fixed compilation warnings.

* Added bounding rectangle check for multithreadded yuv decoder

* Ensure yuv step calculation height is always >0

* Deactivate multithreadded YUV decoder until artifacts are fixed.
2021-03-08 12:48:22 +01:00
sr093906
5289252f12 Update strings.xml 2021-03-08 09:30:42 +01:00
sr093906
027fa4624c Update strings.xml 2021-03-08 09:30:42 +01:00
sr093906
d5cf5145a3 Add files via upload 2021-03-08 09:30:42 +01:00
sr093906
01006cd9e8 Add files via upload 2021-03-08 09:30:42 +01:00
akallabeth
10a595164d Proper pointer event handling for wayland 2021-03-03 11:49:24 +01:00
Armin Novak
cb0cba2d47 Reformatted changes 2021-02-25 15:05:42 +01:00
mcsong
bb6e248c5f Removed unnecessary code and improved code quality 2021-02-25 15:05:42 +01:00
Armin Novak
b1ff171413 Fixed #6014: XFCE minimized state 2021-02-25 14:17:39 +01:00
sss
6574fdf6e4 reverted changes from clang-format 2021-02-25 14:05:40 +01:00
Gluzskiy Alexandr
bee2e1526d allow to use in single threaded mode
(some client side channels and all server side channels still need to be
ported to new api)

server: build fix, do not disable threads for rfx encoder

cliprdr client channel: implemented support for DisableThreads option
looks like thread does not make sense at all for this channel

do not initialize disabled image codecs (respect settings)

channels: client: rail: added support for DisableThreads setting

changed "BOOL DisableThreads" to "UINT32 ThreadingFlags"
dropped unnecessary apu changes

draft implementation of threading settings aware message handling api
for addins/channels

rail: use new messaging api

fixed memory leak

msgs handlers external api changes (as requested)

msgs_handlers: init fix

fixed memory leak

logic fix

resolved problems appeared after rebase to master, dropped unnecessary
changes

git clang-format origin/master

fixed TestFreeRDPCodecRemoteFX.c

"formatting, run `clang-format` please"

properly use new "rfx_context_new(BOOL, UINT32)" everywhere

passed Threading Flags to "rfx_context_new" where available

in older C standarts veriables declaration must be done before any code

requested changes

clang-format as requested

use broken signatures of standert C functions for m$ s**tos

clang-format

requested changes

requested changes

moved ThreadingFlags to stable api zone

define type for channel msg handler

typo fix

clang-format

build fix

us ThreadingFlags from server settings

git clang-format origin/master

clang-format
2021-02-25 14:05:40 +01:00
Max Roncace
bf9bce2c3e Fix /monitor-list flag being ignored on X11/Wayland 2021-02-25 11:47:18 +01:00
Malte Starostik
06219e4ecb X11 client: ignore grab related LeaveNotify events
This fixes click and drag or more generally any press-hold-release combinations
for the primary mouse button.
Without this, click and drag, drag and drop and in, some remote applications
that presumably rely on the full press-release sequence, even button
presses don't always work.
2021-02-23 14:05:11 +01:00
swadical
09dedf1a1f [windows client] [cliprdr] Translate clientside format IDs to serverside format IDs in cl->sv data request 2021-02-22 10:37:34 +01:00
akallabeth
43311130a2 Fixed CodeQL warnings 2021-02-19 11:19:49 +01:00
akallabeth
1dae0552d7 Fixed various warnings 2021-02-16 16:28:57 +01:00
akallabeth
293d7511e9 Fixed #6712: Use window size from settings
The xfc->window might be NULL (remote app, ...)
2021-02-15 09:03:03 +01:00
Fabio Fantoni
5c408e080e Minor typo fix
From debian packages patch done by Mike Gabriel
<mike.gabriel@das-netzwerkteam.de>
2021-02-14 18:35:42 +01:00
Marc-André Moreau
4e14e7d41e freerdp-client: don't enable vmconnect mode based on PCB field presence in .RDP file 2021-02-11 15:05:53 -05:00
Martin Fleisz
6b686eb834
Merge pull request #6806 from akallabeth/xfreerdp-twos-complement-wheel-mask
clients: Use the correct wheel rotation value
2021-02-11 12:21:50 +01:00
Pascal Nowack
1087a5e1a6 clients: Use the correct wheel rotation value
For the negative scrolling direction, RDP uses the two's complement,
instead of the positive wheel value with the negative flag.
xfreerdp currently uses the positive wheel value in addition to the
negative flag, which results in a wrong wheel value on the server side
(136 instead of 120).

Fix this, by using the correct wheel rotation value, which is in the
two's complement.
2021-02-11 09:54:03 +01:00
akallabeth
d3ed42a799 Fixed #6801: Delay sending of resolution change
Changed the logic of the disp channel to wait for 800ms after a
ConfigureNotify before sending the new resolution.
The problem fixed with this patch is the following:
1.  Resize the window with the mouse
2.  ConfigureNotify triggers a resize notification
3.  The server resizes to the desired resolution
3a. More ConfigureNotify events are generated
4.  The local window resize to the new resolution triggers another
    ConfigureNotify

a. Depending on the timing (sending is already rate limited) the
   events from 3a and 4 will make the size of the window jump
b. Very fast resizing will pick a random resolution from the
   sequence of ConfigureNotify events as the final resolution
2021-02-10 15:38:03 +01:00
Armin Novak
65647d5763 Use separate codec contexts for legacy and GFX 2021-02-10 10:38:24 +01:00
Martin Fleisz
784f445aa1
Merge pull request #6609 from akallabeth/clip_response
Fixed sending of clipboard format request response
2021-02-05 10:18:08 +01:00
Martin Fleisz
21158c0e8b
Merge pull request #6537 from akallabeth/kbd_remap
Added option to remap scancodes
2021-02-05 09:31:45 +01:00
akallabeth
25ab8c8b9c Added wayland discrete axis events for mouse wheel
the discrete axis event gives changes in steps just like the
xfreerdp version uses. This way scrolling can be implemented
consistent with the behaviour of xfreerdp
2021-02-04 21:21:57 +01:00
0140454
79606a9abf Sync numlock, capslock state in Wayland 2021-02-04 21:21:27 +01:00
0140454
96ff661008 Process close event 2021-02-04 09:15:38 +01:00
akallabeth
a51f4ccaaa Filter out duplicate ClientFormatList announcements 2021-01-25 10:34:11 +01:00
akallabeth
2efb7d9274 Fixed sending of clipboard format request response
If a request was pending and new formats were announced the response
to a ServerFormatDataRequest was never sent.
2021-01-25 10:32:50 +01:00
akallabeth
f3dad4106a Fixed support for huge files in clipboard 2021-01-25 08:43:46 +01:00
Armin Novak
9e63f35cc5 [MAC] Keep original return value for client termination 2021-01-22 11:25:18 +01:00
Ondrej Holy
d7566f5f5a
client: Fix exit codes for /help and similar option (#6741)
* client: Fix exit codes for /help and similar option

Currently, non-zero exit code is returned for /version, /buildconfig, /help,
/monitor-list, /kbd-list and /kbd-lang-list command-line options for several
clients. This is against conventions because 0 is usually returned in
such cases. Also, there is potentially another problem that the returned
codes overflow on UNIX systems (where the exit code is a number between 0
and 255). Let's fix the clients to return 0 in the mentioned cases to honor
conventions and 1 for the command-line parsing errors (or -1 for clients
who already use that value).

Fixes: https://github.com/FreeRDP/FreeRDP/issues/6686

* Refactored freerdp_client_settings_command_line_status_print_ex

Now returns 0 if help or version information was requested.

* Do not eliminate original error status.

Co-authored-by: akallabeth <akallabeth@posteo.net>
2021-01-22 09:44:55 +01:00
akallabeth
284e20b140 Fixed #6696: Implement HandshakeEx in windows client
Special thanks to @byteboon for bisecting the issue
2021-01-19 17:13:40 +01:00
akallabeth
4ca2090f03 Return ENOENT if fuse_ino_t is not found 2021-01-18 19:13:56 +01:00
Armin Novak
78435c2eea Added missing errno.h include 2021-01-18 19:13:56 +01:00
Armin Novak
72d9b7f7f5 Added add_definitions(-D_FILE_OFFSET_BITS=64) 2021-01-18 19:13:56 +01:00
jackyzy823
b972d70a9e x11: refactor fuse code 2021-01-18 19:13:56 +01:00
jackyzy823
7f043ebb52 x11: update cmake file to build with fuse2/fuse3 or without fuse 2021-01-18 19:13:56 +01:00
jackyzy823
1de1f113ed x11: more error handling for remote to local file copy 2021-01-18 19:13:56 +01:00
jackyzy823
a61c185d30 x11: implement all related code to file content request for size and FD_WRITESTIME flag in response , fix include dir for fuse 2021-01-18 19:13:56 +01:00
jackyzy823
d537988f28 x11: add support for remote to local clipboard file copy 2021-01-18 19:13:56 +01:00
Armin Novak
555e1ad8f2 Properly discard xfc->appWindow on focus loss 2021-01-11 15:18:30 +01:00
akallabeth
50e1c20786 Fixed #6635: Use correct window handle for pointer operations 2021-01-11 15:18:30 +01:00
mezysinc
e96ef524c5 ptbr translation
strings in ptbr
2021-01-02 11:20:55 +01:00
kubistika
32ed597f5a x11: use correct contact flag names in xf_input_touch_state_string 2021-01-02 11:05:10 +01:00
akallabeth
c865c4eb64 Added support for file:// urls for rdp files 2020-12-23 12:29:37 +01:00
akallabeth
8b8016ec21 Fixed call to GetKeyboardLayout 2020-12-15 11:29:51 +01:00
akallabeth
9b8d16b332 Allow autoreconnect for ERRINFO_GRAPHICS_SUBSYSTEM_FAILED
As discussed in #4717 allow autoreconnect to succeed if that
specific error code was returned as disconnection reason.
2020-11-27 09:10:41 +01:00
bolt
03ced3d8f0 Add support for -grab-mouse, to prevent the client from moving the user's pointer 2020-11-20 09:40:00 +01:00
Simon Tatham
1dc8198803 Command-line option to choose an X selection.
I personally find it more convenient to have pasted data written to
the X11 PRIMARY selection, so that I can paste it with a fast middle-
button click, than to write to CLIPBOARD which typically needs a key
sequence or menu action.

This commit adds a command-line option to let me express that
preference: now I can say "/clipboard:use-selection:PRIMARY" on the
command line, which not only enables clipboard transfer but also says
which X selection I want it to talk to. The previous options
"+clipboard" and "-clipboard" are also still supported.
2020-11-20 08:34:20 +01:00
Simon Tatham
c90479c7f5 winpr/utils: allow COMMAND_LINE_VALUE_{OPTIONAL,BOOL} to coexist.
Now you can give an option the combination of flags
COMMAND_LINE_VALUE_OPTIONAL and COMMAND_LINE_VALUE_BOOL. If you do,
then all three of the syntaxes +foo, -foo and /foo:value are allowed
at once, and the receiving code can tell the difference because the
Value field is set to BoolValueTrue, BoolValueFalse or a valid char
pointer.
2020-11-20 08:34:20 +01:00
Simon Tatham
3c104d9b9b xf_cliprdr: fill in support for TIMESTAMP requests.
A selection owner is supposed to respond to a request for the
selection target TIMESTAMP by providing the X server time at which the
selection was written. There was a /* TODO */ comment in xf_cliprdr
where the code to do that should have been.

The absence of this can cause a problem when pasting into some X
clients. xtightvncviewer, in particular, will give up the attempt to
read from the clipboard at all if it doesn't get a satisfactory
response to the initial TIMESTAMP request - and the non-answer zero
value "CurrentTime" counts as unsatisfactory. It won't be happy with
anything short of a real X server time value.

(Checking the VNC source code, that's because it reads both PRIMARY
and CLIPBOARD and picks the one with the later timestamp. So it does
depend on the timestamps existing.)

When you're writing to the selection in response to a normal X event
like a mouse click or keyboard action, you get the selection timestamp
by copying the time field out of that X event. Here, we're doing it on
our own initiative, so we have to _request_ the X server time. There
isn't a GetServerTime request in the X protocol, so I work around it
by setting a property on our own window, and waiting for a
PropertyNotify event to come back telling me it's been done - which
will have a timestamp we can use.
2020-11-20 08:34:20 +01:00
Martin Fleisz
be5bd68de0
Merge pull request #6583 from akallabeth/print_warn
Fixed printf format
2020-11-19 10:05:11 +01:00
akallabeth
f032be12d2 Fixed printf format 2020-11-17 08:53:42 +01:00
akallabeth
13c8a60b70 Fixed display channel anounce race
* The display resolution change message was prone to a race condition
* Check for actual fullscreen state instead of settings
* Assume 75dpi for display resolution to mm conversion
2020-11-13 18:09:07 +01:00
Martin Fleisz
f3591485bd client/common: Always set gatewayprofileusagemethod to 1
mstsc will only load our gateway settings if gatewayprofileusagemethod
is set to 1. Otherwise it will always set the option "Auto-detect RD
Gateway server settings" and ignore the other gateway settings in the
rdp file.
2020-11-13 11:44:19 +01:00
Martin Fleisz
60317154a3 client/common: Several fixes for the rdp file parser
This PR fixes various issues in the rdp file parser:
- NetworkAutoDetect was written inverted
- GatewayHostname was missing the port info (if not default)
- Several settings were left out when populating the file struct
2020-11-12 18:13:12 +01:00
akallabeth
dfbf300389 Conservative keyboard state sync, refactored input API 2020-11-10 10:26:41 +01:00
akallabeth
66dc4cc9ee Fixed compilation warnings. 2020-11-10 08:53:43 +01:00
akallabeth
6e3c00725a Cleaned up collections:
ArrayList, MessageQueue, Queue, PubSub, BipBuffer
ObjectPool and BufferPool
2020-11-06 12:30:13 +01:00
Armin Novak
d7bf6553c5 Added option to remap scancodes 2020-10-29 18:44:32 +01:00
Martin Fleisz
c47b15945b
Merge pull request #6499 from akallabeth/leak_fixes
Fixed leak on cursor update.
2020-10-29 12:08:16 +01:00
Martin Fleisz
80cba204c0
Merge pull request #6521 from akallabeth/mac_fixes
Mac fixes
2020-10-28 09:55:20 +01:00
Martin Fleisz
e1d7f6111c
Merge pull request #6535 from akallabeth/mac_mouse
Fix for mac mousewheel.
2020-10-28 09:47:16 +01:00
Martin Fleisz
7be04e212b
Merge pull request #6466 from akallabeth/memsan
Memsan: fixes (most) unit tests for use with memory sanitizer
2020-10-28 09:46:12 +01:00
Keith Johnston
c0ecee9d69 Fix for mac mousewheel.
(cherry picked from commit 87a4a8484e)
2020-10-28 08:17:53 +01:00
akallabeth
896b7bc711 Added support for xwayland keyboard grab 2020-10-27 15:45:44 +01:00
Armin Novak
a2e9f5efcb Fixed mac app termination and warnings 2020-10-21 19:44:09 +02:00
Armin Novak
0e0eb5f41f Added permission checks for mac audio backend. 2020-10-21 19:44:09 +02:00
akallabeth
488ffe31fc Fixed leak on cursor update. 2020-10-05 09:45:45 +02:00
akallabeth
f282c55c7a Added clipboard CB_HUGE_FILE_SUPPORT_ENABLED flag 2020-09-29 09:03:49 +02:00
akallabeth
4f8a48d96e Fixed variable declaration in loop 2020-09-22 07:43:56 +02:00
akallabeth
1546a8b655 Fixed naming of FILEDESCRIPTORW 2020-09-18 12:49:54 +02:00
Kobi
c2c9abee5a
Merge pull request #6478 from akallabeth/loop_fix
Fix variable declaration in loop
2020-09-16 15:34:23 +03:00
Armin Novak
3b63903d3f Removed obsolete connectErrorCode 2020-09-16 10:21:15 +02:00
Armin Novak
ddde652460 Fix variable declaration in loop 2020-09-16 09:30:37 +02:00
Nathan Loewen
e24c95f90e X11: Scale cursor when SmartSizing is on 2020-09-14 09:21:33 +02:00
Armin Novak
816e792e3f Fixed unit tests run under memory sanitizer 2020-09-07 10:42:28 +02:00
Martin Fleisz
0f64e07444
Merge pull request #6424 from akallabeth/warning_fixes
Fixed #6418: Warning due to invalid const qualifier
2020-08-11 08:25:38 +02:00
Armin Novak
e50a8e09ee Fixed warnings. 2020-08-10 12:26:46 +02:00
Martin Fleisz
0f70aa2f43
Merge pull request #6415 from akallabeth/proxy_settings_api
Use freerdp_settings_[s|g]et* api to access proxy vaiables.
2020-08-05 11:47:05 +02:00
akallabeth
44ea09e7ad Use freerdp_settings_[s|g]et* api to access proxy vaiables.
Fixes #6414
2020-08-05 11:29:00 +02:00
Martin Fleisz
d87d351c00 Add GatewayMessageType to public API 2020-08-04 15:58:48 +02:00
Martin Fleisz
3753f0ea9c Implement gateway message callback for Windows, Wayland and X11 clients 2020-08-04 15:58:48 +02:00
Kobi
1151d5784c
Merge pull request #6345 from akallabeth/win_title_fix
Fixed #6335: windows client title length
2020-07-06 10:27:30 +03:00
Armin Novak
dfbeeb1e16 Fixed #6335: windows client title length 2020-07-06 09:16:55 +02:00
akallabeth
b971c5c97f Use CMake to detect availability of getlogin_r 2020-07-01 16:50:20 +02:00
akallabeth
36478d3d0b Replaced getlogin with getlogin_r 2020-06-22 11:51:38 +02:00
Martin Fleisz
152bf0cda4
Merge pull request #6284 from akallabeth/wayland
Lock wayland buffer updates
2020-06-19 11:44:28 +02:00
akallabeth
c902f583d0 Fixed missing lock during buffer submit. 2020-06-18 08:42:24 +02:00
Bernhard Miklautz
1628939227 fix [client channels]: move exported API calls to client/common
The functions mappedGeometryRef and mappedGeometryUnref are API
functions ([1]) but were implemented in the geometry channel.
In case FreeRDP was built with BUILTIN_CHANNELS=OFF those functions
weren't available globally but used by the video channel.

Now the functions are fixed part of the freerdp-client library and
therefore available for all channels.

[1] exported in freerdp/client/geometry.h

Fixes #6236
2020-06-17 12:59:41 +02:00
akallabeth
7361f75d11 Lock wayland buffer updates 2020-06-15 15:49:21 +02:00
makki_d
4607a2766a fix +unmap-buttons option having the opposite effect 2020-06-04 18:22:55 +09:00
Ondrej Holy
ac114d45c7 wlfreerdp: Fix array overrun
This fixes the following defects reported by covscan tool:
 - client/Wayland/wlf_input.c:251: overrun-local: Overrunning array "contacts" of 10 32-byte elements at element index 10 (byte offset 351) using index "i" (which evaluates to 10).
 - client/Wayland/wlf_input.c:308: overrun-local: Overrunning array "contacts" of 10 32-byte elements at element index 10 (byte offset 351) using index "i" (which evaluates to 10).
 - client/Wayland/wlf_input.c:360: overrun-local: Overrunning array "contacts" of 10 32-byte elements at element index 10 (byte offset 351) using index "i" (which evaluates to 10).
 - client/Wayland/wlf_input.c:251: error[arrayIndexOutOfBounds]: Array 'contacts[10]' accessed at index 10, which is out of bounds.
 - client/Wayland/wlf_input.c:308: error[arrayIndexOutOfBounds]: Array 'contacts[10]' accessed at index 10, which is out of bounds.
 - client/Wayland/wlf_input.c:360: error[arrayIndexOutOfBounds]: Array 'contacts[10]' accessed at index 10, which is out of bounds.
 - client/Wayland/wlf_input.c:246: uninit_use_in_call: Using uninitialized value "y" when calling "wlf_scale_coordinates".
 - client/Wayland/wlf_input.c:246: uninit_use_in_call: Using uninitialized value "x" when calling "wlf_scale_coordinates".

The maximal number of touches can be higher then 10, see:
https://wayland.freedesktop.org/libinput/doc/latest/touchpads.html

Let's increse the MAX_CONTACTS count and add checks to prevent usage of
uninitialized values.
2020-06-04 07:55:12 +02:00
Simon Tatham
921cd45d42 [generate_argument_docbook] Fix typo in XML entity.
The character '>' was being rendered as &lt; instead of &gt;.
2020-06-02 09:44:41 +02:00
Kobi
0cb7ada6de
Merge pull request #6208 from akallabeth/accept_cert_io
Read newline from stdio on certificate accept
2020-05-25 13:25:39 +03:00
Armin Novak
e241044f1f Fixed #6221: Update floatbar position with multitouch input 2020-05-25 08:43:03 +02:00
akallabeth
81765e71f3 Fixed BehaviourSanitizer warning in rdp parser 2020-05-20 15:10:07 +02:00
akallabeth
5b842bc7a7 Read newline from stdio on certificate accept 2020-05-20 11:57:01 +02:00
akallabeth
eb088e0812 Fixed NULL access of context struct on screen draw
Added a log message to fix occurances later on.
2020-05-18 16:57:02 +02:00
akallabeth
9ae6915025 Fixed sample client resource cleanup 2020-05-18 16:57:02 +02:00
akallabeth
7890833af8 Replaced strtok with strtok_s 2020-05-18 11:39:22 +02:00
Victor K
329332432a Windows Authentication - Then launced with username argument prefill the name in the authentication box. 2020-05-15 10:01:07 +02:00
akallabeth
37344f443e Increased android client build number to 100
We need to be able to release a few 2.0 builds before this master
build will be ready.
2020-05-08 11:21:51 +02:00
akallabeth
cbee45aace Fixed clipboard 'called with invalid type' warning 2020-05-06 13:31:57 +02:00
Martin Fleisz
953fc03031
Merge pull request #6138 from akallabeth/rdp_file_message_fix
Fixed warning messages for RDP file options
2020-05-05 12:21:15 +02:00
akallabeth
5f5bf10703 Fixed warning messages for RDP file options
networkautodetect and bandwidthautodetect are both boolean options
which must match each other. Added adequate warnings.
2020-05-05 10:43:33 +02:00
akallabeth
79522d7e2f Fixed primary monitor index for wayland fullscreen 2020-05-05 10:31:26 +02:00
David Fort
5b98aa7515
Merge pull request #6063 from akallabeth/expert_settings
Added expert settings /tune and /tune-list
2020-05-04 12:09:39 +02:00
Andrey
f14373172d
Android client version bump (#6126)
Library names update

Co-authored-by: Andrey Rankov <andreyr@appcard.com>
2020-05-04 09:38:31 +02:00
akallabeth
77b38d9375 Fixed #6087: Inconsistend scroll on wayland
Thanks to @yol and @SaschaWessel a bug in scroll step conversion
was uncovered. The RDP value ranges are inverted when scrolling
in negative direction.
2020-05-04 08:57:56 +02:00
akallabeth
9379f93034 Fixed #6121: Use correct destination color format 2020-04-28 12:40:03 +02:00
Sascha Wessel
9867793d07 wlfreerdp/cliprdr: Initialize pointer before use
In `wlf_cliprdr_server_format_data_request()` `ConvertToUnicode()` may return 0
while not allocating memory for `cdata` and not setting `cdata` to a valid
address. In this case, `data` points to a random address.

Settting `cdata` to NULL before calling `ConvertToUnicode()` fixes this issues.
2020-04-26 19:57:50 +02:00
Lukas Fink
060253c9fa Added ability to add usb devs via id and addr simultaneously
It is now possible to add usb devices both via vid+pid and via bus+addr
at the same time. To do this, the ids are directly
given to the corresponding command line options:
/usb🆔<vid+pids>,addr:<bus+addrs>
The dev option still works like before: /usb:id,dev:<vid+pids> or
/usb:addr,dev:<bus+addrs>
2020-04-26 19:09:13 +02:00
Allan Nordhøy
caac0a12c1 Spelling fixes for iOS strings 2020-04-23 08:01:07 +02:00
akallabeth
b094d52d0b Fixed #6099: Add a flag for legacy hash entries
If a legacy entry is found in certificate hash store print
additional information to the user informing about the change
with FreeRDP 2.0
2020-04-22 18:14:39 +02:00