Commit Graph

594 Commits

Author SHA1 Message Date
garbb 22bd0a43e6 add windows client assistance request control menu item 2022-09-16 08:47:06 +02:00
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
akallabeth 9a2a37786e Refactored clipboard structs 2022-07-04 14:31:08 +02:00
akallabeth ebf5de1d1d Preset LoadChannels function pointer 2022-06-29 09:18:53 +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 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
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
Armin Novak 4bbc50a4d7 Explicitly link NTDLL for windows client 2022-05-02 09:08:10 +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 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 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
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
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
Armin Novak 71aac852d6 Remove async-input from clients 2022-03-08 15:37:19 +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 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 cb351a099d Enable smartcard NLA logon 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
akallabeth 8b3f9431de Cleanup/code formatting 2022-02-22 09:44:13 +01:00
akallabeth 700d6dcd9e Use client/common mouse 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 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
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 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
akallabeth e6e6ed5dbd Cleaned up PubSub
* Callback arguments now const
* Fixed missing includes
2022-01-19 09:24:57 +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 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
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
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
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
Armin Novak 0d79670a28 Fixed missing input checks for file contents request
reported by Valentino Ricotta (Thalium)
2021-07-22 15:10:18 +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 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 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 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
Biswapriyo Nath 173ab04b59 Use same data types as calling function prototypes. 2021-05-31 13:38:19 +02:00
Biswapriyo Nath fb9b9d2e57 client: Remove UTF-8 BOM character in RC file. 2021-05-25 09:41:44 +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
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
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
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
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 8b8016ec21 Fixed call to GetKeyboardLayout 2020-12-15 11:29:51 +01: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
Armin Novak dfbeeb1e16 Fixed #6335: windows client title length 2020-07-06 09:16:55 +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 cbee45aace Fixed clipboard 'called with invalid type' warning 2020-05-06 13:31:57 +02:00
akallabeth 9379f93034 Fixed #6121: Use correct destination color format 2020-04-28 12:40:03 +02:00
xie.kunming 979798f51c wf_cliprdr.c forget OleUninitialize if create_cliprdr_window failed 2020-03-02 11:45:45 +01:00
Armin Novak 2822585db4 Disable windows console attach. 2020-02-12 15:47:31 +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
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 72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +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 cebddbd65b Fix various compiler warnings for wfreerdp. 2019-09-03 15:11:18 +02:00
Armin Novak 12b0b9ea28 Do not use named events, they are global! 2019-09-02 15:28:31 +02:00