Commit Graph

6632 Commits

Author SHA1 Message Date
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
akallabeth
60330fc771 [utils,smartcard] handle output buffer too small 2025-05-07 21:13:50 +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
gpotter2
9fce51d7ee Add FreeRDP_RestrictedAdminModeSupported for server-side 2025-05-05 20:15:31 +02:00
gpotter2
c7dc736a3f Support 'Restrict Credential Delegation' mode 2025-05-05 20:15:30 +02:00
akallabeth
39bac51ae8 [core,aad] ensure wellknown exists 2025-05-05 17:58:48 +02:00
akallabeth
b5530e9c24 Merge pull request #11542 from EndlessEden/FF_PROFILE
FF_PROFILE Depreciation
2025-04-29 17:07:17 +02:00
endlesseden
af45cb37e3 FF_PROFILE Depreciation Fix 2025-04-29 16:33:35 +02:00
akallabeth
ec42fd986a [crypto,key] use EVP_aes_256_xts
This mode is supported by all OpenSSL and libressl >= 2.9.1 versions.
2025-04-29 10:50:03 +02:00
akallabeth
b2d7a7d3c0 [primitives,test] print all errors on RGB compare 2025-04-29 10:01:03 +02:00
akallabeth
f3126a040f [cmake,libfreerdp] Add CMake find_package for fdk-aac 2025-04-29 10:01:00 +02:00
akallabeth
ebe9e5209b [primitives,test] do compare YUV444 rgb after conversion 2025-04-28 22:33:03 +02:00
akallabeth
4fcca1941b [core,gcc] Assume clientDigProductId is opaque
Assume there is no \0 termination for the value.
2025-04-28 17:13:00 +02:00
akallabeth
cabcd5e5ef [core,caps] always send TS_OFFSCREEN_CAPABILITYSET
the client to server capability should always be sent according to
[MS-RDPBCGR] 2.2.7.1.9
2025-04-28 17:03:50 +02:00
akallabeth
218c4492a3 [core,proxy] detect address type
* refactor code to make it more readable
* add support for IPv4, IPv6 and FQDN hostname types
2025-04-25 14:15:31 +02:00
akallabeth
06564e4bc2 [core,settings] fix freerdp_device_collection_add
* Assert usage of DeviceArray, ensure returned values are != NULL if
  within DeviceCount
* Only reset newly allocated DeviceArray members on resize
2025-04-25 10:21:37 +02:00
David Fort
801c3fdda3 gcc: fix server-side connection with multiple monitor
The check was inverted and so any connection with multiple monitors was failing.
2025-04-23 14:17:37 +02:00
Armin Novak
b8f5b9c719 [core,order] fix const correctness 2025-04-23 10:13:36 +02:00
Armin Novak
549ba56233 [crypto,key] eliminate dead code 2025-04-23 10:13:36 +02:00
Armin Novak
bc22b9d8da [common,settings] eliminate dead code 2025-04-23 10:13:30 +02:00
Armin Novak
6a20b7bfd8 [common,settings] fix add_string_or_null
* If the value is NULL do not check WINPR_JSON_AddNullToObject return as
  that is most likely also NULL
* Fix testcase, always use goto for error handling
2025-04-23 09:31:59 +02:00
akallabeth
39ca16f4aa [cache,glyph] fix GLYPH_FRAGMENT_USE 2025-04-22 13:29:57 +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
akallabeth
6a4bbfc047 Merge pull request #11506 from akallabeth/rdp-sec-fixes
Rdp sec fixes
2025-04-15 16:33:31 +02:00
Armin Novak
88a3c94adc [crypto,certificate] Add a fallback for weak RSA keys
X509_dup fails with weak RSA keys. RDP security does still use them, so
add a fallback to recreate the X509 from the raw RSA data.
2025-04-15 16:30:29 +02:00
Armin Novak
e92f0170e4 [core,settings] handle empty OrderSupport and received capabilities 2025-04-15 16:09:46 +02:00
Armin Novak
4cb1536d2c [utils,smartcard] ignore ConvertWCharToUtf8 return 2025-04-15 10:12:18 +02:00
akallabeth
2e7e6dde87 [utils,smartcard] improve trace log 2025-04-14 22:36:45 +02:00
Armin Novak
f5435740d4 [utils,smartcard] assert and improve log 2025-04-14 13:56:24 +02:00
akallabeth
6d8d5e3ebe [core,caps] only warn in rdp_write_order_capability_set
warn about inconsistencies between settings and OrderSupport flags but
do not abort.
2025-04-11 10:16:36 +02:00
akallabeth
3805575c58 Merge pull request #11384 from akallabeth/rel-mouse-change
Rel mouse change
2025-04-11 08:21:14 +02:00
akallabeth
dfdd9f4fe1 [codec,rfx] fix invalid region calculation 2025-04-10 20:46:18 +02:00
akallabeth
25f54d866f [gdi] ignore empty rects in gdi_surface_bits 2025-04-10 19:06:31 +02:00
akallabeth
9961deb8e6 [core,gcc] ignore RNS_UD_CS_RELATIVE_MOUSE_INPUT
if the RDP protocol version is less than RDP_VERSION_10_12 (0x00080011)
ignore the flag.
2025-04-10 08:48:52 +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
3890c98c84 [core,gateway] fix string reading for TSG
The MaxCount field might be bigger than what is actually encoded, so
only read the ActualCount elements from the stream.
2025-04-09 22:32:54 +02:00
Armin Novak
de7d253e79 [utils,smartcard] only check return length if success 2025-04-09 10:22:02 +02:00
akallabeth
0601be648b [core,proxy] align no_proxy to curl
Since no_proxy is not really a standard orientate our implementation on
other popular software.
Additionally keep the support for CIDR notation.
2025-04-08 12:47:18 +02:00
akallabeth
ac09ac7074 [core,caps] fix rdp_apply_order_capability_set
Check local setting of BitmapCacheV3Enabled before enabling it.
2025-04-04 13:05:54 +02:00
akallabeth
87dbdae34b [core,settings] enforce OrderSupportFlags
After client preConnect callback and server peer initialize ensure that
the OrderSupportFlags are consistent with the other settings
2025-04-04 12:02:57 +02:00
akallabeth
7e4ac70211 [core,gateway] log tsg timeout 2025-04-03 16:17:25 +02:00
Richard Markiewicz
68f8c17b53 [core,tls] enable SNI when building with libreSSL 2025-04-01 08:48:11 -04:00
akallabeth
280c61061c [core,rdp] fix check for SEC_FLAGSHI_VALID 2025-03-31 22:16:05 +02:00
akallabeth
81131dddb9 [core,rdp-sec] unify security flags on UINT16 2025-03-31 19:32:06 +02:00
Eyal Tolchinsky
8c766370aa [core] synchronize standard RDP security encrypt and send
Had a race condition when using standard RDP security layer, where
encryption and send were not synchronized. This commit properly
synchronizes the above issue.
2025-03-31 17:46:12 +03: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