Commit Graph

2690 Commits

Author SHA1 Message Date
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
akallabeth
d03b4b91d5 [cmake,freerdp] add WITH_FREERDP_3x_DEPRECATED
This new CMake option (ON by default) allows building the library with
all symbols deprecated during 3.x release cycle disabled.
This allows compatibility testing external applications for future
FreeRDP 4.x support
2025-03-04 13:26:45 +01:00
akallabeth
9b1c016371 [freerdp,codec] add freerdp_image_fill_ex 2025-03-04 12:42:34 +01:00
akallabeth
e2e6e9fd85 [freerdp,api] GCC/clang optimized IFCALLRESULT
Use statement expressions to add a log message for unset function
pointers
2025-03-04 12:42:31 +01:00
akallabeth
5faf0149c2 [server,shadow] readd multi rect BitmapUpdate support
* Partially revert 1f83198bb1
* Introduce new /bitmap-compat command line option for shadow-server
* Default to send multi rectangle BitmapUpdate
2025-02-28 11:19:36 +01:00
Armin Novak
f24a562f1e [utils,smartcard] check output buffer length
check the resulting length to the one preallocated.
2025-02-26 18:24:51 +01:00
akallabeth
15186fe4cb [freerdp] fix documentation strings 2025-02-17 11:16:22 +01:00
akallabeth
e259eee0df [macro] fix use of WINPR_DEPRECATED 2025-02-17 11:15:46 +01:00
akallabeth
a44985c823 [core,freerdp] send MCS Disconnect Provider Ultimatum PDU
On client side connection termination send a [MS-RDPBCGR] 1.3.1.4.1
User-Initiated on Client disconnect PDU
2025-02-17 10:36:03 +01:00
akallabeth
c375ed6cb1 [utils,aad] fix freerdp_utils_aad_get_wellknown export 2025-02-14 11:29:35 +01:00
akallabeth
aff557c768 [client,cmdline] fix documentation typo 2025-02-11 17:21:04 +01:00
akallabeth
9f8ed06f9a [client,cmdling] use a typedef for callback function
typedef freerdp_command_line_handle_option_t to have a common type for
callback functions
2025-02-11 12:21:41 +01:00
akallabeth
0c0e45c6d0 [core,freerdp] New API freerdp_presist_credentials
A new function that allows persisting runtime changes to credential
settings so reconnect/redirect/... does not lose current values.
2025-02-11 12:08:55 +01:00
akallabeth
7109df257a [locale,keyboard] fix enum limits 2025-02-10 09:31:49 +01:00
akallabeth
567887fbb0 [core,settings] Fix MONITOR_DEF settings
* Make FreeRDP_MonitorLocalShiftX and FreeRDP_MonitorLocalShiftY signed
* Add function freerdp_settings_set_monitor_def_array_sorted to proplery
  align the MONITOR_DEF array according to RDP requirements
2025-01-19 15:30:56 +01:00
oleg0421
7b4a903f66 MS-RDPECAM: VAAPI h264 encoding 2025-01-14 04:32:12 -08:00
akallabeth
c24f81c8ad [freerdp] add missing documentation 2025-01-13 10:32:36 +01:00