Commit Graph

1848 Commits

Author SHA1 Message Date
Armin Novak 1e88b2fa37 [client,x11] query correct display 2023-11-27 09:35:58 +01:00
akallabeth 4e438d1c3e [client] make settings opaque 2023-11-24 14:54:56 +01:00
akallabeth 229916d02e [settings] replace XSelectionAtom
the common command line parser should not touch unstable API settings,
so use newly introduced FreeRDP_ClipboardUseSelection
2023-10-19 14:22:19 +02:00
Armin Novak 60390ea40c [pragma] unify compiler diagnostics 2023-10-16 15:10:13 +02:00
akallabeth 5a7a1c159d [casts] remove fnObject* function pointer casts
use proper types that match the function pointer definition to avoid
surprises if the code should be refactored
2023-09-20 21:11:30 +02:00
akallabeth 7fb2f062f0 [client,x11] fix #9410 leak in xf_cliprdr 2023-09-20 21:11:30 +02:00
ichaoX 4935b0978b [client,X11] avoid dynamic allocation of devName 2023-09-13 15:57:59 +02:00
ichaoX a28920f3ed [client,X11] add pen button support 2023-09-13 15:57:59 +02:00
ichaoX becaac792f [client,x11] improved pen type recognition
* improved pen type recognition.
* fix not recognizing other newly connected pen devices when a pen device is already connected.
2023-09-13 15:57:59 +02:00
Armin Novak 3ea38175b4 [locale,keyboard] fix keyboard mapping on apple 2023-08-31 11:39:22 +02:00
akallabeth 9cee9b3c08 [c standard] use WINPR_FALLTHROUGH
use the macro to silence intentional switch fallthrough locations
2023-08-25 12:56:36 +02:00
akallabeth 7a71441476 [warnings] fix integer multiplications
Ensure the integer width for size arguments is 64bit in a
multiplication. Leading 64bit constant 1ull expands width, a trailing
one is ignored.
2023-08-22 11:55:00 +02:00
James Fu 5b012fbc8a rail: fix window freeze when moving window after minimizing and restoring
When restoring from minimized state, sometimes MapNotify is received before PropertyNotify,
and the rail_state is still WINDOW_SHOW_MINIMIZED.
2023-08-21 14:44:58 +02:00
akallabeth 8470b6ea26 [cmake] set default build type
set with CACHE STRING FORCE to properly be picked up by configuration
tools
2023-08-04 12:59:11 +02:00
Kai Pastor 5ecc011c13 Export interface include directories 2023-08-01 11:12:46 +02:00
Armin Novak ef5c0e78ab [build] use define WINPR_FALLTHROUGH
with c17 compatible compilers annotate with [[fallthrough]]
2023-07-31 23:46:53 +02:00
Armin Novak e61880d077 [standard] replace __FUNCTION__ with __func__ 2023-07-27 20:02:43 +02:00
akallabeth 734117351d [aad,avc] unify callbacks to GetAccessToken
The AAD and AVD authentication mechanisms both need an OAuth2 token.
They only differ in the provided arguments, so unify the callbacks into
a single one with variable argument lists.
2023-07-20 14:20:28 +02:00
fifthdegree d309fcd6e8 Restructure Azure AD related stuff
- Move responsibility for obtaining access tokens to clients
- Add function for getting access tokens for AVD
- Get correct server hostname during AVD setup
- Add utility function for doing http requests
2023-07-20 14:20:28 +02:00
Pascal Nowack d7d3055b5f X11/cliprdr: Rework server to client clipboard handling
The purpose of clipboard data locking is to make the other peer
retaining the current file list until a pending paste operation is done,
even though the clipboard selection changed.
As it may be difficult to determine, when a lock is needed, imitate the
same behaviour as mstsc:
When the server side supports clipboard data locking, always attempt to
lock the file list on the server regardless of what is advertised in a
FormatList PDU.
The Lock Clipboard Data PDU can even be already sent, before the
Format List Response PDU is sent.
This is also what mstsc, does: First, lock the new (potential) file
list, then unlock the file list, when the pending paste operation is
done.
So, rework the current clipboard implementation in that direction.

Since the implementation for timeouts for old file lists is a bit hard,
for now always force unlock pending locks, when the selection changes.
However, timeouts for old file lists can still be added in the future.

The reworked clipboard handling is done with the help of three hash
tables:

1. The inode table: This hash table manages all inodes for each file.
   The keys in this table are the inodes themselves, while the values
   the files and directories and their attributes (file size, last write
   time, etc.).
