Armin Novak
17163d3738
[winpr,collections] fix PubSub_OnEvent return checks
...
* proper return checks on use
* fix return on invalid input arguments
* fix return on no event registered
2026-03-03 13:49:54 +01:00
Armin Novak
e6fca2c021
[winpr,stream] Fix Stream_SetPosition return checks
2026-03-02 11:37:20 +01:00
Armin Novak
9a9c74b69e
[core] add null checks
...
when a client instance disconnects it might have failed to allocate some
resources. So ensure all used ones are there
2026-02-27 19:05:10 +01:00
Armin Novak
89ab3c6c1b
[nodiscard] Fix all winpr_RAND usages
...
* Check return value and act on it.
* Initialize arrays that were missed before.
2026-02-27 15:52:26 +01:00
Armin Novak
5c510af477
[c23,freerdp] replace NULL with nullptr
2026-02-26 15:06:27 +01:00
Armin Novak
e58819830a
[c23] simplify boolean checks
2026-02-26 11:51:05 +01:00
Armin Novak
48267edf2f
[winpr] add WINPR_C_ARRAY_INIT
...
since C23 allows c++ style initializing replace direct use with this
macro
2026-02-25 19:23:08 +01:00
Armin Novak
4e4f84d33d
[libfreerdp] mark internal functions [[nodiscard]]
2026-02-24 11:54:00 +01:00
akallabeth
d597e5d2f3
[c,printf] fix wlog format string to match arguments
2026-01-16 11:41:18 +01:00
Armin Novak
7b8bbd7fd9
[clang,warnings] fix Wjump-misses-init
2026-01-08 11:32:47 +01:00
Armin Novak
3e6dda95c2
[core,mcs] replace rdpTransport pointer with rdpContext
...
Only keep pointers to rdpContext so updates/changes to rdpTransport are
not leading to dangling pointers
2026-01-08 09:24:32 +01:00
akallabeth
2386bda6a0
[core,connection] fix log level of several messages
...
WARN messages that occur during normal operation have been downgraded to
debug.
2025-06-24 10:35:00 +02:00
gpotter2
a175640025
Support non-RDP security when shadow server running as Hyper-V console
2025-05-06 22:23:40 +02:00
akallabeth
81131dddb9
[core,rdp-sec] unify security flags on UINT16
2025-03-31 19:32:06 +02:00
Eyal Tolchinsky
9be45a9fac
[core] standard RDP race condition on sec_flags
...
Had a race condition when using standard RDP security layer, where
multiple threads accessed |rdp->sec_flags| and modified it. This commit
removes the above field and converts to using a stack variable.
2025-03-31 17:46:12 +03:00
akallabeth
9aa19cc5ce
[core,tpkt] use dynamic logger
2025-03-17 10:48:36 +01:00
akallabeth
8a0cb6607f
[core] rdp_handle_message_channel
2025-02-27 20:30:30 +01:00
akallabeth
74cd8d8fe0
[freerdp,warnings] fix -Wunused-parameter
2025-02-13 15:53:54 +01:00
akallabeth
cc934795e4
[warnings] fix integer casting
...
* use asserting casts to detect overflows or sign conversions
* code cleanup for issues uncovered by casts
2025-01-01 12:58:34 +01:00
akallabeth
60ed73552f
[core,connection] print SSL warnings after init
2024-12-29 10:23:20 +01:00
Armin Novak
6506fb6b43
[core,gateway] add wellknown support for arm-transport
...
* fetch wellknown JSON for arm transport
* use dynamic logger for arm transport
2024-12-10 15:12:38 +01:00
akallabeth
c61b730e45
[core,rdp] fix locking in rdp_reset_free
...
unlock after resetting RDP security primitives to avoid deadlock later
on.
2024-12-10 11:40:24 +01:00
akallabeth
78acedb40e
[warnigns] fix Wshorten-64-to-32
2024-11-11 10:22:37 +01:00
akallabeth
4ec28e1f82
[warnings] fix -Wimplicit-int-conversion
2024-10-31 11:42:29 +01:00
akallabeth
3ae0a10142
[core] replace usage of winpr_Cipher_New
...
prefer winpr_CipherNewEx to be on the safe side.
2024-10-30 13:22:52 +01:00
akallabeth
ab88e79a36
[core,mcs] unify message channel handling
2024-09-26 16:57:27 +02:00
akallabeth
5e13d5bf16
[core,connection] handle message channel in state
...
When in demand active it is possible that we can receive message channel
messages. In case we receive one switch parsing to the appropriate
handlers.
2024-09-26 14:38:59 +02:00
David Fort
a4bd5ba886
core, channels: client-side remote credential guard
...
This patch implements the client-side part of the remote credential guard feature
as described in MS-RDPEAR. The 2 main changes are: shipping the TSRemoteGuardaCreds in
NLA, and implement the rdpear channel that allows LSASS to remote all the calls to
our client. For now it's UNIX only as the windows implementation would be implemented
in a completely different way.
To test, you may establish you ccache and then connect with (RCG enabled on the server):
xfreerdp /remoteGuard /u:<user> /d:<domain> /v<server>
That should log you in, and in the session you should not be asked for credentials when
doing mstsc /remoteGuard /v:<other server>.
2024-09-11 17:15:11 +02:00
akallabeth
baa70d1ab6
[warnings] fix compare integers of different signs
2024-09-03 15:10:46 +02:00
Armin Novak
496dcff1cf
[core,codecs] fix API function names
...
* deprecate codecs_new and codecs_free
* add new freerdp_client_codecs_new and freerdp_client_codecs_free
2024-05-29 14:34:18 +02:00
akallabeth
da85ec371c
[coverity] 1543065 Resource leak
2024-04-12 09:45:09 +02:00
akallabeth
ef8c9e48e8
[core,utils] unify channel reloading
...
Add the wrapper function utils_reload_channels that unifies the channel
cleanup and channel initialization sequence required on connect,
redirect and gateway policy apply
2024-03-07 16:18:41 +01:00
akallabeth
d7ebec5a65
[tidy] move loop variable declaration to loop
2024-02-22 12:31:50 +01:00
akallabeth
0ba995655d
[clang-tidy] cppcoreguidelines-init-variables
2024-02-15 11:49:16 +01:00
akallabeth
207def5c56
[clang-tidy] readability-isolate-declaration
2024-02-15 11:49:16 +01:00
Armin Novak
db73c562a2
[core,gcc] split update of RDP encryption from gcc
...
* Update EncryptionLevel and EncryptionMethods before writing GCC data
* Use const rdpSettings* in all GCC write functions
2024-01-19 06:51:30 +01:00
akallabeth
2e42d8ac2b
[core,connection] add more logging
...
log peer->ClientCapabilities execution failures
2024-01-10 08:27:14 +01:00
akallabeth
cd4d77af86
[settings] add deprecation warnings
...
direct struct access to rdpSettings now produces warnings if not
explicitly deactiaved by defining FREERDP_SETTINGS_INTERNAL_USE
2023-11-24 14:54:56 +01:00
akallabeth
1163cc4d5c
[core] add internal settings.h include
2023-11-24 14:54:56 +01:00
akallabeth
3ca26384ee
[core] only move state on demand active
...
rdp_client_connect_demand_active returns STATE_RUN_ACTIVE if we received
it, some other return otherwise
2023-11-21 13:54:29 +01:00
akallabeth
0ee61dcb62
[core,connection] improve parsing of demand active
...
Split up parsing, so we don´t have to reread the data.
2023-11-21 13:54:29 +01:00
David Fort
3c18a9980f
[client,win32] implement connection to child session
...
Under windows you can connect to a child session by requesting a named pipe to
the local server, and then do some RDP on this named pipe.
The protocol is like for /vmconnect with CredSSP, then Nego and then the "normal"
workflow for a connection. For CredSSP we force the usage of NTLM for the Negociate
SSPI, and the credentials are empty.
2023-09-27 11:57:49 +02:00
David Fort
8a39859612
[arm] various improvements
...
This patch moves the ARM configuration before starting the connection process, so
that we can do some provisioning of the FreeRDP settings with the items retrieved
from Azure.
Most notably that allows us to connect directly using RDSTLS security.
2023-09-04 10:24:56 +02:00
akallabeth
2102fa907a
[core,connection] use dynamic logger rdp->log
...
for state transition logging use dynamic logger instead.
2023-09-02 07:56:21 +02:00
akallabeth
54021b50b0
[core,peer] fix initial state transitions
...
update initial state transitions according to [MS-RDPBCGR]
the diagram is misleading, some of the text below ambigious, but
1.3.1.1 Connection Sequence phase 10 description lists the dependencies
of server initiated messages.
2023-09-02 07:56:21 +02:00
ehdgks0627
d04ba8d6ef
Correct typos and formatting errors in format strings
...
In several files, fixed typos in format strings that were causing unexpected output and formatting issues.
2023-07-28 15:34:46 +02:00
Martin Fleisz
37f9d5b494
core: Fix flag check to enable/disable RDSTLS security
...
On some platforms (i.e. Mac) the BOOL type might be narrower than the
`RedirectionFlags` type leading to an overflow when just assigning the
logical AND result to the setting. This fix makes sure that the value is
correctly set to either `TRUE` or `FALSE`.
2023-07-04 09:17:05 +02:00
akallabeth
4d350978dd
[core] assert rdp->context
2023-06-26 10:53:43 +02:00
Marc-André Moreau
4d4dcd4511
Fix usage of explicit server name when different from connection host
2023-06-13 09:20:17 -04:00
Armin Novak
970f0c54e8
[stream] use const correct Stream_Pointer access
2023-06-08 08:09:33 +02:00