Commit Graph

327 Commits

Author SHA1 Message Date
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
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 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 3d8cb485f4 [warnings] Fixed strict-prototypes warnings 2023-03-06 10:04:59 +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 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 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 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 22d5394993 [x11,client] unified drawing path
Do not distinguish between rail and desktop sessions when drawing
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
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
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 98f9a4da19 Clean up use of memset 2022-10-07 11:26:56 +02:00
Armin Novak 707b9348ee Unify encomsp request control code 2022-09-13 09:22:41 +02: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 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 bc8b4ade1c reformatted 2022-06-23 08:48:39 +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
akallabeth cc3e28f2f1 Fixed -Wdocumentation errors 2022-04-28 11:24:51 +02:00
akallabeth 2dfc1ddb12 Removed obsolete trio 2022-04-28 10:49:09 +02:00
2fly2 83aaa4e575 fix x11 black RAIL window when connect to server 2019
Signed-off-by: 2fly2 <wjatchd@163.com>
2022-04-22 10:16:49 +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
akallabeth d22ef1786b Proper use of rdpSettings in client
* Use getter/setter
* Fix uninitialized uses
2022-03-28 15:52:32 +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
akallabeth 3d38d2636c Decreased logging verbosity for INFO level 2022-03-04 09:34:02 +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 e136444f51 Fixed xinput and x11 event priority
* Prefer xinput events over x11 events for mouse input
* Prefer xinput raw events over xinput events:
  * Only use when the mouse is grabbed (events are not bound to a
    specific window but are global)
  * Only use for relative mouse input
2022-02-22 09:44:13 +01:00
akallabeth b1a2efde7d Implemented xfreerdp mouse grab 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
akallabeth 7dedfbb0b0 Added support for getpwuid_r, replaced duplicate code
* Use GetUserNameExA to get current user name when required.
* Add support for getpwuid_r if available
2022-01-25 15:33:04 +01:00
akallabeth e6e6ed5dbd Cleaned up PubSub
* Callback arguments now const
* Fixed missing includes
2022-01-19 09:24:57 +01:00
Armin Novak 339cdded45 Fixed memory sanitizer warnings 2022-01-11 14:32:18 +01:00
akallabeth 298d32164c Removed recursive xf_lock_x11 warning 2021-12-16 12:54:53 +01:00
Ian Weir aa4c3dfb8a Add exit codes for more errors 2021-10-11 08:27:41 +02:00
Armin Novak b336751861 Fixed AuthenticateEx issues 2021-09-09 08:53:20 +02:00
Armin Novak 520367b2da Fixed smart sizing
Do not limit resolutions when smart sizing is activated
2021-09-09 08:53:20 +02:00
Armin Novak c073ca8ac8 Use MAXIMUM_WAIT_OBJECTS 2021-08-25 13:41:38 +02:00
Armin Novak f515bd4560 Fixed shadowing and type errors 2021-08-24 10:45:57 +02:00
Ian Weir a2cf4f591e Add exit codes for logon failure and account locked out 2021-06-28 09:18:17 +02:00