Commit Graph

3930 Commits

Author SHA1 Message Date
akallabeth
2e5de43564 [core,tcp] unify setting of TCP_NODELAY 2025-09-12 09:59:30 +02:00
akallabeth
bc682c3332 [core,peer] only set TCP_NODELAY on SOCK_STREAM sockets 2025-09-12 08:41:47 +02:00
akallabeth
8b9335aa90 [CMake,libfreerdp] add pkg-config dependencies 2025-09-11 07:17:42 +02:00
David Fort
503416b532 settings: remove duplicate setting of GatewayAvdScope 2025-09-05 09:25:34 +02:00
akallabeth
ed90a55adf [core] fix BIO_puts implementations
* return -2 if not implemented
* add length sanitizion checks
2025-09-01 09:03:10 +02:00
Pascal Nowack
25e51878a1 core/redirection: Ensure stream has enough space for all parameters
While commit a08e3fc531 fixed the case,
where the stream did not have enough space for the target certificate,
it did miss out a few other cases where the remaining length is just
checked, but not increased when needed. Fix this by now also covering
the remaining cases.

Fixes: a08e3fc531
2025-09-01 06:49:15 +02:00
akallabeth
e52d024071 [core,settings] unify config path determination 2025-08-29 10:53:26 +02:00
akallabeth
83ffa524e9 [core,settings] fix ReceivedCapabilities reset 2025-08-26 12:09:09 +02:00
James Le Cuirot
51849fcb0a [aad] Respect the /server-name command line option (again)
AAD authentication fails when you give a bare IP to /v.

This was previously merged in PR #11004 but then accidentally reverted
in PR #11006.
2025-08-20 11:05:40 +01:00
Armin Novak
cbcdde7b34 [core,test] fix -Wdiscarded-qualifiers 2025-08-18 14:01:48 +02:00
akallabeth
65f18983ed [warnings] Fix format string errors
* Fix casts of format string arguments (%p requires void*)
* Fix format string to match type of arguments
2025-08-13 15:09:48 +02:00
akallabeth
c3e507a82e [winpr,wlog] Replace WLog_PrintMessage calls
Prefer WLog_PrintTextMessage to have proper format string checks in
place.
2025-08-13 15:08:01 +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
Pascal Nowack
a08e3fc531 core/redirection: Ensure stream has enough space for the certificate
Instead of checking whether enough space for the certificate is
available, simply use Stream_EnsureRemainingCapacity() to extend the
buffer size if needed. Otherwise, server redirection might fail despite
having a valid certificate.

See also: https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/issues/274
2025-08-06 09:12:43 +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
David Fort
a7b051b590 nla: fix reading of TsCspDetail
Due to a bug in the tag comparison, ReaderName, CardName, CspName and containerName
were not read on server side during a smartcard logon, leading to incomplete settings.
2025-07-02 09:47:02 +02:00
akallabeth
ec8f2b5dde [common,settings] force reallocation on caps copy 2025-07-01 09:49:44 +02: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
akallabeth
efbc9f7cbc [common,settings] fix int casts 2025-06-24 09:38:23 +02:00
akallabeth
efe9f6fbe8 Merge pull request #11693 from akallabeth/log-fixes
Log fixes
2025-06-23 11:39:38 +02:00
akallabeth
419ad81aa7 Revert "[core,settings] default MonitorIds size to MonitorDefArray size"
This reverts commit 90a737d48f.

The array is initially empty. Only via command line option or RDP file
setting it will be populated.

