Commit Graph

596 Commits

Author SHA1 Message Date
Armin Novak
6009a516dd [client,win] fix executable output name 2023-12-22 15:37:56 +01:00
Armin Novak
175a3ca09a [cmake] do not append EXECUTABLE_SUFFIX to OUTPUT_NAME 2023-12-22 15:37:56 +01:00
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