2. The clipdata table: This table manages the locks for each file list.
   The keys in this table represent the clip data id and the values the
   clip data entries, which have a reference to the clip data dir, a
   directory containing the whole selection, and some helper attributes,
   like the clip data id itself.
3. The request table: Every file size or file range request is managed
   here. When a FileContentsRequest is made, its stream id with the
   respective details are added to this table. When a response is
   received, these details can then be easily looked up here.
2023-07-20 11:36:11 +02:00
Armin Novak 7dbf7cec68 [client,x11] fix RAILS image paste, fixes #7276 2023-07-10 10:26:55 +02:00
Armin Novak fe987091f4 [client,x11] add signal cleanup handler for pipe 2023-07-03 13:21:43 +02:00
akallabeth 3dbd9c7eeb [client,x11] fix unicode input
key up and down events were reverted
2023-07-03 13:21:43 +02:00
akallabeth 2d85aa43fa [client,x11] add thread reading from named pipe
the named pipe input is converted to unicode and sent as keyboard input
2023-07-03 13:21:43 +02:00
Armin Novak 8822ad53c1 [client,x11] fix memory leak 2023-07-03 10:19:34 +02:00
akallabeth 9565ff4b29 [client,x11] restrict pointer move to active window 2023-07-03 10:00:29 +02:00
akallabeth 32b60ae438 [pointer] unify mouse pointer settings 2023-07-03 10:00:29 +02:00
Armin Novak 93423eaf11 [client,common] move pen detection to client common 2023-06-26 11:22:32 +02:00
Hodol Han c278170a2a [client,x11] Reinit xinput input event masks on device changes
Reinitialize xinput input event masks to get events from newly plugged
devices after setup. We utilize XI_DeviceChanged and XI_HierarchyChanged
event types to handle device changes.
2023-06-23 08:36:09 +02:00
digitalsignalperson edee918dac remove unused variable, remove comment, add missing return statement 2023-06-21 22:59:53 +02:00
digitalsignalperson 84e1148bf1 Forcing PenHoverCancel allowed the eraser hover icon to apprear consistently after using the eraser, but fast writing with the pen would miss some line segments. Reverting to where it all works, but the hover icon doesn't display eraser correctly most of the time after erasing something 2023-06-21 18:42:38 +02:00
digitalsignalperson 9c7a541d9c Implement pen functionality for X11, including pressure, hover, and eraser 2023-06-21 18:42:38 +02:00
Armin Novak b05eacb99e [build] fixed compilation warnings 2023-06-08 08:13:16 +02:00
Armin Novak 970f0c54e8 [stream] use const correct Stream_Pointer access 2023-06-08 08:09:33 +02:00
Armin Novak a4c6b36a19 [build] fix memory sanitizer stack frame warnings 2023-06-07 09:14:45 +02:00
Armin Novak 3e44efc841 [cmake] use FindX11 from CMake 3.13 2023-05-31 11:05:56 +02:00
akallabeth 28b0821ec6 [cmake] build xfreerdp standalone project 2023-05-31 11:05:56 +02:00
Armin Novak 4545783dff [client,x11] always only send available clipboard 2023-05-30 13:42:28 +02:00
akallabeth 4ee6cfe13a [warnings] fix -Wmissing-prototypes 2023-05-24 08:24:32 +02:00
akallabeth d4fc9d5327 [client,common] auto reconnect abort early on cancel 2023-05-23 08:51:41 +02:00
fifthdegree 449b96adb2 Use popup browser for AAD auth in SDL client
Optionally build the SDL client with Qt WebEngine to create a popup
browser for authentication to AAD. Also change the URL output on the
command line to use the "nativeclient" redirect for easier copy/pasting
of the authorization code.
2023-05-23 06:04:55 +02:00
Pascal Nowack 7fce527cff client/X11: Fix IO errors during server to client file transfer
When receiving a file list, xfreerdp3 rebuilds the content of the FUSE
filesystem.
Since fetching uri-lists can happen during a paste action too, xfreerdp3
caches the content of the last fetched mime type.
However, uri-lists exists in different variations, e.g. nautilus uses a
different mime type, than gnome-terminal does.
Furthermore, FormatLists can also contain other formats in addition to
file lists.
Fetching those contents during a paste operation leads to IO errors in
the paste operation.

