Commit Graph

313 Commits

Author SHA1 Message Date
akallabeth
392a085728
[core,settings] enforce fullscreen monitor requirements
* Monitor must start at 0/0
* Monitor must be primary
2024-10-24 11:32:10 +02:00
akallabeth
401f81683c
[core,settings] fake monitor in window mode
RDP requires sending monitor information to the server. If we are in
windowed mode fake that information with the windows size
2024-10-24 11:32:03 +02:00
akallabeth
aa47e58f11
[core,settings] disable clang-tidy warning
we allocate a UINT32** using calloc and casting it. This allows freeing
this up with free but yields some warnings. Disable for this specific
case
2024-09-30 15:41:45 +02:00
akallabeth
d71c9c566a
[core,settings] monitor configuration check
* fix origin check, might not be primary monitor
* fix a memory leak
2024-09-30 15:41:23 +02:00
akallabeth
cf809e6388
[core,settings] add settings validation
after client side preconnect validate the settings.
Currently checks for some monitor layout limitations are implemented
2024-09-27 09:44:40 +02:00
Armin Novak
c7c84682e1
[warnings] fix mismatched-dealloc
Some allocator functions have an error path where the corresponding free
function is called. Since the memory in the allocator function was
allocated using malloc/calloc the free function does not match. Silence
warnings with pragma macros
2024-09-18 15:35:28 +02:00
akallabeth
ba41d5e532
[warnings] fix unchecked return 2024-09-15 09:08:02 +02:00
akallabeth
1d33095500
[warnings] fix cert-err33-c
Fix unused return values, cast to void if on purpose
2024-08-29 10:19:27 +02:00
akallabeth
2f5570cd67
Merge pull request #10423 from akallabeth/action_script
[client,X11] fix ActionScript
2024-07-25 10:00:26 +02:00
Armin Novak
44b07721ec
[client,X11] fix ActionScript
* Unify script calls
* Update documentation
* Fix home directory
2024-07-25 09:42:03 +02:00
Armin Novak
f167ccff4e
[core,capabilities] Fix SurfaceCommandsSupported
* Initialize in settings_new with everything supported
* merge client & server settings
* Write capabilities from current SurfaceCommandsSupported setting
2024-07-24 21:54:54 +02:00
Armin Novak
268bf25f02
[settings] add RemoteFxRlgrMode setting 2024-07-24 21:54:26 +02:00
Armin Novak
0810e7d944 [core,settings] enable SupportDynamicTimeZone
FreeRDP based clients & servers support it. If a remote does not support
it it is not send/received.
2024-06-24 14:38:39 +03:00
akallabeth
7aa72a7507
[core,settings] unify configuration paths
* Add new function freerdp_settings_get_config_path to get current
  user configuration directory
* Add CMake option WITH_FULL_CONFIG_PATH (default OFF): If defined, use
  <appdata>/Vendor/Product as config directory, otherwise use
  <appdata>/vendor (lowercase, only if vendor equal to product)
2024-06-06 11:31:22 +02:00
akallabeth
1efefceb5c
[core,settings] refactor /network
* add CONNECTION_TYPE_INVALID
* default to CONNECTION_TYPE_AUTODETECT
* allow /network:invalid and /network:0 to disable
2024-05-14 11:18:29 +02:00
Armin Novak
47ac961cb9 [core,settings] initialize DynamicDSTTimeZoneKeyName 2024-05-08 10:08:08 +02:00
akallabeth
3fe9363592 [core,capabilities] abort on invalid protocolVersion
* TS_GENERAL_CAPABILITYSET::protocolVersion must be
  TS_CAPS_PROTOCOLVERSION(0x200) see [MS-RDPBCGR] 2.2.7.1.1
  General Capability Set (TS_GENERAL_CAPABILITYSET)
* Default value of FreeRDP_CapsProtocolVersion must be
  TS_CAPS_PROTOCOLVERSION(0x200)
2024-04-23 17:13:13 +02:00
akallabeth
fc21b82880 [core,timezone] initialize ClientTimeZone early
Initialize ClientTimeZone in freerdp_settings_new to allow replacing the
default later on in command line parser or client connection callbacks
2024-04-23 09:54:52 +02:00
akallabeth
d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +01:00
akallabeth
f69e1fe697 [clang-tidy] readability-duplicate-include 2024-02-15 11:49:16 +01:00
akallabeth
0ba995655d [clang-tidy] cppcoreguidelines-init-variables 2024-02-15 11:49:16 +01:00
akallabeth
c2f4ad80a5 [common,settings] fix TargetNetAddresses usage
* use a common function to allocate both, TargetNetAddresses and
  TargetNetPorts
* unify handling, utilize helper functions as much as possible
2024-01-09 15:18:37 +01:00
Armin Novak
adb5e5715b [cache,glyph] print warning if enabled
glyph-cache is buggy, warn if enabled.
2023-12-12 19:36:54 +01:00
Armin Novak
37bd7e0959 [settings] renamed VirtualChannelChunkSize
in [MS-RDPBCGR] it is named VCChunkSize
2023-11-24 14:54:56 +01:00
Armin Novak
6e6559c41a [settings] fix type mismatch warnings 2023-11-24 14:54:56 +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
82eefe0bd1 [settings] auto generate key types from struct
* use enum types for settings getter/setter to have compiler check if
  keys are valid