Any use by a client later on requires the client to initialize the array
according to its needs
2025-06-23 11:01:55 +02:00
akallabeth
59bfe47ef7 [core,gateway] less verbose logging
Do not log HTTP_DENIED as warning, this is expected on unauthenticated
connection attempts.
2025-06-20 11:45:23 +02:00
akallabeth
bee5edeb31 [core,proxy] fix IPv4 and IPv6 length 2025-06-19 23:24:09 +02:00
Simon Nivault
5d32afcdd0 Don't bypass PubSub_OnChannelDisconnected in case of channel error 2025-06-17 18:21:50 +02:00
akallabeth
6f03b25f8e [core,nla] use wcslen for password length 2025-06-16 19:07:53 +02:00
akallabeth
e049be9837 [codec] log primitives used 2025-06-13 13:52:28 +02:00
akallabeth
ee6d95ab25 [warnings] fix unused warnings 2025-06-13 10:15:56 +02:00
akallabeth
b57281ec99 [core,timer] fix use on platforms not supported
If a platform does not support the freerdp_timer_* API let it fail
silently.
2025-06-13 09:53:24 +02:00
Armin Novak
90a737d48f [core,settings] default MonitorIds size to MonitorDefArray size 2025-06-11 10:14:15 +02:00
akallabeth
6168a7bfd1 [client,common] make all azure settings configurable 2025-06-10 16:30:06 +02:00
akallabeth
d690ea0cb2 [utils,smartcard] fix possible assertion 2025-06-10 16:27:16 +02:00
akallabeth
ff7a3729fa [core,gcc] use dynamic logger from rdpMcs 2025-06-10 11:47:38 +02:00
Armin Novak
07e39ede20 [winpr,file] Add winpr_CreateFile wrapper
Allows creation of a file HANDLE from a utf-8 name
2025-06-05 11:58:47 +02:00
akallabeth
5c2e831fa5 [core,info] Allow INFO_HIDEF_RAIL_SUPPORTED with RDP version RDP_VERSION_5_PLUS
[MS-RDPBCGR] 2.2.1.11.1.1 Info Packet (TS_INFO_PACKET) states that
INFO_HIDEF_RAIL_SUPPORTED is not understood by RDP 4.0, 5.0, 5.1,
5.2, 6.0, 6.1, 7.0, 7.1, and 8.0 servers.
Windows Server 2012 is based on windows 8.1 and already supports the
flag.
2025-06-03 18:03:48 +02:00
Armin Novak
7a89e47334 [core,transport] only free userContext if userContextSize > 0 2025-05-28 14:07:58 +02:00
akallabeth
62d86d0779 [core,timer] fix timer termination 2025-05-22 10:26:23 +02:00
Armin Novak
91d919c780 [core,rdp] Use a single GetCommonAccessToken variable
Only store the callback in rdpRdp and access it only via getter.
2025-05-21 13:09:14 +02:00
Armin Novak
24ea6414bc [warnings] fix various compile warnings 2025-05-21 11:05:10 +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
akallabeth
8fe6450eef Merge pull request #11599 from akallabeth/reconnect-strict
Reconnect strict
2025-05-20 14:59:46 +02:00
akallabeth
3a6ce63126 [core,activation] skip sending PDU_TYPE_DEACTIVATE_ALL
If the channel was not initialized/joinded do not send a
PDU_TYPE_DEACTIVATE_ALL PDU and only log a message.
2025-05-19 17:08:33 +02:00
akallabeth
6fc02b4c14 [core,license] set an error code on client failure 2025-05-19 12:14:33 +02:00
akallabeth
2a020b8a5f [channels,video] fix NULL dereference 2025-05-19 08:17:43 +02:00
akallabeth
e9ae320c7f [core,timer] start timterID with 1
0 is invalid for timerID (or marks a failure state)
2025-05-16 21:03:17 +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
Jonas Ådahl
a4bb702aa6 transport: Initialize function pointers after resource allocation
The transport instance is freed when an error occurs.
If the TransportDisconnect function pointer is initialized it
causes SIGSEGV during free.

CVE: CVE-2025-4478
2025-05-13 12:54:27 +02:00
akallabeth
80a1797e8b Merge pull request #11518 from akallabeth/webview-update
Webview update
2025-05-12 19:17:05 +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
47527a3c0f [core,test] improve settings test log 2025-05-06 10:48:57 +02:00
akallabeth
af3e259b0b [core,test] refactor TestSettings
* log each test case run
* flush log messages
* split large test case functions
2025-05-06 09:08:01 +02:00