In order to fix those errors, cache every mimetype in two hash tables:
One for the raw (unconverted) data, and one for the converted data.
When a content request is received, xfreerdp3 can with the already
cached converted data, directly serve the data.
If the content is not available as cached data, but its source data was
already fetched, use that source data to create the converted data.
Then serve the converted data.
Only if no cached converted data or cached raw data is available, issue
a new FormatDataRequest.
2023-04-17 08:33:53 +02:00
Pascal Nowack d9fe2df6b5 client/X11: Only serve cached data when format matches
Format lists can contain multiple clipboard formats. When the data for
one is requested, xfreerdp caches it.
When the data for a different format in the same format lists is
requested, xfreerdp cannot use the already cached data, since that data
refers to a different format.
As a result, xfreerdp needs to ask for the data of the now requested
format.

However, this is currently not the case. xfreerdp will just provide the
data of the first request after receiving the last format list.
In order to fix this situation, also save the format id of the last
requested format.
If the format id of the cached data matches the one of the current
request, serve the data from the cached data.
Otherwise, issue a new FormatDataRequest.
2023-04-04 09:05:39 +02:00
Pascal Nowack 1f79eaa831 client/X11: Reintroduce handling for relieving filename restriction
Commit 6492a00959 introduced a way to
relieve the filename restriction, which ensured that file lists
containing files with names, that have characters, which are not allowed
on MS Windows.
This relief handling kicked in, when xfreerdp did not connect to MS
Windows RDS.
Commit d521c7fa74 got rid of any
wClipboardDelegate occurrence in xf_cliprdr.c, which also got rid of the
filename restriction relieve handling.
However, the relief handling was not added back, so do it now.
2023-04-04 09:05:39 +02:00
Armin Novak 3f5b44ba36 [clients] fix wClipboard locking 2023-03-22 16:28:01 +01:00
akallabeth a360f1ca8c [build] fix a few compiler warnings 2023-03-13 13:04:45 +01:00
Armin Novak f01aaab35a [client,x11] fix variable shadow 2023-03-07 07:51:52 +01:00
Armin Novak c016562478 [client,x11] enable XSync with debug builds 2023-03-07 07:51:52 +01:00
Armin Novak 8fdd261d25 [client,x11] install X11 error handler
always install a custom X11 error handler to log the issue and location
in code.
2023-03-07 07:51:52 +01:00
Armin Novak 0b048e247e [client,x11] add Safe_XGetAtomName 2023-03-07 07:51:52 +01:00
Armin Novak 05134dc3a0 [client,x11] log location for wrapped X11 calls 2023-03-07 07:51:52 +01:00
Armin Novak 26d1fff864 [client,x11] wrap XGetWindowProperty
use a logging version of the function to diagnose issues
2023-03-07 07:51:52 +01:00
Armin Novak 87a91eb0c6 [client,x11] wrap XDeleteProperty
wrap function calls to logging version for debugging.
2023-03-07 07:51:52 +01:00
Armin Novak 684558d6d7 [client,x11] wrap XChangeProperty
to debug bug reports occuring only with certain setups wrap the function
call with a logging edition so we have the arguments available in the
log for debugging.
2023-03-07 07:51:52 +01:00
Armin Novak 2eeb5d718a [warnings] Fixed shadow warnings 2023-03-06 10:04:59 +01:00
Armin Novak 3d8cb485f4 [warnings] Fixed strict-prototypes warnings 2023-03-06 10:04:59 +01:00
Armin Novak d7c55d76df [client,x11] fixed missing NULL check in clipboard 2023-03-05 17:55:28 +01:00
Armin Novak cc65f5db31 [client,x11] fixed clipboard data cache 2023-03-05 17:55:28 +01:00
Armin Novak 7722961fcc [client,common] simplify file clipboard API 2023-03-05 17:55:28 +01:00
Armin Novak 46f1d141c1 [client,common] fixed winpr clipboard locking 2023-03-05 17:55:28 +01:00
Armin Novak bfea14a5b1 [cliprdr] deactivate local file paste if not supported
if the file clipboard was compiled without FUSE do not announce the
availability.
2023-03-05 17:55:28 +01:00
Armin Novak 0fb242da7b [client,x11] properly initialize file clipboard 2023-03-05 17:55:28 +01:00
Armin Novak ba128f4661 [client] move file clipboard to client common 2023-03-05 17:55:28 +01:00
Armin Novak d521c7fa74 remove wClipboardDelegate 2023-03-05 17:55:28 +01:00
Armin Novak b2fa6da8d2 [client,x11] fix fuse2 compatibility 2023-02-28 09:47:54 +01:00
Armin Novak e673405711 [client,x11] split file clipboard to own struct
* split file clipboard to own file
* check for changed file data in cliprdr_file_context_update_data,
  prevents duplidate entries in fuse filesystem
