Commit Graph

594 Commits

Author SHA1 Message Date
Armin Novak b04271ae2d [cmake] add executable versioning
optionally append API version to generated binaries
2023-12-21 18:56:51 +01:00
Stefan Koell 155cd2e561 Fix DPI issue when parent-window specified 2023-11-28 12:25:07 +01:00
David Fort 137f9fc2f2 [client,win]: warning fixes and opaque settings fixes 2023-11-25 08:00:27 +01:00
Armin Novak 9261f5c001 [client,windows] fix getter for ParentWindowId 2023-11-24 18:19:03 +01:00
akallabeth 4e438d1c3e [client] make settings opaque 2023-11-24 14:54:56 +01:00
Armin Novak 60ceff95c5 [fflush] remove of unnecessary fflush 2023-11-20 18:00:42 +01:00
David Fort d9fda957e7 [build] fix windows build under mingw
The path to resource file was wrong.
2023-11-13 19:43:44 +01:00
Stefan Koell 82df1c97ae fixed code style 2023-09-13 14:47:08 +02:00
Stefan Koell c81e045cee wfreerdp-client: Handle credman domain qualified username correctly
If credentials are read from the Windows credential manager, and the **username** contains the **domain** portion (`domain\username`), a connection couldn't be establish.
This PR parses the username and domain, sets the correct properties in the settings structure pretty much the same way the CLI args handling is doing.
2023-09-13 14:47:08 +02:00
Marc-André Moreau 98b4ff559b fix issue with using find_library for Windows system libraries 2023-08-23 09:46:53 +02:00
akallabeth b12e2ee469 [cmake] do not require NTDLL 2023-08-04 12:59:11 +02:00
akallabeth eb67f41a50 [cmake] use find_library for windows libs 2023-08-01 13:32:35 +02:00
Kai Pastor 5ecc011c13 Export interface include directories 2023-08-01 11:12:46 +02:00
Armin Novak df3bed95a5 [client,windows] fix cast warnings 2023-07-28 15:48:32 +02:00
Armin Novak ffacfc0432 [client,windows] fix const warnings 2023-07-28 13:42:12 +02:00
Armin Novak 78cea184aa [client,windows] remove unused label 2023-07-28 13:42:12 +02:00
2fly2 7f3390ef88 fix the issue of incorrect display of remote desktop cursor
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setcursor
"If your application must set the cursor while it is in a window, make sure the class cursor for the specified window's class is set to NULL. If the class cursor is not NULL, the system restores the class cursor each time the mouse is moved."
2023-07-19 08:21:43 +02:00
Armin Novak 9cfde30ec0 [client,windows] implement AuthenticateEx
the newer callback provides more options (e.g. smartcard pin, ...)
2023-07-17 14:09:44 +02:00
Armin Novak 9f1bcc07b6 [client,windows] use CredUI flag CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS 2023-04-05 11:42:06 +02:00
Armin Novak 1e63d8c493 [utils,passphrase] use CredUI on windows 2023-04-05 11:42:06 +02:00
Armin Novak 659baa905c [utils] fix windows console read
On windows freerdp_interruptible_getc did not work at all. Fix this so
that reading characters works. This still does not hide input for
passwords or is actually interruptible, but at least it reads the data
correctly.
2023-04-05 11:42:06 +02:00
luoyuan 37b0defd86 [client,windows]fix: keyboard focus error when minimize window by click taskbar icon
Signed-off-by: luoyuan <luoyuan@innosilicon.com.cn>
2023-03-24 08:50:49 +01:00
akallabeth 9515babd69 [client,windows] unify ctrl & alt down check 2023-03-23 08:46:49 +01:00
bugiii 8967ed1cff Add CTRL+ALT+Break, remove WM_SYSKEYDOWN 2023-03-23 08:46:49 +01:00
bugiii bad802b6cd Update wf_event.c
Modified to recognize CTRL+ALT+ENTER using the already implemented keystates array.
2023-03-23 08:46:49 +01:00
Armin Novak 39b3847428 [client,windows] fix pointer type 2023-03-13 09:36:07 +01:00
Armin Novak 5829079756 [client,windows] remove calls to now private functions 2023-03-05 17:03:18 +01:00
Armin Novak 8af35bd42a [client] add deprecation/experimental warnings 2023-03-01 13:45:13 +01:00
akallabeth adce7378c3 [core,cache] make protocol caches private
most protocol internal caches do not need to be exposed. this reduces
the public API and allows us to more easily improve/change this during a
release cycle
2023-02-27 17:31:52 +01:00
Martin Fleisz 1bec63c2f2 client/win: Fix invalid ShowWindow call from gfx thread
ShowWindow must be called from the thread that owns the window.
Currently it might be called from the gfx channel thread which causes
random app hangs/window not showing up issues.
2023-02-16 10:41:21 +01:00
Armin Novak 5d97a03bf4 [client] auto intialize callbacks
initialize all message/user query callbacks with client_cli_*
2023-02-15 13:34:18 +01:00
Armin Novak 2b49047c34 [client] Fix keyboard input
properly pass key repeat events to the server.
2022-12-13 14:37:05 +01:00
Armin Novak 5a24ec2171 [client,windows] release keyboard grab on minimize 2022-12-09 11:28:21 +01:00
Armin Novak 40b55466bf [client,windows] Fixed useless string conversion 2022-11-28 10:42:36 +01:00
akallabeth 5799fb2018 Replace ConvertFromUnicode and ConvertToUnicode
* Use new ConvertUtf8ToWChar, ConvertUtf8NToWChar,
  ConvertUtf8ToWCharAlloc and ConvertUtf8NToWCharAlloc
