2756 Commits

Author SHA1 Message Date
akallabeth
1ada469cdd [freerdp,utils] modify freerdp_interruptible_get_line
* Make freerdp_interruptible_getc nonblocking so each typed char is
  returned
* Handle ctrl+[cdz] in freerdp_interruptible_getc so the function can be
  aborted by a user
* Handle simple input edit in freerdp_interruptible_get_line (delete
  characters, provide a suggested value)
2025-09-29 10:35:33 +02:00
akallabeth
2f0f6d7707 [api,doxygen] update documentation
Add (better) documentation for the following callback function types:
* pChooseSmartcard
* pAuthenticateEx
2025-09-26 13:14:47 +02:00
akallabeth
74648eb3a9 [c,standard] use C99 inline 2025-09-26 11:29:26 +02:00
akallabeth
1baa721961 [core] fix const correctness
Make function arguments const if possible.
2025-09-26 11:18:57 +02:00
akallabeth
53d63b3120 [core,arm] add TARGET_BOOTING error code
Propagate the error code for a VM still booting to client.
2025-09-26 10:13:46 +02:00
Armin Novak
d3643711a6 [freerdp,header] fix formatting 2025-09-24 14:01:15 +02:00
Armin Novak
45c7df6d61 [core,utils] add auth type AUTH_RDSTLS 2025-09-23 16:05:31 +02:00
Armin Novak
de23d79012 [config] do not redefine WITHOUT_FREERDP_3x_DEPRECATED
The define might already be defined by the build system. In that case
do not redefine it.
2025-09-23 16:05:22 +02:00
akallabeth
632131b266 [deprecate] rename planar_decompress 2025-09-22 19:57:41 +02:00
Armin Novak
b1d58751aa [android] build without deprecated symbols 2025-09-18 11:06:37 +02:00
akallabeth
2552408b8a [api] fix missing C++ guards 2025-08-29 12:25:32 +02:00
akallabeth
e52d024071 [core,settings] unify config path determination 2025-08-29 10:53:26 +02:00
akallabeth
f81c41ef6a [utils,helpers] fix missing C++ guards 2025-08-29 10:14:41 +02:00
Armin Novak
83b9595755 [transport] fix doxygen: use correct version 2025-08-20 10:01:22 +02:00
akallabeth
ad22d5fdff [client,common] add freerdp_client_populate_settings_from_rdp_file_unchecked
Sometimes it is required to have raw values from a RDP file converted to
rdpSettings without consistency modifications. Expose this with a new
function.
2025-08-18 09:47:11 +02:00
akallabeth
6284bba9f0 [clang-tidy] fix various warnings
* silence tidy warnings for public API symbols (we can't fix these for
  compatibility reasons)
* fix issues with casting
2025-08-11 14:11:40 +02:00
Armin Novak
e723f8db07 [core,proxy] fix BIO read/write methods
Introduced with ae05778644 the return of
BIO_read and BIO_write changed.
Revert this to original behaviour and fix a bug in the proxy code
2025-07-11 13:32:20 +02:00
akallabeth
4dc6091fde [client,common] fix -mouse-motion
* Move code to client/common to have it in place for all clients without
  modification
* Remember if a button was pressed and only suppress move events if no
  button is pressed.
2025-06-18 12:46:56 +02:00
akallabeth
d4aeb4f121 [settings] fix setting definition 2025-06-13 15:27:49 +02:00
akallabeth
1669f6ede0 [doxygen] fix documentation for version 2025-06-13 14:01:56 +02:00
akallabeth
6168a7bfd1 [client,common] make all azure settings configurable 2025-06-10 16:30:06 +02:00
Armin Novak
7a89e47334 [core,transport] only free userContext if userContextSize > 0 2025-05-28 14:07:58 +02:00
akallabeth
6b80a2d4ef [utils,smartcard] better logging and error checks
* Use wLog as argument where possible to reduce the number of WLog_Get
  calls