2023-02-28 09:47:54 +01:00
akallabeth ae8f7c272d [client,x11] fixed clipboard data cache
clean only cached data not the fuse cache if other formats are requested
2023-02-28 09:47:54 +01:00
akallabeth 1ba8d826f8 [client,x11] add some debug logs, fix warnings 2023-02-28 09:47:54 +01:00
akallabeth 3d9969ef65 [client,x11] export x11_event_string 2023-02-28 09:47:54 +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
Armin Novak f357312584 [utils] term signal cleanup handlers
add functions to register/unregister termination cleanup handlers
2023-02-23 20:28:15 +01:00
Armin Novak 64efb7ecfd [client,x11] fail build on manpage generation
if manpages should be build but dependencies are missing fail the build
2023-02-23 20:28:15 +01:00
Armin Novak 078162616d [client,x11] split clipboard formats
* a format to request
* a local format to convert to
* add logging
2023-02-23 20:28:15 +01:00
Armin Novak b8a709ccda [client,x11] fixed file clipboard cache
if files are pasted in different file-browser (or e.g. xclip is used)
the data was retrieved in wrong format.
2023-02-21 16:42:54 +01:00
Armin Novak 1522b5aa91 xx 2023-02-21 16:42:54 +01:00
Armin Novak fe3de9b9bf [client,x11] log fuse_session_loop errors 2023-02-21 16:42:54 +01:00
Armin Novak 68d3bcb99a [clipboard] remove linux specifics from channels/cliprdr.h 2023-02-21 16:42:54 +01:00
Armin Novak 10bf44c112 [client,x11] use fuse_root_id 2023-02-21 16:42:54 +01:00
Armin Novak ded270e167 [client,x11] fix fuse file list reset 2023-02-21 16:42:54 +01:00
Armin Novak 9b174c50c9 [client,x11] add fuse debug messages 2023-02-21 16:42:54 +01:00
Armin Novak d694733106 [client,x11] fix fuse detection and use 2023-02-21 16:42:54 +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
akallabeth ff3c7c82ee [client,x11] fix /gdi:hw drawing. 2023-02-14 09:30:45 +01:00
Armin Novak 641022b795 [logging] remove __FUNCTION__ from actual message
prefer the log formatter to provide that information.
2023-01-25 16:26:39 +01:00
Armin Novak 070353bf90 added SDL2 client 2023-01-10 17:38:00 +01:00
Armin Novak d66b165b8e [client,common] common touch handling 2023-01-10 17:38:00 +01:00
Armin Novak d978a0dbdb [client,x11] fix rail checks
rail might be deactivated during connect, so ensure that the default
session rendering path properly checks the window pointer
2023-01-10 11:49:02 +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 d90aa5d6f5 [client,x11] Fixed #8099: Detect key autorepeat
When a key is pressed in autorepeat mode, skip the KeyRelease events in
between.
2022-12-13 14:37:05 +01:00
akallabeth d4808dd3e1 Fixed various compiler warnings 2022-12-09 15:58:26 +01:00
Armin Novak bd7e2263ad fixed const and type cast warnings 2022-12-09 15:58:26 +01:00
akallabeth f553d453b8 [client,x11] use HashTable_ForEach for rail paint 2022-12-09 12:30:14 +01:00
Armin Novak ef5f51ba04 [x11,client] remove dead initialization code 2022-12-09 12:30:14 +01:00
Armin Novak 1bc110518d [x11,rail] cleaned up rail drawing code
The remote application drawing code was simplified
2022-12-09 12:30:14 +01:00
Armin Novak 4008033065 [x11,client] assert use of xfc->depth
Do not use color depth settings before they are initialized
2022-12-09 12:30:14 +01:00
Armin Novak eda1359f52 [x11,client] clean up color depth initialization
* Do not use transparency except in remote application mode.
* Fall back to default color depth in rail mode if no transparency
  supported