* Use new ConvertWCharToUtf8, ConvertWCharNToUtf8,
  ConvertWCharToUtf8Alloc and ConvertWCharNToUtf8Alloc
* Use new Stream UTF16 to/from UTF8 read/write functions
* Use new settings UTF16 to/from UTF8 read/write functions
2022-11-28 10:42:36 +01:00
akallabeth 43c5289928 Replaced memset/ZeroMemory with initializer
* Addes WINPR_ASSERT on many occations
* Replaced memset with array initializer
* Replaced ZeroMemory with array initializer
2022-10-14 12:11:01 +02:00
David Fort 229e047231
fix build under mingw (#8271) 2022-10-04 16:06:22 +02:00
akallabeth b44810418b reformatted changes 2022-09-29 09:06:28 +02:00
Stefan Koell eb90985bf5 cleanup resources 2022-09-29 09:06:28 +02:00
Stefan Koell a77e742e99 switch to CredReadW, more code cleanup 2022-09-29 09:06:28 +02:00
Stefan Koell ec9542d0e1 added header file and more code cleanup 2022-09-29 09:06:28 +02:00
Stefan Koell 45578d3c63 various coding style changes according to feedback 2022-09-29 09:06:28 +02:00
Stefan Koell f8b6154a20 Support for windows credential manager when username and password is not available
* added wf_defaults.c (also in CMakeLists.txt) which provides the capability to read credential manager entries and set username and password in the rdpSettings accordingly
* the same will be done if a gateway host is specified without credentials
* the behavior will be similar to mstsc.exe on windows
2022-09-29 09:06:28 +02:00
David Fort c5c2e37f6d
More winpr fixes (#8255)
* Fix build with mingw

4a71cab2e7 broke wf_events.c.
The drive channel was not building because of missing definitions.

* winpr: make functions return False when not implemented
2022-09-28 16:07:04 +02:00
akallabeth 4a71cab2e7
Replaced custom coordinate macros with windows ones (#8247)
GET_X_LPARAM and GET_Y_LPARAM correctly extract the mouse x/y
coordinates from lParam
2022-09-26 12:11:50 +02:00
akallabeth d2ab631c40
Test uri fix (#8232)
* Fixed TestUri unit test

* Make proper unit test out of the test function
* Add proper test cases

* Replace FindFirstFileA with FindFirstFileW for addins

This allows addin paths to contain unicode symbols.

* Fixed parse_uri_to_local_file definition

* Move to common clipboard.c file
* Move to header file so it can be included in test case

* Added WINPR_LOCAL for test builds

This macro exports internal functions in case of a unit test build
This way unit tests can access these without other workarounds.

* Fixed typo in function name is_dos_driver

* Cleaned up FindFirstFileW call

Use a wrapper function to convert to unicode and call the function

* Cleaned up BUILD_TESTING and EXPORT_ALL_SYMBOLS

* EXPORT_ALL_SYMBOLS now does as the name implies and exports all
  non static functions/variables from the library.
* BUILD_TESTING now only sets the defines for test code and
  activates EXPORT_ALL_SYMBOLS to allow tests to access internal
  code

* Fixed windows client warnings

* disable CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
2022-09-26 11:22:02 +02:00
garbb 24fc77a073 fix mouse button "stuck" down when dragged out of window
If user presses mouse button down within window and then moves it
outside of window before releasing, host will still see mouse
button as "stuck down" because mouse up event is not sent. So use
`SetCapture()`/`ReleaseCapture()` to capture mouse events until
button is released.
Also, since coordinates from WM_* events are signed values,
need to prevent negative values from being sent.
2022-09-21 09:59:22 +02:00
2fly2 7e8986325c fix can not copy file after last copy
Signed-off-by: 2fly2 <wjatchd@163.com>
2022-09-20 11:56:35 +02:00
2fly2 afd28494a2 fix copy 0 size file on windows
Signed-off-by: 2fly2 <wjatchd@163.com>
2022-09-20 11:56:35 +02:00
2fly2 880a82e97b fix connection abort when copy from remote wordpad, local windows 10, open local clipboard history in settings
Signed-off-by: 2fly2 <wjatchd@163.com>
2022-09-19 14:13:08 +02:00