Commit Graph

3775 Commits

Author SHA1 Message Date
garbb
e06ac251d5
[windows] Disable input events on focus loss (#8199) 2022-09-13 09:34:15 +02:00
garbb
383ecc3cbd fix graphics glitch on toggle smart-sizing 2022-09-13 09:23:32 +02:00
Armin Novak
707b9348ee Unify encomsp request control code 2022-09-13 09:22:41 +02:00
garbb
8d00137cad Update wf_channels.c 2022-09-12 12:58:28 +02:00
garbb
4c2c6ed310 Update wf_client.h 2022-09-12 12:58:28 +02:00
garbb
51085a1e26 Update wf_channels.c 2022-09-12 12:58:28 +02:00
garbb
0bf644aa9a Update wf_client.h 2022-09-12 12:58:28 +02:00
garbb
5346b6628b Update wf_channels.c 2022-09-12 12:58:28 +02:00
garbb
3d12e4e8ff do not resize client window if emart sizing is enabled
If smart-sizing option is enabled in windows client and the server's desktop resolution changes, do not change the size of the client window.
This is because I would assume that if the user has enabled smart-sizing, they would intend for the window to be set to a particular size and not change.
Also, when connecting to windows 10 client, `wf_desktop_resize()` is called once just after connect and so if wfreerdp is run with `/smart-sizing:WxH` then the window will start at the size `WxH` but then immediately change to the desktop resolution of the server which makes the `/smart-sizing:WxH` parameter effectively do nothing.
2022-09-12 09:23:05 +02:00
garbb
ef5316ca1d Update wf_client.c 2022-09-12 08:40:10 +02:00
garbb
c5573371c2 Update wf_client.c 2022-09-12 08:40:10 +02:00
garbb
bb487f045a Update wf_client.c 2022-09-12 08:40:10 +02:00
garbb
9dc75441ec Update wf_gdi.h 2022-09-12 08:40:10 +02:00
garbb
c869e647fa fix scaling of update rect on windows client 2022-09-12 08:40:10 +02:00
garbb
4dbac37aed Update wf_gdi.c 2022-09-12 08:35:38 +02:00
garbb
7cfafee570 add /smart-sizing:WxH and /window-position:XxY for windows client 2022-09-12 08:35:38 +02:00
Kang Lin
98db5691e1
FIX: error checking (#8181) 2022-09-07 09:23:48 +02:00
Martin Fleisz
d8ac6e978e x11: Fix disconnects if WITH_XCURSOR is set to OFF
Fix disconnects if WITH_XCURSOR is set to OFF. In that case xf_Pointer_New currently returns FALSE causing a disconnect.
2022-09-05 14:12:47 +02:00
David Fort
4fc7a9417d
Various fixes / improvements (#8146)
* xfreerdp: fix typo in logs

* winpr: file appender, small code cleanup

* shadow-server: add an option for TLS secrets

This allows to dissect connections to the shadow server.
2022-08-22 09:42:15 +02:00
liuyuh007
95b4d3cd3d
Update cmdline.c (#8140)
ipv6 port parse error
2022-08-19 13:43:44 +02:00
2fly2
8dfadc5885
fix moving a window shrinks it 14x7 when connect to server 2019 (#8083)
* fix moving a window shrinks it 14x7 when connect to server 2019

Signed-off-by: 2fly2 <wjatchd@163.com>

* use clang-format to apply correct formatting

Signed-off-by: 2fly2 <wjatchd@163.com>

Signed-off-by: 2fly2 <wjatchd@163.com>
2022-08-16 14:22:03 +02:00
Jianfeng Liu
899424e941
xf_floatbar use XmbDrawString instead of XDrawString (#8127)
* xf_floatbar use XmbDrawString instead of XDrawString

* xf_floatbar fall back to XDrawString when fontSet is NULL

Co-authored-by: Jianfeng Liu <jfliu@zshield.net>
2022-08-16 14:21:06 +02:00
David Fort
942273e9cb
tls: add an option to dump tls secrets for wireshark decoding (#8120)
This new option /tls-secret-file:<file> allows to dump TLS secrets in a file with
the SSLKEYLOGFILE format. So this way you can setup the TLS dissector of wireshark
(Pre-Master-Secret log filename) and see the traffic in clear in wireshark.
It also add some more PFS ciphers to remove for netmon captures.
2022-08-16 10:40:32 +02:00
zengguang
e3cfe7300c
Fixed app windows destroy will do close(0) (#8073)
shmid was not initailized on creation of app window, that will be close fd = 0. everytimes in app windows destroy (Call xf_DestroyWindow ).
2022-07-15 09:18:45 +02:00
Armin Novak
b2df9207e4 Fixed #8054: multimonitor settings 2022-07-07 14:24:07 +00:00
Pascal Nowack
6492a00959 client/X11: Relieve CLIPRDR filename restriction when possible
Microsoft Windows imposes strict filename restrictions on its platform.
As RDP is developed by Microsoft and the RDS in MS Windows is typically
used as remote desktop server for the RDP protocol, these filename
restrictions are also enforced in WinPR, when copy-pasting files over
the clipboard.
However, in some connections no peer on MS Windows is involved and in
these situations, these filename restrictions are just an annoyance.

With a recent API addition in WinPR, it is now possible to override the
callback, where the filename is checked, whether it is valid.
So, use this new API to relieve the filename restriction, when the
connected remote desktop server is not on MS Windows.
2022-07-07 07:45:26 +00:00
David Véron
a3712521a8 TLS version control
* added settings for minimal and maximal TLS versions supported
* refactorisation of the force TLSv1.2 setting
2022-07-07 07:13:11 +00:00
akallabeth
2da280b8a1 Fixed compilation warnings 2022-07-04 14:59:21 +02:00
akallabeth
9a2a37786e Refactored clipboard structs 2022-07-04 14:31:08 +02:00
akallabeth
c07d240bc8 Updated pointer debug log messages 2022-07-04 14:30:49 +02:00
akallabeth
b8f3743e82 Update scaled pointer on FocusIn 2022-07-04 14:30:49 +02:00
akallabeth
2c814138cc Fixed xf_Pointer_GetCursorForCurrentScale check 2022-07-04 14:30:49 +02:00
akallabeth
51f4c374c4 Clear OpenSSL error queue before BIO_read/BIO_write 2022-07-02 16:32:50 +02:00
akallabeth
cb96e6143d Fixed -Wshadow warnings 2022-06-30 10:49:02 +02:00
akallabeth
e07233ccef Fixed float comparson 2022-06-29 18:10:33 +02:00
akallabeth
291458d2d5 Cleaned up xfreerdp error code mapping 2022-06-29 09:18:53 +02:00
akallabeth
ebf5de1d1d Preset LoadChannels function pointer 2022-06-29 09:18:53 +02:00
akallabeth
fbe1075a30 Fixed xfreerdp clipboard resource cleanup 2022-06-23 14:19:50 +02:00
akallabeth
ce2e3ab0c7 Add better explanation of FreeRDP_EnforceTLSv1_2 2022-06-23 09:18:37 +02:00
Siva Gudivada
7ce4d8b196 add a new flag to enforce tls1.2 2022-06-23 09:18:37 +02:00
akallabeth
bc8b4ade1c reformatted 2022-06-23 08:48:39 +02:00
akallabeth
0029f8a61d Fixed windows client argument mismatch warnings 2022-06-23 07:45:55 +02:00
akallabeth
de91cec5bf Fixed const warning 2022-06-23 07:45:55 +02:00
akallabeth
90ce22283d Replaced direct settings access with getter/setter 2022-06-23 07:45:55 +02:00
akallabeth
650a275ceb Added new client callback LoadChannels and freerdp_client_load_channels
Split channel loading from PreConnect as it might be necessary to
reinitialize channels on redirect
2022-06-23 07:45:55 +02:00
Armin Novak
66e73f8b08 Fixed missing static for functions, fixed declaration of FreeRDPAreColorFormatsEqualNoAlpha 2022-06-21 10:28:34 +02:00
akallabeth
f25261e271 Unifiy string append functions 2022-06-17 08:41:46 +02:00
Marc-André Moreau
161617c4a4 Implement RDP persistent bitmap cache 2022-06-08 23:37:06 +02:00
Marc-André Moreau
1d5c0be5ec Add settings to load a custom SSPI shared library module 2022-06-01 15:16:12 +02:00
akallabeth
bbf3b8deba Cleaned up xf_AppWindowFromX11Window use 2022-05-19 11:23:43 +02:00
2fly2
8f831ed324 fix RAIL abort when reconnect
Signed-off-by: 2fly2 <wjatchd@163.com>
2022-05-19 11:23:43 +02:00
akallabeth
00d9c64507 Android auto version code 2022-05-13 10:38:26 +02:00
David Fort
77413f49b2 winpr: rework alignment functions
_align_XXX functions aren't widely available depending on the C runtime. That causes
problems with mingw where we can easily have some runtime mixes (which lead to mysterious
segfaults most of the time). This patch introduce winpr_aligned_XXX functions that will
either use the function available, or use an emulation layer.
2022-05-12 11:36:01 +02:00
2fly2
e1e2eef4e1 fix moving a window shrinks it 14x7 when connect to server 2019
Signed-off-by: 2fly2 <wjatchd@163.com>
2022-05-07 13:34:27 +02:00
David Fort
4ffd3e84b9 smartcard: take in account pkcs11-module in smartcard listing and print pkcs11 errors 2022-05-06 13:39:26 +02:00
dev
1c15073508 some compile fixes 2022-05-03 11:48:20 +02:00
akallabeth
3d9c972d5c
Replace direct rdpSettings access with getter/setter (#7867)
* Replace direct rdpSettings access with getter/setter

* Fixed xf_gdi_update_screen const warning
2022-05-02 10:55:44 +02:00
Armin Novak
4bbc50a4d7 Explicitly link NTDLL for windows client 2022-05-02 09:08:10 +02:00
akallabeth
575dbf523f Fixed uninitialized DeviceArray 2022-05-01 11:42:55 +02:00
akallabeth
0422cf9892 Fixed invalid argument types 2022-04-29 14:38:41 +02:00
akallabeth
6bc7f6ca88 Fixed cast-qual warnings 2022-04-28 12:37:19 +02:00
akallabeth
962c5c3ef0 Fixed dead store warnings 2022-04-28 12:37:19 +02:00
akallabeth
6fd71fe737 Eliminate Dead nested assignment warnings 2022-04-28 12:37:19 +02:00
akallabeth
ec699f6c75 scanbuild fixes 2022-04-28 12:37:19 +02:00
akallabeth
1dcc5a180a Fixed warnings 2022-04-28 11:24:51 +02:00
akallabeth
cc3e28f2f1 Fixed -Wdocumentation errors 2022-04-28 11:24:51 +02:00
akallabeth
2dfc1ddb12 Removed obsolete trio 2022-04-28 10:49:09 +02:00
akallabeth
d68327ad74 Fixed const correctness of pPointer_Set
Pointer might need to be modified
2022-04-28 09:17:20 +02:00
akallabeth
667b471686 Fixed cast-quality warnings 2022-04-28 09:17:20 +02:00
akallabeth
fb90ac280a Refactored color.h
* Remove implementations from header
* Rename functions to be FreeRDP specific
* Add deprecation define for old names
* Fixed missing includes
2022-04-28 08:40:47 +02:00
akallabeth
d3e1810473 Follow up to #7832: Add NULL checks 2022-04-27 23:29:44 +02:00
2fly2
56b0ca7b3f fix restore a maximized window when it is minimized
Signed-off-by: 2fly2 <wjatchd@163.com>
2022-04-27 18:15:56 +02:00
Armin Novak
ad20e431cc Fix #7834: Check if optional argument value is present 2022-04-27 18:00:32 +02:00
2fly2
83aaa4e575 fix x11 black RAIL window when connect to server 2019
Signed-off-by: 2fly2 <wjatchd@163.com>
2022-04-22 10:16:49 +02:00
Armin Novak
9036b83e87 Fixed setting GatewayHostname 2022-04-20 15:24:45 +02:00
akallabeth
f99491c354
Fixed /gt:xxx settings (#7808)
* Disable websocket support with RPC
* Use settings getter/setter
2022-04-19 14:47:57 +02:00
akallabeth
73cdcdfe09
Logging and parser fixes (#7796)
* Fixed remdesk settings pointer

* Fixed sign warnings in display_write_monitor_layout_pdu

* Use freerdp_abort_connect_context and freerdp_shall_disconnect_context

* Added and updates settings

* info assert/dynamic timezone

* mcs assert/log/flags

* Fixed and added assertions for wStream

* Unified stream length checks

* Added new function to check for lenght and log
* Replace all usages with this new function

* Cleaned up PER, added parser logging

* Cleaned up BER, added parser logging

* log messages

* Modified Stream_CheckAndLogRequiredLengthEx

* Allow custom format and options
* Add Stream_CheckAndLogRequiredLengthExVa for prepared va_list

* Improved Stream_CheckAndLogRequiredLength

* Now have log level adjustable
* Added function equivalents for existing logger
* Added a backtrace in case of a failure is detected

* Fixed public API input checks
2022-04-19 14:29:17 +02:00
akallabeth
752ac3b479
Fix #7793: Do not expose internal input API (#7794)
* Fixed GetFileInformationByHandle initializers

* Fix #7793: Do not expose internal input API

Slow-Path input uses UINT16 for scancodes on wire, but only the
lower byte is actually used. (the extended fields are sent in
keyboardFlags field)
Hide this implementation detail and adjust the API to use UINT8
for the code instead just like the corresponding Fast-Path PDU

* Added a warning for problematic slow path keyCodes
2022-04-13 09:34:05 +02:00
Stefan Koell
df3737b085 wfreerdp-client: make keyboard work when /parent-window is provided 2022-04-10 20:10:54 +02:00
Stefan Koell
e48d3e509a winpr: fix cache assertion before it's been created 2022-04-08 11:26:29 +02:00
Adrian Vollmer
1adb263813 Updated doc regarding proxy URL syntax 2022-04-05 09:22:48 +02:00
Adrian Vollmer
a19de01fe3 Applied requested changes
* Add `proxy_utils.h`
* Move `proxy_parse_uri()` back to `proxy.c`
* Copy function `value_to_int` to `proxy.c`
* Remove memory leak (`uri_copy`)
2022-04-05 09:22:48 +02:00
Adrian Vollmer
28923ddd75 Fixed parsing of https_proxy environment variable
A proxy URI was parsed both in the function `proxy_read_environment()` in
`libfreerdp/core/proxy.c` and in the function
`freerdp_client_settings_parse_command_line_arguments()` in
`client/common/cmdline.c`. But only the latter was taking into account
that the URI can contain a user and password, which made it impossible
to use a proxy with authentication by just using an environment
variable like `https_proxy`.

The function `proxy_parse_uri()` in `libfreerdp/core/proxy.c` was
clearly not parsing the optional username and password.

This commit moves the code from `client/common/cmdline.c` to
`libfreerdp/common/settings.c` into a function `proxy_parse_uri()` so
redundant code is avoided. This function is then called in both
instances where a proxy URI is parsed.

Some minor adjustment were made to the code, so the `WLog_INFO()`
statement at the end works in both cases, where credentials were either
provided or not. Also, some error messages were added or clarified.

If the parsing of the environment variable fails, we ignore it entirely
(with a warning) and proceed.
2022-04-05 09:22:48 +02:00
Pascal Nowack
e68897a694 X11/cliprdr: Clear selection requests, when they become invalid
When a FormatDataRequest by xfreerdp is answered with the
CB_RESPONSE_FAIL flag, then the request was answered, but xfreerdp does
not mark it as answered, by leaving the request as pending.
This results in non-functional copy-paste actions, when copying
something from the server side, after the failed request.
A similar situation can happen, when a new FormatList is received,
while there is a pending FormatDataRequest.

Fix these situations by clearing the pending request, when a form of an
answer, either via CB_RESPONSE_FAIL flag or via new FormatList, is
received.

Fixes: https://github.com/FreeRDP/FreeRDP/issues/7757
2022-03-29 13:39:07 +02:00
Ely Ronnen
29fcfdce03 building android client modules abi based on if the native modules exists in jniLibs 2022-03-28 19:30:12 +02:00
eronnen
be07eb6f35 moving android client build to be part of aFreeRDP.apk gradle build 2022-03-28 19:30:12 +02:00
akallabeth
d22ef1786b Proper use of rdpSettings in client
* Use getter/setter
* Fix uninitialized uses
2022-03-28 15:52:32 +02:00
akallabeth
14568872a9
Instance cleanup (#7738)
* Cleaned up freerdp::autodetect

* Deprecate freerdp::input

* Deprecated freerdp::update

* Deprecated freerdp::settings

* Deprecated freerdp::autodetect

* Removed rdpTransport::settings

* Deprecated freerdp_per::update|settings|autodetect

* Fixed mac client and server compilation

* Fixed windows compilation

* Added deprecation warnings

* Fixed initialization of structs.

* Fixed android build

* Fixed freerdp_client_context_new const correctness

* Fixed checks for android implementation

Replaced checks with assertions where appropriate

* Fixed checks for windows client

Replaced checks with assertions where appropriate

* Fixed proxy client pointer dereference
2022-03-23 13:18:35 +01:00
Kazuki Oikawa
98f9aedd62 Supports 10bit X11 color (BGRX32 only) 2022-03-20 10:05:18 +01:00
akallabeth
fa59c4b705 Fixed compile warnings 2022-03-18 07:50:54 +01:00
Richard Markiewicz
32a1f2cc66 freerdp: fix buffer overflow in MRDPView 2022-03-18 07:50:16 +01:00
Armin Novak
9bf2fde765 Added patch from #4660 @mokyle
do not deactivate rail windows, just keep them always on
2022-03-16 21:40:34 +01:00
Martin Fleisz
5b9290fc6c client: Fix error when compiling with WITH_CHANNELS=OFF 2022-03-16 14:47:41 +01:00
akallabeth
704289ffee
Smartcard tls logon fix (#7709)
* Early return authenticate if TLS smartcard logon

* Removed obsolete SmartcardPin and unified AuthenticateEx calls

* Remove password-is-pin from command line

The setting is implied by smartcard-logon and only of interest in
server side code, so the setting is useless

* Rework AUTH_SMARTCARD_PIN

Just prompt for PIN and not user/domain if this is requested.

* Fixed a memory leak in nla.c

* Align credentail prompt

* Handle AUTH_NLA & smartcard, just ask for PIN

* Added assertions, removed duplicate password prompt check

* Move smartcard logon after credential prompt
2022-03-09 09:09:53 +01:00
Armin Novak
71aac852d6 Remove async-input from clients 2022-03-08 15:37:19 +01:00
Armin Novak
25e8a362b1 Abort autoreconnect if a user cancel action was triggered. 2022-03-07 15:13:34 +01:00
akallabeth
3d38d2636c Decreased logging verbosity for INFO level 2022-03-04 09:34:02 +01:00
Armin Novak
c3ac5b7b89 Fixed mac warning 2022-03-03 11:26:48 +01:00
Armin Novak
4d03d7c0bf Freerdp remove #ifdef HAVE_CONFIG_H 2022-03-03 11:26:48 +01:00
Armin Novak
b2ad47a809 Reorganized FreeRDP headers 2022-03-03 11:26:48 +01:00
akallabeth
121e736694 Use _vsnwprintf instead of vswprintf_s 2022-02-28 16:49:18 +01:00
Armin Novak
7b65677b65 Improved command line help printing 2022-02-24 14:48:46 +01:00
Armin Novak
6a2524d2a8 Cleaned up imports 2022-02-24 12:06:06 +01:00
Armin Novak
6dfd490351 Fixed GetStringUTFChars return value type 2022-02-24 12:06:06 +01:00
David Fort
34c5b65064 Move some options to /kerberos block 2022-02-24 08:52:25 +01:00
Armin Novak
8ff70baf53 Const correct parseSubOptions
* Function static
* Arguments const where applicable
2022-02-24 08:52:25 +01:00
Armin Novak
150674f341 Moved headers to appropriate places 2022-02-24 08:52:25 +01:00
David Fort
0435b5a65d Implement smartcard logon 2022-02-24 08:52:25 +01:00
Armin Novak
b3790d7454 Removed Smartcard files from settings
* Removed file names from settings
* Added temporary file creation for pkinit
2022-02-24 08:52:25 +01:00
Armin Novak
649527ef8d Fixed const correctness of freerdp_smartcard_list 2022-02-24 08:52:25 +01:00
Armin Novak
b46d74806e Removed FreeRDP_ListSmartcards setting
* Directly print smartcard list without intermediate setting
* Centralize the help text, clients do not need to add extra code
2022-02-24 08:52:25 +01:00
David Fort
44c82cd929 Fixes various akallabeth remarks 2022-02-24 08:52:25 +01:00
Armin Novak
a00238d253 Use freerdp_settings_set and _strdup 2022-02-24 08:52:25 +01:00
David Fort
cb351a099d Enable smartcard NLA logon 2022-02-24 08:52:25 +01:00
David Fort
62ac25ef54 smartcard_emu: enable to specify the smartcard pin 2022-02-24 08:52:25 +01:00
Armin Novak
538b34c51d Moved rail application start to client common 2022-02-22 16:43:21 +01:00
Armin Novak
1b71bba2a0 Fixed compilation warnings 2022-02-22 11:29:56 +01:00
Armin Novak
0c7e6c3c2d Refactored disp channel
* Assert all input parameters
* Use DISP_CHANNEL_NAME define for channel name
2022-02-22 11:29:56 +01:00
akallabeth
8b3f9431de Cleanup/code formatting 2022-02-22 09:44:13 +01:00
Armin Novak
f03059e718 Extended AINPUT API:
* Each event now has a timestamp
* Relative and absolute events are sent simultaneously
* Added a flag indicating relative events are available
2022-02-22 09:44:13 +01:00
akallabeth
e136444f51 Fixed xinput and x11 event priority
* Prefer xinput events over x11 events for mouse input
* Prefer xinput raw events over xinput events:
  * Only use when the mouse is grabbed (events are not bound to a
    specific window but are global)
  * Only use for relative mouse input
2022-02-22 09:44:13 +01:00
akallabeth
e5592772ce Check return of ainput mouse event 2022-02-22 09:44:13 +01:00
akallabeth
d3ee52b0f8 Fix conversion of mous wheel valuet 2022-02-22 09:44:13 +01:00
akallabeth
d4be1717c2 Fixed window check
Ignore mouse events not originating in session window
2022-02-22 09:44:13 +01:00
akallabeth
855c9d3f4c Fixed broken format string 2022-02-22 09:44:13 +01:00
akallabeth
de81f54076 Add relative mouse input and no channel support 2022-02-22 09:44:13 +01:00
akallabeth
8a5bd522c7 Fixed scaling of discrete wheel input. 2022-02-22 09:44:13 +01:00
akallabeth
db00082974 Implemented xfreerdp relative mouse input 2022-02-22 09:44:13 +01:00
akallabeth
b1a2efde7d Implemented xfreerdp mouse grab 2022-02-22 09:44:13 +01:00
akallabeth
700d6dcd9e Use client/common mouse functions 2022-02-22 09:44:13 +01:00
akallabeth
4d3157c9cc Added common client mouse event functions 2022-02-22 09:44:13 +01:00
akallabeth
b2b70fcf6d Use common client channel handling 2022-02-22 09:44:13 +01:00
akallabeth
4ca5078027 Added common client channel handling 2022-02-22 09:44:13 +01:00
Armin Novak
b85333bb9e Automatically load advanced input channel 2022-02-22 09:44:13 +01:00
akallabeth
cdbfff87ea Unified client stop 2022-02-22 09:44:13 +01:00
akallabeth
7641710f60 Use a client/common context component
* Allows moving common client code from specific client to a
  generic client/common implementation
2022-02-22 09:44:13 +01:00
Armin Novak
da9edc1829 Added mouse-relative option to command line 2022-02-22 09:44:13 +01:00
zbstao
bab45ff7da Fixed invalid password prompt on Windows system
Fixed invalid password prompt on Windows system
2022-02-17 11:01:34 +00:00
akallabeth
e3cf5928c4 Make mac native client build configuratble 2022-02-17 09:53:52 +00:00
Sumir Jha
3d77496fbb memory grows over time in wlfreerdp with /gfx:AVC44 fixed. 2022-02-15 10:58:41 +00:00
akallabeth
8cc6582044
Unify struct definitions (#7633)
* Unified enum/struct definitions, fixed include issues

* Fixed mac compilation issues

* Added missing include

* Fixed windows server build warnings

* Fixed VS2010 build issue

* Removed unnecessary library linking

* Fixed ThreadPool WinXP compatibility

* Fixed pr review remarks
2022-02-14 14:59:22 +01:00
Armin Novak
0cceaaf704 Fixed #7636: GetStringUTFLength requires jstring argument 2022-02-14 07:29:05 +00:00
Armin Novak
80cd8dcdc3 Fixed cyclic include 2022-02-10 12:49:00 +00:00
Armin Novak
cefb4e1237 Use freerdp_settings_set and _strdup 2022-02-02 13:43:31 +00:00
Armin Novak
3303aa1446 Fixed format string 2022-02-02 07:57:56 +00:00
Armin Novak
ef8c6e9a51 Fixed deprecated mac symbols 2022-02-02 07:57:56 +00:00
Armin Novak
b02995fc0b Fixed missing public linking for freerdp-client 2022-02-01 11:04:32 +00:00
Armin Novak
ca30e749e9 Fixed unused-but-set-variable and reserved identifier warnings 2022-02-01 08:48:21 +01:00
Armin Novak
aa3f3ea95f Fixed const warnings 2022-01-31 16:13:06 +01:00
Armin Novak
b9cfa10513 Fixed some more warnings 2022-01-31 15:55:10 +01:00
Armin Novak
2e17cee5a9 Fixed various warnings. 2022-01-31 15:55:10 +01:00
Armin Novak
691ba447d2 Added better way to check for H264 support
* Added a function that actually tests, if H264 is working.
2022-01-26 12:22:41 +01:00
akallabeth
7dedfbb0b0 Added support for getpwuid_r, replaced duplicate code
* Use GetUserNameExA to get current user name when required.
* Add support for getpwuid_r if available
2022-01-25 15:33:04 +01:00
Marek Vasut
bda2421c57 cmdline: Always reinitialize NetworkAutoDetect
Always reinitialize NetworkAutoDetect, otherwise it might end set to
previous value and not the desired one. This happens when the client
sets /network:lan , in which case NetworkAutoDetect remains set to
TRUE because freerdp_set_connection_type() was previously called in
prepare_default_settings() and NetworkAutoDetect is never updated by
freerdp_set_connection_type() afterward.

Signed-off-by: Marek Vasut <marex@denx.de>
2022-01-23 10:47:29 +01:00
akallabeth
e6e6ed5dbd Cleaned up PubSub
* Callback arguments now const
* Fixed missing includes
2022-01-19 09:24:57 +01:00
Armin Novak
1fedd36f65 Fixed proxy compilation issues after rdpUpdate refactoring 2022-01-18 11:24:23 +01:00
akallabeth
8cf0a21acd Increased required android version to 6.0 (API 23)
There are library loader issues with OpenSSL below that API version.
(Undefined symbols most likely due to versioning mismatches of the
OpenSSL build)
2022-01-18 09:06:43 +01:00
akallabeth
dd489e27f2 Skip library version from android glue library 2022-01-18 09:06:43 +01:00
akallabeth
df7daaec60 Fixed build tool version 2022-01-14 10:39:46 +01:00
akallabeth
1affec77d0 Fixed #7541: maximum resolution, removed unused strings 2022-01-14 10:39:46 +01:00
akallabeth
8691c9f8dd Updated build tools 2022-01-14 10:39:46 +01:00
akallabeth
755442cc1b Updated android build dependencies 2022-01-14 10:39:46 +01:00
akallabeth
b8a48ae83b Fixed #7549: Fix broken wayland event type check 2022-01-13 16:44:12 +01:00
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