2022-12-09 12:30:14 +01:00
Armin Novak 22d5394993 [x11,client] unified drawing path
Do not distinguish between rail and desktop sessions when drawing
2022-12-09 12:30:14 +01:00
Armin Novak 96243c1d17 [x11,client] unify modifier map update/free 2022-12-09 12:30:14 +01:00
akallabeth 4d885e3a6e [client,x11] Initialize window with 32bit color
Allow alpha channel to be properly processed for rail
2022-12-09 12:30:14 +01:00
akallabeth 7b6023b340 [client,x11] move X11 init to post connect 2022-12-09 12:30:14 +01:00
akallabeth cb5c98aab0 [core,client] Add PostFinalDisconnect callback
To have more fine granied control add a new callback.
Now you have the following callback pairs:
* PreConnect <--> PostFinalDisconnect
* PostConnect <--> PostDisconnect
2022-12-09 12:30:14 +01:00
Armin Novak 9218a404b5 [client,x11] force initial format list 2022-12-03 10:53:18 +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
Armin Novak b6b05e93a4 [xfreerdp] fix sending monitor layout PDU
only send it if there are more monitors available.
2022-11-22 15:30:31 +01:00
Armin Novak a489c69f10 [client,x11] Fixed #8397: Clamp scaled cursor sizes
If a cursor is scaled, ensure the result size is at least 1x1 pixel
wide.
2022-11-16 13:47:02 +01:00
akallabeth 33827cb920 Updated RDP state machine
* More detailed states
* Better transition checks
* No more recursive calling of state machine functions
2022-11-11 11:51:27 +01:00
Armin Novak 697e020abd [rail] Added window update from surface 2022-11-11 06:42:45 +01:00
Armin Novak 325c03501e [gfx] Added new UpdateWindowFromSurface callback
* Adds a new callback and settings in gdiGfxSurface to allow updating
  a window directly from surface bitmap data
* Adds new BOOL in gdiGfxSurface windowMapped and
  handleInUpdateSurfaceArea to control where surface data update is
  being handled
2022-11-11 06:42:45 +01:00
akallabeth 3023057b16 Cleaned up some loop code in xf_monitor
Use loop variables to make it more readable
2022-11-04 14:46:58 +01:00
akallabeth c0193a1813 Fixed #8259: in remote app mode keep the keyboard state
If the mouse enters/leaves the window or the window is unmapped in
desktop session mode we can reset the keyboard modifiers state
while in remote app mode these events have different meaning. Be
more strict in the latter case and only reset on focus out
2022-11-03 11:01:30 +01:00
Armin Novak 119b8d4474 Unified command line options to list something
There are various options to list smartcards, monitors, keyboard
settings. Unify them all under a single /list:<something> option
2022-10-19 20:31:53 +02:00
fifthdegree 9d0beaccae smartcardlogon: choose a single smartcard to use
Require a single smartcard certificate to be chosen and define a
callback to choose when more than one is available.
2022-10-19 18:55:38 +02:00
xiaopengzhou@hotmail.com 34afe6b23e Fix Format List PDU is not sent when the Clipboard Redirection Virtual Channel is initialized for the second time. (X11 client) 2022-10-18 09:14:21 +02: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
akallabeth bd4b261a88 Fixed #8296: Assert floatbar->handle and not xfc->window 2022-10-12 21:44:27 +02:00
akallabeth 796ceb2783 Fixed #8269: Ignore mouse/input events during floatbar events 2022-10-07 11:26:56 +02:00
akallabeth 98f9a4da19 Clean up use of memset 2022-10-07 11:26:56 +02:00
akallabeth 8671339b12 Added assertions to floatbar 2022-10-07 11:26:56 +02:00
akallabeth 60720e7706 Improved streamdump file format 2022-10-07 10:38:03 +02:00
akallabeth 1849632c43
Fixed format strings to match arguments (#8254)
* Fixed format strings to match arguments

Reviewed and replaced all %d specifiers to match proper type

* Added proxy dynamic channel command type to log messages.
2022-09-29 14:55:27 +02:00
James Fu a04021d38b Send resize on window state change 2022-09-22 13:48:24 +02:00
Armin Novak 98f9c7e04b Fix #8176: Check fullscreen state and not setting
Timer based dynamic resolution updates are disabled in fullscreen
state. Check current value and not (permanent) setting
2022-09-14 08:51:54 +02:00
Armin Novak 8561b08592 Fixed gnome and mate clipboard format synthesizers 2022-09-13 14:42:33 +02:00
Armin Novak 707b9348ee Unify encomsp request control code 2022-09-13 09:22:41 +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
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
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
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 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 bc8b4ade1c reformatted 2022-06-23 08:48:39 +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
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
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