Commit Graph

3471 Commits

Author SHA1 Message Date
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
akallabeth
0a86090ff1 Fix initialization of LargePointer flags
Capability exchange is first reading server capabilities,
mask these with local settings and send only what both support.
2020-04-22 11:10:56 +02:00
Armin Novak
58be47bc63 Added expert settings /tune and /tune-list 2020-04-21 17:30:24 +02:00
David Fort
1fec2f9498 uwac, wlfreerdp: corrected API for UwacOutput and added monitor listing 2020-04-21 08:12:31 +02:00
akallabeth
701770c69a Made xf_OutputExpose non blocking.
In case xf_OutputExpose is called with GFX or async-update a race
condition occured in combination with dynamic-resolution.
To prevent the deadlock update the screen on a best effort basis.
2020-04-18 10:18:31 +02:00
akallabeth
4259f5c561 Fix #6085: Java string comparison should prefer equals 2020-04-16 08:25:25 +02:00
Allan Nordhøy
31f4a1f1e5 Language fixes for aFreeRDP 2020-04-14 15:51:08 +02:00
Allan Nordhøy
14494237ab Add Norwegian Bokmål translation 2020-04-14 14:35:10 +02:00
Julian Albrecht
d69c106a49 Adds the title options to wlfreerdp 2020-04-14 14:33:44 +02:00
Nathan Loewen
3ee0cc6b70 Make use of percent scale if available when calculating monitor sizes 2020-04-11 09:06:00 +02:00
akallabeth
08fd2876b9 Started 3.0 development cycle. 2020-04-10 15:01:15 +02:00
akallabeth
d7795c892b Allow old openssl name in android client. 2020-04-09 10:03:20 +02:00
akallabeth
1c77db0a94 Used default openssl library names. 2020-04-09 10:03:20 +02:00
Martin Fleisz
9223eea61e
Merge pull request #5974 from akallabeth/cmd_avc420_fix
Cmd avc420 fix
2020-04-02 08:41:47 +02:00
akallabeth
9ef1e81c55 Formatted patch. 2020-03-27 14:16:18 +01:00
Julian Albrecht
7ecce5acbe Adds touch support to wlfreerdp 2020-03-27 14:16:18 +01:00
LatinSuD
a6ccd38b68 Free clipboard respond to fix bug
Fixes #5997 (clipboard stops responding in the middle of a session)
2020-03-27 09:13:38 +01:00
Martin Fleisz
ca34fe4c12
Merge pull request #5985 from akallabeth/log_version_debug
Added buildconfig output to debug log level.
2020-03-26 09:55:46 +01:00
Martin Fleisz
43d3f89ce7
Merge pull request #5988 from akallabeth/rdp_parser_leak
Fixed memory leak in rdp file parser.
2020-03-24 12:17:05 +01:00
akallabeth
fdf151698d Fixed memory leak in rdp file parser. 2020-03-23 16:06:26 +01:00
akallabeth
453372a4bf Add option to adjust the tcp ack timeout
On high latency links the default of 9 second timeout might be too
strict. Adjusting this for all users will result in a long time
for connections to fail, so let these with high latency links
adjust the value manually.
2020-03-23 08:59:38 +01:00
akallabeth
82449a9c7d Added buildconfig output to debug log level. 2020-03-20 13:05:01 +01:00
akallabeth
efb588db04
Added deprecation warning to gfx-h264 2020-03-15 10:33:53 +01:00
akallabeth
1441e78b70
Fixed gfx-h264 option parsing. 2020-03-15 10:33:34 +01:00
Martin Fleisz
6313cccb6e
Merge pull request #5943 from akallabeth/x11_lock
X11 lock recursion checks
2020-03-10 16:03:54 +01:00
Armin Novak
90bc3e793a Fixed missing config include. 2020-03-09 14:57:20 +01:00
Armin Novak
6ac1b6d78e Fixed strncmp, use _strnicmp 2020-03-06 11:37:35 +01:00
Armin Novak
316fb38e67 Added new option /cert that unifies all.
* The mess with /cert-tofu, /cert-ignore et al is now unified in
  a single option.
