Commit Graph

3830 Commits

Author SHA1 Message Date
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
af23e8f9a0 [client,sdl] lock updates
use a critical section to lock SDL related data updates
2023-03-07 07:51:36 +01:00
Armin Novak
fc964e857e [client,common] fix function name clash
log is an intrinsic function on windows, rename to writelog
2023-03-06 14:02:30 +01:00
Martin Fleisz
912b30ba06 common: Fix parsing of rdp file domain info
`freerdp_parse_username` always returns non-NULL domain information when
called. This currently results in `settings->domain` being overridden in
every case, even though we might have read domain information from the
file before.

This PR fixes this issue by checking if domain information was present
in the file and if not use the parsed domain informatin.
2023-03-06 11:41:22 +01:00
Armin Novak
77943d4329 [warnings] Fixed missing-prototypes warnings 2023-03-06 10:04:59 +01:00
Armin Novak
2eeb5d718a [warnings] Fixed shadow warnings 2023-03-06 10:04:59 +01:00
Armin Novak
4450af84d1 [warnings] Fixed sizeof-pointer-memaccess 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
24b3d0c9f3 [warnings] Fixed unused-label warnings 2023-03-06 10:04:59 +01:00
Armin Novak
2da605ef18 [client,common] fix missing return 2023-03-05 17:55:28 +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
f7682a5e79 [client,common] fix fuse inode creation, add logging 2023-03-05 17:55:28 +01:00
Armin Novak
a5fb3ad40a [client,common] fixed fuse linking 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
e3099fbbd0 [client,common] fixed compile without fuse 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
6d2e7b91c7 [client,common] cliprdr file copy client to server
* better logging of failures
* do not keep FILE* open to avoid running out of file handles
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
b526078c3c [client,wayland] add file clipboard 2023-03-05 17:55:28 +01:00
Armin Novak
a3f6e3603c [client,common] fuse clipboard server to client 2023-03-05 17:55:28 +01:00
Armin Novak
39c06a4683 [client,common] fix file copy client to server 2023-03-05 17:55:28 +01:00
Armin Novak
8e7619502b [client,common] refactored fuse clipboard
* use proper permissions (no read/write for group and others)
* handle streamID for multiple simultaneous copy/paste operations
* properly handle requests with a queue
2023-03-05 17:55:28 +01:00
Armin Novak
a230c6b1dc [client,cliprdr] use hash table for remote streams 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
5829079756 [client,windows] remove calls to now private functions 2023-03-05 17:03:18 +01:00
Armin Novak
0445eec0bc [client,common] fix /gateway option parsing
due to a bug the first letter of the gateway options was ignored.
2023-03-02 19:04:48 +01:00
Armin Novak
ffc4d419db [client,sdl] fix uninitialized variable cleanup 2023-03-01 13:45:13 +01:00
Armin Novak
8af35bd42a [client] add deprecation/experimental warnings 2023-03-01 13:45:13 +01:00
Armin Novak
73158a040a [client,common] add warning functions
Added helper functions to inform a user about current state of a client
in use:
* freerdp_client_warn_exeprimental warns about unstable clients
* freerdp_client_warn_deprecated warns about clients to be dropped
2023-03-01 13:45:13 +01:00
akallabeth
273bb6a7a8 [build] use static libraries as intermediate 2023-03-01 08:18:34 +01:00
akallabeth
b4e9c8b39f [build] removed complex libraries
* remove obsolete complex libraries helper
* fix static linking
2023-03-01 08:18:34 +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
Armin Novak
acc5e2d301 [client,common] use non blocking IO
when reading from stdin use non blocking IO so that we can check if the
session terminated in between.
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
f0e9797b4c [build] require CMake >= 3.13
required for target_link_options
2023-02-27 11:18:02 +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
akallabeth
a91b2f4999 [client,sdl] fixed error code mapping 2023-02-21 14:38:34 +01:00
akallabeth
f807af6f8e [client,sdl] do not wait for SDL to complete
when updating the window surface in sdl_end_paint do not wait for
completion of the operation. The check is done in sdl_begin_paint, so
the RDP stack can continue processing other data on queue until a
graphic operation needs to be processed.
2023-02-21 14:38:34 +01:00
akallabeth
82a0eab71f [client,sdl] add debug options 2023-02-21 14:38:34 +01:00
akallabeth
e3a7eaf39a [client,sdl] run sdl in main thread. 2023-02-21 14:38:34 +01:00
akallabeth
ab5be61e89 [client,common] working REDIRECTION_VERSION6
* REDIRECTION_VERSION6 requires enabled multitransport, enable it
* Add a fallback if multitransport was disabled
2023-02-20 16:04:04 +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
akallabeth
45dfeabe92 [client,common] set default callbacks before ClientNew
ohterwise the default callbacks might override custom callbacks set by
an implementation by accident
2023-02-16 08:16:09 +01:00
Armin Novak
25023d3a3a [client,scard] fix missing callback instance arg
every callback requires context, add freerdp* instance just as the
Authenticate et al callbacks already have
2023-02-15 13:34:18 +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
caaf4edffa [clients] clean up .gitignore
too much was ignored, clean up the list
2023-02-15 13:34:18 +01:00
akallabeth
ff3c7c82ee [client,x11] fix /gdi:hw drawing. 2023-02-14 09:30:45 +01:00
akallabeth
7728df6804 [client,mac] fix wrong getter for ServerPort 2023-02-12 20:17:11 +01:00
akallabeth
87b30958a6 [cyrpto] unify PEM read/write
use crypto_read_pem and crypto_write_pem in all places required
2023-02-12 20:17:11 +01:00
akallabeth
9e8fc60a45 [client,common] add openssl includes for TLS version 2023-02-12 20:17:11 +01:00
akallabeth
4499a55f43 [core,smartcardlogon] use rdpCertificate 2023-02-12 20:17:11 +01:00
akallabeth
2eda0aa2ea [core,settings] remove unused setting 2023-02-03 11:24:32 +01:00
Armin Novak
427a4fa057 [client,common] deprecate old gateway options 2023-02-03 11:08:46 +01:00
Armin Novak
923b068382 [client,common] unified credential hiding
* Unify command line credential string replace in a single function
* Extend the string replace, add all options containing a token or
  a password