* generate enum types from struct at compile time
* CMake option WITH_OPAQUE_SETTINGS to hide rdpStruct implementation
  from external projects
2023-11-24 14:54:56 +01:00
Armin Novak
98a4eb77ef [core] VirtualChannelChunkSize adjustments
* add CHANNEL_CHUNK_MAX_LENGTH
* remove duplicate definitions
* default to CHANNEL_CHUNK_MAX_LENGTH
2023-11-03 12:43:25 +01:00
akallabeth
9ebbefa5fe [settings] remove unused extensions
The extensions from the unstable API zone were unused, so remove them
2023-10-19 14:22:19 +02:00
akallabeth
1f7bc15bb1 [settings] add HasQoeEvent 2023-10-13 16:05:27 +02:00
akallabeth
910e3b9fb4 [settings] added new setting for HasRelativeMouseEvent 2023-10-13 16:05:27 +02:00
akallabeth
002b27f2e5 [core] add RDP_VERSION_10_12 2023-10-13 16:05:27 +02:00
2fly2
bce9f1cbe6 [core,settings] default disable ThinClient setting
fixes show black window when connect transparent app in
windows server 2012r2
2023-08-21 13:03:56 +02:00
Martin Fleisz
a5aad5159c core: Fix issues in settings copy code
This code fixes an issue where some settings were lost when copying
settings around. I.e. the device count was first set but then calling
`freerdp_settings_set_pointer_len` caused the device count to be reset
to 0 because we passed `NULL` for the data value.

This means the count got lost upon the first copy and further copies
also resulted in losing the array data (because the count was set to 0).

This PR fixes this issue by first resetting the array and afterwards
setting the correct count value.
2023-07-06 14:26:38 +02:00
Michael Saxl
d55e035260 [gateway,arm] Azure Virtual Desktop Gateway support
This PR creates a new /gateway:type:arm transport.
It depends on CJSON

The arm transport is not a transport by itself but is responsible
for getting the websocket endpoint from a configuration url derived from
the configured gateway host in the rdpw file or cmdline
2023-06-27 21:15:08 +02:00
Armin Novak
a4c6b36a19 [build] fix memory sanitizer stack frame warnings 2023-06-07 09:14:45 +02:00
akallabeth
393577750e [settings] add FreeRDP_ClipboardFeatureMask 2023-05-25 16:26:39 +02:00
akallabeth
38946561bb [core,settigs] default to 32bpp session color depth 2023-05-11 13:24:09 +02:00
Armin Novak
abe49dfd3d [core,settings] fix missing return path 2023-04-13 14:41:16 +02:00
Armin Novak
39767c5423 [settings] add supported color depths setting 2023-04-13 14:35:51 +02:00
Armin Novak
f8e8764ea8 [core,settings] unify identity from settings 2023-04-11 11:37:09 +02:00
fifthdegree
4cbfa006f2 Implement support for RDS AAD
Have a working implementation of the RDS AAD enhanced security mechanism
for Azure AD logons
2023-03-10 16:38:07 +01:00
Joan Torres
7c24da917e Add RDSTLS security protocol
The client tries to connect using RDSTLS only when it has received a
server redirection PDU with LB_PASSWORD_IS_ENCRYPTED flag.

The server exposes RDSTLS on negotiation if it has been configured on settings.
Then authenticates a client using configured credentials from settings:
RedirectionGuid, Username, Domain, Password.
2023-03-08 14:05:00 +01:00
Armin Novak
b4330cfccb [core,settings] use conservative multitransport flags 2023-02-21 16:42:54 +01:00
akallabeth
ab5be61e89 [client,common] working REDIRECTION_VERSION6
* REDIRECTION_VERSION6 requires enabled multitransport, enable it
* Add a fallback if multitransport was disabled
2023-02-20 16:04:04 +01:00
Armin Novak
a7dac52a42 [license] updated copyright headers 2023-02-12 20:17:11 +01:00
akallabeth
af371bef6a [crypto] rename rdpRsaKey to rdpPrivateKey 2023-02-12 20:17:11 +01:00
akallabeth
9b51df8b10 [core,crypto] refactor certificate management
* Properly split certificate_store, certificate_data, certificate and
  private key functions to files
* Prefix all functions with freerdp_ to have a unique name
* Update certificate store to use one file per host instead of
  known_hosts2
* Merge CryptoCert and rdpCertificate
2023-02-12 20:17:11 +01:00
Armin Novak
0c496681f5 [core,settings] fix use of FreeRDP_TargetNetPorts 2023-02-01 09:51:54 +01:00
Armin Novak
073aefd766 [core] set TS_UD_CS_CLUSTER::Flags to REDIRECTION_VERSION5
REDIRECTION_VERSION6 breaks redirection for currently unknown reasons.
Revert to the last known good version until we receive an update on
documentation for the redirection handling
2023-01-23 09:17:01 +01:00