* Added the option to add fingerprint:<hash>:<hex string> multiple
  times to /cert to build a list of accepted certificate
  fingerprints
* Added a deprecation warning to older /cert-* options
2020-03-06 11:37:35 +01:00
Armin Novak
4530a9a631 Modified xf_lock_x11 and xf_unlock_x11, allow recusive
The X11 locking routines did not handle multiple locks from the same
thread well. This pr fixes that.
2020-03-04 15:50:47 +01:00
Armin Novak
032574cc8f X11 XEvent handling use const arguments 2020-03-04 10:38:41 +01:00
Armin Novak
f32a46370c X11 XEvent disp refactored to use const arguments 2020-03-04 10:38:41 +01:00
Armin Novak
b48967d559 X11 XEvent refactored input
* Use proper types and const arguments where appropriate
2020-03-04 10:38:41 +01:00
Armin Novak
2b30c03fcf X11 XEvent refactored floatbar
* Use const event pointers of correct type where appropriate
2020-03-04 10:38:41 +01:00
Armin Novak
ba5400f110 X11 XEvent clipboard processing cleanup
* Use const X*Event where possible
* Helper functions use the actual type as argument
2020-03-04 10:38:41 +01:00
Armin Novak
db80f97d50 X11: Lock display during event processing
* Added a X11 lock debug messages for incorrect locking.
* Lock X11 display during XEvent processing
2020-03-04 10:38:41 +01:00
Armin Novak
38d5e14e9f Reverted minimum scaling diff
Revert to the diff value from @volth
2020-03-04 08:02:25 +01:00
xie.kunming
979798f51c wf_cliprdr.c forget OleUninitialize if create_cliprdr_window failed 2020-03-02 11:45:45 +01:00
Armin Novak
4eb4f58fbb Updated CMake channel detection
* Now both, dynamic and static channel entries can be defined by
  a single channel.
* Added better logging to distinguish between static and dynamic
  channel messages.