* Do better failure checks to avoid reading invalid memory
2025-05-27 10:33:37 +02:00
akallabeth
50cef020de [utils,helpers] add freerdp_GetJSONConfigFile 2025-05-26 19:36:40 +02:00
akallabeth
45914466c2 [utils,helpers] add missing WINPR_ATTR_MALLOC 2025-05-26 17:06:58 +02:00
Andreas Ziegler
8714019703 refactor: move MIBClientApp into struct rdp_client_context 2025-05-21 11:44:16 +02:00
Armin Novak
1882cebbce [core,aad] Split GetAccessToken callback
To allow client-common library to override the GetAccessToken callback
introduce a new GetCommonAccessToken callback.
This callback defaults to call the existing GetAccessToken callback, but
client-common library can override if desired, so that a common token
retrieval method is executed before a client UI is invoked.
2025-05-21 10:20:21 +02:00
Armin Novak
72a09b1675 [core,timer] Add a timer implementation
Adds a timer implementation (bound to a RDP context) that is capable of
handling multiple timers simultaneously.
2025-05-16 12:11:32 +02:00
Armin Novak
f5924a6556 [channels,rdpdr] expose device add/remove/hotplug
* Add RdpdrClientContext to OnChannelConnectedEventHandler
* Expose device register/unregister in RdpdrClientContext
* Expose device hotplug poll function in RdpdrClientContext
2025-05-12 17:27:07 +02:00
gpotter2
9fce51d7ee Add FreeRDP_RestrictedAdminModeSupported for server-side 2025-05-05 20:15:31 +02:00
akallabeth
ca8a644d04 [crypto,key] do not deprecate new_from*
Do not deprecate the functions to read an unencrypted key from file or
PEM. While the extended versions of the function now exist these still
have their use.
2025-04-25 14:59:34 +02:00
Armin Novak
a4c4bad132 [common,settings] new settings (de)serialization API
* Add rdpKey to PEM conversion
* Modify WINPR_JSON_Version to return -1 if not supported
* Add rdpSettings serialize and deserialize functions
2025-04-22 12:00:48 +02:00
akallabeth
2fb2e5f9c5 [crypto,key] add function to export PEM and create a key
* freerdp_key_generate creates a new key
* freerdp_key_get_pem exports the key as PEM
2025-04-22 12:00:40 +02:00
Pascal Nowack
eb3fdc3a22 rdpei/server: Add optional threaded handling of messages 2025-04-14 14:40:30 +02:00
akallabeth
710421abdd [api,doc] due to new functions next version is 3.15.0 2025-04-10 09:12:25 +02:00
akallabeth
7f5a3bc352 [server,shadow] sort command line arguments
when printing the help output first sort the COMMAND_LINE_ARGUMENT_A by
argument name.
2025-04-10 09:10:36 +02:00
akallabeth
4b2d65e977 [server,shadow] add option to hide mouse cursor 2025-04-10 09:10:33 +02:00
akallabeth
87683746a5 [server,shadow] implement relative mouse support 2025-04-10 08:43:33 +02:00
akallabeth
7e11df73ba [client,common] add setting FreeRDP_MonitorOverrideFlags
use this mask to mark monitor settings set from command line.
2025-04-10 08:31:56 +02:00
akallabeth
da7fefba11 Revert "[freerdp,codecs] fix deprecation for GCC"
This reverts commit 67fabc34dc.

The change eliminates the deprecation warnings but produces
Wredundant-decl warnings instead...
2025-04-03 11:32:16 +02:00
akallabeth
67fabc34dc [freerdp,codecs] fix deprecation for GCC
GCC does not like declaring a function deprecated and using it with
attribute malloc. Redeclare the function deprecated after using it for
attribute malloc works around this.
2025-03-29 14:00:49 +01:00
Armin Novak
e4df43a37a [freerdp] fix argument consistency, casts 2025-03-19 19:32:09 +01:00
akallabeth
a6c70383e9 [primitives] rename function pointer types
* Remove __ prefix, reserved identifiers
* Add drop in replacement for compatibility
* Clean up SSE macros
2025-03-10 22:34:33 +01:00
akallabeth
2b53807256 [primitives] fix warnings and restricted use 2025-03-10 22:13:46 +01:00
akallabeth
0bb49c94c9 [restrict] unify restrict keyword usage 2025-03-10 18:48:16 +01:00
akallabeth
cb8176d2e7 [channels,rdpsnd] fix warnings, add new fields
* Fix warnings in client and server channels
* Add some data read from packets to exported fields of RdpsndServerContext
2025-03-07 10:10:02 +01:00
akallabeth
5139a3a3e5 Merge pull request #11296 from akallabeth/invert-3x-deprecated
Invert 3x deprecated
2025-03-06 16:00:44 +01:00
akallabeth
3186977e15 [cmake] Invert WITH_FREERDP_3x_DEPRECATED
API breaking change, with this logic the symbol needs to be manually
defined by an API user. So, to fix this:
* Rename to DROP_FREERDP_3x_DEPRECATED
* Invert logic, so a undefined value enables the symbols
2025-03-06 15:30:26 +01:00
akallabeth
4466ee6141 [locale] add freerdp_detect_keyboard_layout_from_locale
This new function allows detecting the default keyboard layout from a
locale string of form de_AT or similar
2025-03-06 11:58:10 +01:00
akallabeth
7496f6e42c Merge pull request #11273 from akallabeth/cleanups
[client,x11] implement keyboard mapping
2025-03-05 14:07:12 +01:00