2023-02-03 11:08:46 +01:00
Armin Novak
9d8954f56a [client,common] add new option /gateway
* unifies old /g, /gu, /gd, /gp, /gt, /gat and /gateway-usage-method
  options into a single one.
* add new option auto-consent:[on|off]
2023-02-03 11:08:46 +01:00
Armin Novak
57698ed1f9 [client,common] fixed possible memory leak 2023-02-03 11:08:46 +01:00
Armin Novak
cd48e17740 [gateway,settings] add GatewayAutoConsent option
with this option the client automatically accepts consent messages of
the gateway server.
2023-02-03 11:08:46 +01:00
akallabeth
1b254c17ea [client,wayland] fix cast warnings 2023-02-01 09:51:54 +01:00
Armin Novak
70f6c09ff4 [core] fix persistent bitmap cache setting
* Only activate if both, client and server support the capability
* Use settings getter to access setting
2023-01-26 09:30:17 +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
05f933398c [client,sdl] print number of monitors before listing 2023-01-25 14:27:15 +01:00
Armin Novak
c1174152c3 [client,common] print help on wrong list command 2023-01-25 14:27:15 +01:00
Armin Novak
aee9f68f7d fixed SDL utils. 2023-01-25 14:27:15 +01:00
Armin Novak
56df6177e1 [client,sdl] Add WSAStartup
Windows requires WSAStartup to be called for the client to work.
2023-01-25 14:27:15 +01:00
Armin Novak
d2b50a06b5 [client,sdl] only call freerdp_disconnect if connected 2023-01-24 10:16:55 +01:00
Armin Novak
4b3133b138 [client,sdl] use dynamic logger instance 2023-01-18 09:32:41 +01:00
Armin Novak
a1b764019d [client,sdl] add log functions 2023-01-18 09:32:41 +01:00
Armin Novak
defa74b94b [build] continue if SDL2 is requested but not found 2023-01-18 09:32:41 +01:00
Rozhuk Ivan
a111b78530 [core] Rename TLS functions
Rename tls_ to freerdp_tls_ to avoid namespace conflicts with libtls
and probaly other tls crypto libs.
2023-01-14 08:50:26 +01:00
Armin Novak
e6a4b86fd6 [client,mac] use settings getter/setter 2023-01-14 08:09:08 +01:00
jfliu
5b44bc63e8 fix Chinese title on mac 2023-01-14 08:09:08 +01:00
amazingfate
a691b48bc0 hide password for mac client 2023-01-13 11:42:08 +01:00
akallabeth
1f7bcd4a1a [client,sdl] print experimental warning 2023-01-10 17:38:00 +01:00
Armin Novak
070353bf90 added SDL2 client 2023-01-10 17:38:00 +01:00
akallabeth
82ba9ede9c [freerdp] use FREERDP_/UWAC_/RDTK_ prefix for conditional headers 2023-01-10 17:38:00 +01:00
Armin Novak
d66b165b8e [client,common] common touch handling 2023-01-10 17:38:00 +01:00
Bernhard Miklautz
08ffe661e0 fix [client/Mac]: ninja build
Problem that caused the ninja build to fail:

* `ninja: error: build.ninja:14841: bad $-escape (literal $ must be written as $$)` - because of the way CONFIGURATION was passed
* missing build dependency betwenn client/Mac and client/Mac/cli
2023-01-10 13:26:54 +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
akallabeth
9a80afeb08 [client,cmdline] add support for .rdpw file extension 2022-12-21 16:11:57 +01:00
akallabeth
8c6ee2061b [client,cmdline] fixed /gfx parsing
* Fixed a bug not activating AVC444 when requested
* Unified legacy /gfx-h264 parsing with /gfx
2022-12-15 11:20:34 +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