2020-02-28 12:53:39 +01:00
Martin Fleisz
da354feed0 Add dynamic channel part for rdpsnd channel 2020-02-28 12:53:39 +01:00
Martin Fleisz
10d1146049
Merge pull request #5906 from akallabeth/tsmf_disable_for_good
Made CHANNEL_TSMF optional and deprecated.
2020-02-26 14:41:46 +01:00
Norbert Federa
ceb015a6bb egfx: the gfx reset grahics pdu is optional
Since the EGFX Reset Graphics PDU seems to be optional,
the graphicsReset variable (which is updated in that PDU's handler)
should be removed from the rdp_gdi struct with the next change
in public headers (as in freerdp v3).
There are still some clients that expect and check it and therefore
we keep it for now, initialized with TRUE.

sdas
2020-02-26 13:57:12 +01:00
Armin Novak
829497b313 Made CHANNEL_TSMF optional and deprecated. 2020-02-26 13:56:43 +01:00
Ondrej Holy
3240485bfd Do not advertise /usb in help output if the channel is not built
The help output advertise an option and an example for usb redirection
regardless of the fact whether the urbdrc channel was built or not.
This is confusing for people. Let's do not show /usb in help if it is
not built.
2020-02-26 13:51:52 +01:00
Martin Fleisz
7ae8a158a0
Merge pull request #5707 from akallabeth/kbd_codepage
Added KeyboardCodePage option
2020-02-25 14:50:51 +01:00
Armin Novak
30275e7ac3 Added keyboard language codepages and listing option 2020-02-21 11:57:36 +01:00
Martin Fleisz
dc89923f4a
Merge pull request #5732 from akallabeth/floatbar_button_fix
Fixed #5730: Decoupled floatbar button focus from click events.
2020-02-21 11:36:49 +01:00
Armin Novak
8c15bd9765 Install sample client binary. 2020-02-18 11:02:43 +01:00
Sergey Bronnikov
6d6956a139 client: remove unused variable 2020-02-17 15:49:26 +01:00
David Fort
e4ac7b98a0
Merge pull request #5881 from akallabeth/win_disable_console
Disable windows console attach.
2020-02-13 16:12:50 +01:00
Armin Novak
8828eff6a1 Added /auth-only option to samle client.
In #5814 the option to use a connection test was expressed.
Adding this option to the sample client allows doing that without
X11 or similar around.
2020-02-13 08:27:49 +01:00
Armin Novak
2822585db4 Disable windows console attach. 2020-02-12 15:47:31 +01:00
Martin Fleisz
e304428a5f
Merge pull request #5857 from akallabeth/scanbuild_fixes
Scanbuild fixes
2020-02-12 10:16:54 +01:00
David Fort
245fc6014d
Merge pull request #5830 from akallabeth/smartcard_updates
Smartcard updates
2020-02-07 14:11:00 +01:00
Armin Novak
ddcc5ae768 Fixed copy of opaque data
do not use strcncpy for opaque data.
2020-01-23 10:12:12 +01:00
Armin Novak
5a51f97ce0 Added NULL checks to silence clang-scanbuild. 2020-01-23 10:12:12 +01:00
Armin Novak
2cb022a922 Fixed NULL dereference. 2020-01-23 10:12:12 +01:00
Martin Fleisz
baca062321 core: Fix and extend populate rdp file from settings
This PR contains the following changes:
- Get rid of unused SettingsModified array (kept in the settings struct for ABI
compatibility)
- Fix and extend freerdp_client_populate_rdp_file_form_settings (wrote <null> strings to the rdp file, missed a lot of settings)
- Set KeyboardHook default value to 2 (hook in fullscreen) just as mstsc
does
2020-01-22 14:18:30 +01:00
Kobi Mizrachi
8c5d96784d cmdline: export CommandLineParseCommaSeparatedValues 2020-01-22 14:18:21 +01:00
Martin Fleisz
263d74ee29
Merge pull request #5783 from akallabeth/gfx_mask_arg
Added /gfx and /gfx-h264 option mask=<value>
2020-01-16 10:02:15 +01:00
Alexander Volkov
f0321a049d client/X11: Avoid crash in XGetDeviceButtonMapping()
XOpenDevice() may fail and return NULL, so try to find the first
pointer device that can be opened, and ensure that ptr_dev argument
is not NULL before passing it to XGetDeviceButtonMapping().
2020-01-16 08:46:11 +01:00
David Fort
30d6e25def
Merge pull request #5750 from akallabeth/encomsp_auto
Encomsp automatic input control && cleanups
2020-01-15 13:56:00 +01:00
David Fort
0cc3af2282
Merge pull request #5796 from akallabeth/rdp_10_7_large_pointers
Added RDP 10.7 large pointer support
2020-01-14 10:17:13 +01:00
Armin Novak
1d9722f8d8 Added /gfx and /gfx-h264 option mask=<value>
With this new option the gfx capability set can be masked to only
announce older versions of the protocol if required.
(Fixes #5771)
2020-01-14 07:56:54 +01:00
Martin Fleisz
85984f3bd3
Merge pull request #5752 from akallabeth/manpage_no_err
Allow to generate docbook with 0 length.
2020-01-13 12:26:31 +01:00
Armin Novak
4f5eaedf7e Added command line option client-build-number
The smartcard channel behaviour is influenced by what build number
is announced, expose this setting to modify by interested users.
2020-01-13 10:50:14 +01:00
KunMing Xie
7fec130dbc wf_rail.c: fix crash if CreateWindowEx failed (#5812)
* wf_rail.c: fix crash if CreateWindowEx failed

Co-authored-by: tensorflow123 <kunming.xie@hotmail.com>
2020-01-08 09:02:49 +01:00
David Fort
31a4e2ad8b
Merge pull request #5745 from akallabeth/urbdrc_rewrite
Urbdrc rewrite
2020-01-06 09:23:45 +01:00
Armin Novak
182d0ce548 Added RDP 10.7 large pointer support
* Implements [MS-RDPBCGR] version 51 large pointer support.
* Logs unknown large pointer capability flags as warning.

Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-19 09:53:40 +01:00
Martin Fleisz
71feb974ac
Merge pull request #5739 from akallabeth/improve_function_hiding
Improve function hiding
2019-12-02 11:31:35 +01:00
Armin Novak
7c243da6e1 Remove symbols exported by accident. 2019-12-02 10:57:31 +01:00
Pål Håland
fc992ee740 SmartSizingWidth and SmartSizingHeight in RDP file:
Adding this option to use the DesktopHeight and DesktopWidth as
parameters for the SmartSizingWidth and SmartSizingHeight, as there
are no options for that in standard RDP files.

Equivalent of doing /smart-sizing:WxH
2019-11-29 11:14:55 +01:00
Armin Novak
ce5661ce60 Added RDP file option 'desktop size id:i:' support. 2019-11-29 09:09:30 +01:00
Martin Fleisz
683f3f6850
Merge pull request #5753 from akallabeth/win_clipboard_ignore_open_fail
Fix #5749: Retry to open the clipboard.
2019-11-29 08:18:31 +01:00
Armin Novak
c7337f4b6b Added data length check for RDP_CODEC_ID_NONE 2019-11-28 08:08:30 +01:00
Armin Novak
b89fd2d8e5 Fix #5749: Retry to open the clipboard.
On windows the clipboard is shared and other applications
or windows might lock the clipboard.
For this reason, retry opening if it fails and ignore
failure to open during normal operation.
2019-11-26 07:57:32 +01:00
Armin Novak
f40e3ccfd0 Allow to generate docbook with 0 length. 2019-11-25 15:54:05 +01:00
Armin Novak
c5e261e066 Added new command line swith for automatich assistance control. 2019-11-25 10:32:55 +01:00
Armin Novak
2691532061 Fixed const correctness of encomsp functions. 2019-11-25 09:39:21 +01:00
Armin Novak
2d87a84991 Use new URBDRC constants in command line parser. 2019-11-22 10:56:21 +01:00
Armin Novak
a5bebd3c65 Fixed scanbuild warnings. 2019-11-20 09:17:08 +01:00
Armin Novak
92f3100e9d Fixed #5730: Decoupled floatbar button focus from click events. 2019-11-19 08:12:43 +01:00
Armin Novak
da87247d61 Added KeyboardCodePage option
Thanks to @byteboon for the hint.
2019-11-07 19:57:07 +01:00
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Martin Fleisz
bc39b32d20
Merge pull request #5685 from akallabeth/multi_instance_arg_parse
COMMAND_LINE_ARGUMENT structs contain parser results, use one per instance
2019-11-06 09:09:22 +01:00
Martin Fleisz
5b6663fe3a
Merge pull request #5689 from akallabeth/cleanups
Cleanups
2019-11-05 15:28:02 +01:00
Armin Novak
b7a12474dc Removed invalid use of strnlen 2019-11-05 11:30:26 +01:00
Martin Fleisz
5439c97953
Merge pull request #5553 from akallabeth/win_console_fix
Reattach to cmd if wfreerdp was started from one.
2019-11-05 09:35:45 +01:00
Armin Novak
a5403448b6 Fixed review remarks. 2019-11-04 11:18:53 +01:00
Armin Novak
27df243a33 Fixed int/size_t use for channel add functions. 2019-10-29 12:58:06 +01:00
Armin Novak
cda3d081e3 Fixed tmpnam warning. 2019-10-29 12:58:05 +01:00
Armin Novak
f01e042211 Code cleanups (strlen, casts, size_t, ...) 2019-10-29 11:58:43 +01:00
Martin Fleisz
a4b3778a4c
Merge pull request #5668 from akallabeth/xfreerdp_mon_check
Added missing check for monitor indices
2019-10-28 14:13:07 +01:00
Armin Novak
0c87eaee4d COMMAND_LINE_ARGUMENT structs contain parser results, use one per instance
Remove the old global structs as the parser modifies them. When using
multiple instances in the same process space this could break parsing.
2019-10-28 13:30:05 +01:00
Martin Fleisz
9e32899347
Merge pull request #5676 from akallabeth/hotplug_leak_fix
Hotplug leak fix
2019-10-28 13:06:36 +01:00
Armin Novak
8af4ddc5f2 Fix #5687: check for file extensions case insensitive. 2019-10-25 14:23:01 +02:00
Armin Novak
1bb63eddf4 Removed experimental warning from gfx 2019-10-24 15:04:48 +02:00
Armin Novak
7d7224abd8 Added missing check for monitor indices 2019-10-23 15:03:39 +02:00
asapelkin
82eadad4a4 Fix some static analizer warnings 2019-10-22 15:39:54 +02:00
kubistika
345cc2a2f5 channels: cliprdr: get rid of duplicated server and client code 2019-10-18 14:20:26 +02:00
kubistika
dff3686642 channels: cliprdr: remove formatDataResp.dwFlags
According to the channel docs, this field is only used in format data
request. Therefore, there's no need to hold it in the response. cliprdr
server code was copy-pasted from client code, therefore this must be
some leftover.
2019-10-18 14:20:26 +02:00
Armin Novak
f1f0b266ac Fixed floating point calculations. 2019-10-16 14:53:27 +02:00
Armin Novak
9fee4ae076 Fixed #5645: realloc return handling 2019-10-04 16:19:23 +02:00
Armin Novak
69dbd45d4e Fixed use after free. 2019-10-03 16:15:52 +02:00
Martin Fleisz
30a92e85b8 common: Fix handling of redirectdrives setting 2019-10-01 15:56:22 +02:00
Martin Fleisz
89841fce03
Merge pull request #5616 from akallabeth/drive_prefer_absolute_path
Fix #5603: Prefer absolute path for /drive: syntax.
2019-10-01 11:40:38 +02:00
Armin Novak
c904a4c5cd Trim all RDP file string options except passwords. 2019-09-27 09:09:59 +02:00
Armin Novak
b1d0eaff6d Fix #5603: Prefer absolute path for /drive: syntax. 2019-09-24 16:42:27 +02:00
Martin Fleisz
6b8b5bbb0e
Merge pull request #5614 from akallabeth/better_gateway_error
Better gateway error reporting
2019-09-24 16:28:17 +02:00
Martin Fleisz
db2ac11828
Merge pull request #5615 from akallabeth/rdp_relaxed_parse
Added option to parse RDP files relaxed.
2019-09-24 16:27:54 +02:00
Armin Novak
04a7c068d8 Added option to parse RDP files relaxed. 2019-09-24 16:11:43 +02:00
Armin Novak
41976885c6 Fix #5612: proper return values. 2019-09-24 09:45:35 +02:00
akallabeth
4679bb6b53 Fix ##5593: duplicated typedef. 2019-09-22 16:42:31 +02:00
akallabeth
3edadef768 Fix #5593: Do not use diagnostics pragma inside functions 2019-09-22 16:37:52 +02:00
volth
1edceffa31 avoid blurry filter when scaling factor is 2x, 3x, etc 2019-09-15 05:02:22 +00:00
Armin Novak
73897ebd3b Tighter error checking for integer options in RDP file. 2019-09-11 14:24:00 +02:00
Armin Novak
7dc47bca4f Compare rdp file options case insensitive 2019-09-11 10:26:37 +02:00
Armin Novak
18ec98c402 Set default connection type to autodetect for RDP files. 2019-09-05 12:20:40 +02:00
Armin Novak
cebddbd65b Fix various compiler warnings for wfreerdp. 2019-09-03 15:11:18 +02:00
Armin Novak
d69ad3ee59 Fixed missing NULL check. 2019-09-03 08:56:59 +02:00
Armin Novak
843f18b110 Fix issue reported in #5560: language bar might not be supported by server. 2019-09-03 08:07:45 +02:00
Armin Novak
12b0b9ea28 Do not use named events, they are global! 2019-09-02 15:28:31 +02:00
Armin Novak
c6d9bfce42 Allow /drive:<name>,* syntax.:wq 2019-08-30 13:50:33 +02:00
Martin Fleisz
29f914f178
Merge pull request #5541 from akallabeth/rdp_file_full_drivestoredirect_parsing
Rdp file full drivestoredirect parsing
2019-08-30 11:29:06 +02:00
Armin Novak
53ee0fbc33 Added GUI/console switch for input callbacks. (disabled until AttachConsole + stdin work) 2019-08-29 19:28:50 +02:00
Armin Novak
1a322bb98b Added command line or dialog certificate handling. 2019-08-29 19:03:03 +02:00
Armin Novak
09c61dc465 Fix #5554: audin is a dynamic channel 2019-08-29 18:46:49 +02:00
Armin Novak
a93b15fdef Sanitize drive redirection names. 2019-08-29 17:53:36 +02:00
Armin Novak
81c60631a9 Reattach to cmd if wfreerdp was started from one. 2019-08-29 13:47:53 +02:00
Armin Novak
6c17d138bd Read and write RDP file 'prompt for credentials' 2019-08-27 12:24:28 +02:00
David Fort
96aeb8512d keyboard: don't catch Ctrl+Alt-C if encomsp is not activated 2019-08-23 12:57:10 +02:00
Armin Novak
fdf1715213 Unified DriveStoreRedirect parsing. 2019-08-23 12:06:21 +02:00
Armin Novak
d8bf05367b Added support for drivestoreredirect:s:<path>(<path>) syntax 2019-08-23 11:18:32 +02:00
Armin Novak
0af53bff9b Allow DynamicDrives as special option for /drive 2019-08-23 10:27:01 +02:00
Armin Novak
35cb729f31 Added drivestoredirect option value parser 2019-08-23 10:27:01 +02:00
Armin Novak
3dec88f5e3 added BandwidthAutoDetect parsing. 2019-08-22 16:13:04 +02:00
Armin Novak
f0ee2cbb97 Automatically activate GFX and RFX codec support on autodetect. 2019-08-22 16:13:04 +02:00
Martin Fleisz
0a4bc1ff94
Merge pull request #5523 from akallabeth/rdp_parser_null_checks
Rdp parser null checks
2019-08-20 16:50:55 +02:00
Louis Sautier
60152291b3 client: proxy: allow passing SOCKS5 proxies as env. vars 2019-08-20 14:06:38 +02:00
Martin Fleisz
81cb0a7ee5 client/common: Remove incorrect prompt for creds parsing (#5528)
"prompt for credentials on client" was incorrectly merged together with
"prompt for credentials" into a single setting. However the first option
determines if the client should prompt for credentials if the remote
server does not support server authentication. "prompt for credentials"
on the other hand determines if the client should use any previously
stored credentials or if it should always prompt for them.
2019-08-20 10:07:10 +02:00
Armin Novak
14dfb99a6f Fixed NULL buffer access and alignment warnings. 2019-08-14 09:49:02 +02:00
rbarnett
8fee295733 Do not try to free a colormap that FreeRDP did not create. 2019-08-13 09:03:19 +02:00
kubistika
4503684736 client: xf_channels: remove unused settings variable 2019-08-02 20:10:56 +03:00