Commit Graph

2717 Commits

Author SHA1 Message Date
Armin Novak
684ddeb168 [utils,rdpdr] add RDPDR_CAPS_IRP_MJ stringify functions 2026-01-15 13:05:15 +01:00
akallabeth
9fc9181473 [core,codecs] fix freerdp_codec_id_to_str
Use UINT32 as argument instead of enum RDP_CODEC_ID as the value might
be an invalid value in the enum.
2026-01-09 09:24:31 +01:00
akallabeth
9e32181a54 [channels,rdpdr] FILE_DIRECTORY_INFORMATION::FileName as WCHAR 2025-12-12 19:26:52 +01:00
David Fort
65bb6c59fc rdpear: handle basic NTLM commands and fix server-side
This patch adds the handling of basic NTLM commands. Because there's some mysterious
4 zero bytes after pickle header in Kerberos packets, not present in NTLM commands, the
patch also had to rework a bit the packet parsing / forging.

The patch also addresses a server-side bug when parsing supplemental creds, if the client
was sending an empty list, we were considering this as an error.

And finally we also implement the parsing of MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL.
This breaks the public API, anyway this was basically unused (as not parsed before) and
the previous API was wrong as what we receive is MSV1_0_REMOTE_SUPPLEMENTAL_CREDENTIAL
not MSV1_0_SUPPLEMENTAL_CREDENTIAL, so I guess the API breakage is ok.
2025-12-04 11:31:09 +01:00
David Fort
8df50f44b6 Fix remote credential guard channel loading
This patch fixes the loading of the RCG channel. It also adds a guard so the
/remoteGuard cmdline doesn't work if the channel is not built in.
2025-12-01 18:13:05 +01:00
akallabeth
c632a703df [core,input] Add debug log to keyboard state sync 2025-11-18 14:26:45 +01:00
akallabeth
ce87165719 [c,attributes] mark functions with attirbute malloc 2025-11-07 11:20:39 +01:00
akallabeth
c8698a1b9c [core,settings] add new keys for gateway
Add missing settings:
* FreeRDP_GatewayHttpReferer
* FreeRDP_GatewayHttpUserAgent
* FreeRDP_GatewayHttpMsUserAgent
2025-10-28 11:13:52 +01:00
akallabeth
fc2ae4cf41 [core,codecs] add stringify helper
add freerdp_codec_id_to_str to get a string representation of a given
codec id
2025-10-06 08:41:18 +02:00
Armin Novak
4aceae4666 [codec,color] Add from string method for PIXEL_FORMAT
* Add FreeRDPGetColorFromatFromName to get a PIXEL_FORMAT from a given
  string.
* Add a unit test to ensure FreeRDPGetColorFromatFromName and
  FreeRDPGetColorFormatName work as expected
2025-09-30 13:17:26 +02:00
Armin Novak
64b67c938c [utils] fix doxygen for freerdp_passphrase_read 2025-09-30 10:15:43 +02:00
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