akallabeth
1e325dc2de
[core,settings] add missing autoreconnect option
...
Split settings, there was a double use for AutoReconnectEnabled.
AutoReconnectEnabled is a setting responsible for client side
autoreconnection.
AutoReconnectPacketSupported is a flag set by the server to announce
support for AutoReconnectPacket allowing fast reconnect.
2024-04-11 11:19:18 +02:00
Armin Novak
ea9e219867
[channels,rail] print handshakeEx flags
2024-03-20 10:00:57 +01:00
akallabeth
3bba61bdf4
[utils,encoded_types] fix read/write, add limits
...
* fix read and write limits of four byte signed integers
* add definitions for value range MIN and MAX
2024-03-18 08:41:17 +01:00
akallabeth
95cae82af6
[freerdp,api] check __clang__ at ALIGN64
...
while __GNUC__ is usually defined explicitely check for __clang__ too
2024-03-12 14:24:36 +01:00
akallabeth
f764b0a854
[channels,location] implement client channel
...
* provide client side callbacks to implement platform specific location
backend glue code
2024-03-11 13:22:12 +01:00
akallabeth
2dd80b1e80
[utils] implement write 4byte types
...
* freerdp_write_four_byte_signed_integer
* freerdp_write_four_byte_float
2024-03-11 13:22:12 +01:00
akallabeth
93eb4df524
[core,gateway] implement RDG and TSG policy
...
* use dynamic logger in RDG
* honor [MS-TSGU] 2.2.9.2.1.5.2 TSG_REDIRECTION_FLAGS
* honor [MS-TSGU] 2.2.10.16 HTTP_TUNNEL_AUTH_RESPONSE
HTTP_TUNNEL_AUTH_RESPONSE_FIELD_REDIR_FLAGS flag
* add setting GatewayIgnoreRedirectionPolicy to ignore the gateway
policy if desired
2024-03-07 16:18:41 +01:00
akallabeth
9268cee35e
[server,shadow] shadow_subsystem_pointer_convert_alpha_pointer_data
...
the function uses implicit color formats. Replace this with the function
shadow_subsystem_pointer_convert_alpha_pointer_data_to_format with
explicit source color format.
Deprecate the old function.
2024-03-05 10:03:23 +01:00
akallabeth
fe149f3f57
[server,shadow] deprecate shadow_capture_compare
...
the function uses implicit color format layout, so move to a version
with explicit format layout.
2024-03-05 10:03:23 +01:00
akallabeth
730d67c7e3
[server,shadow] add WINPR_RESTRICT to comparison
...
shadow_capture_compare_with_format and shadow_capture_compare always
operate on distinct memory areas. Allow better optimization of
operations with the WINPR_RESTRICT keyword
2024-03-05 10:03:23 +01:00
nin
dc4bd6609b
[server,shadow] add image format support for capture
...
when capturing bitmap data take the source image format into account on
copy and compare.
2024-03-05 10:03:23 +01:00
akallabeth
2de926e172
[core,transport] reserve space in rdpTransportIo
...
For better ABI compatibility reserve some extra space in this public
struct.
2024-02-22 15:18:30 +01:00
akallabeth
d7ebec5a65
[tidy] move loop variable declaration to loop
2024-02-22 12:31:50 +01:00
akallabeth
b8598728a6
[clang-tidy] clang-analyzer-core.uninitialized.Assign
2024-02-15 11:49:16 +01:00
akallabeth
0ba995655d
[clang-tidy] cppcoreguidelines-init-variables
2024-02-15 11:49:16 +01:00
akallabeth
0d68cb4f42
[build,attr] fix WINPR_ATTR_MALLOC
...
* do not use this attribute if the free function takes pointer to pointer
* audio_format_new must be freed by audio_formats_free
2024-02-12 10:23:27 +01:00
akallabeth
9a51830434
[codec,jpeg] use winpr image for jpeg
2024-02-07 10:04:08 +01:00
akallabeth
ba8cf8cf21
[build] fix Wmismatched-deallocator warnings
...
With custom malloc function attributes the fail path in the _New
functions produces warnings due to allocator mismatches. Silence them.
2024-02-05 08:16:55 +01:00
akallabeth
bb42d425ed
[gcc,clang] add support for attribute(malloc)
...
Mark all malloc like functions and add their appropriate free function
to let the compiler complain on mismatches
2024-02-02 15:10:40 +01:00
Vic Lee
5559e59f40
[channels] Add synchronous static channel setting.
2024-02-01 15:06:23 +01:00
akallabeth
4add7836fa
[server,shadow] wait for rdpegfx channel ready
...
we need to wait until the capability messages are exchanged before
starting to issue gfx commands
2024-01-29 19:26:18 +01:00
Vic Lee
f2794daf38
[core,transport] make blocking mode available to transport IO interface.
2024-01-22 12:57:01 +01:00
Vic Lee
16206cb505
[channels,drdynvc] Add settings to enable synchronous dynamic channels.
2024-01-11 15:24:55 +01:00
akallabeth
59ed125eed
[server,proxy] add TlsSecLevel option to config
...
To support legacy targets add the TlsSecLevel configuration option that
is equivalent to the /tls:seclevel option of the client implementations.
This allows automatic configuration of OpenSSL legacy providers if they
are available.
2024-01-09 15:53:22 +01:00
Vic Lee
33447dc16e
[nla,transport] move public key retrieval to transport IO.
2024-01-03 08:40:39 +01:00
David Fort
6a31820363
[core] allow to specify the hostname used for AAD
...
The previous code was assuming that the host name used for doing AAD was
ServerHostname parameter. But when you connect directly to Azure hosts you most
likely connect by IP and use short name for the AAD host, so you need to be able
to give ServerHostname=<IP of host> and AadServerHostname=<shortname>.
2023-12-15 14:37:15 +01:00
Armin Novak
6f6c0248f0
[client,common] check for relative mouse events
...
Added freerdp_client_use_relative_mouse_events to tell the client if the
coordinates should be relative or absolute
2023-12-06 10:45:01 +01:00
Armin Novak
c8b142a10f
[core,gcc] added flag RNS_UD_CS_RELATIVE_MOUSE_INPUT
2023-12-06 10:45:01 +01:00
Armin Novak
a65722166e
[codecs] fix enum warning
2023-12-06 10:45:01 +01:00
Armin Novak
7b043aed39
[settings] add c++ guards
2023-12-06 10:45:01 +01:00
akallabeth
5ffaf12748
[enum types] add *_RESERVED = 0 entries
...
eliminate warnings with initializing a struct with = { 0 } due to enum
members that do not define the value 0
2023-11-24 18:19:03 +01:00
Armin Novak
4d50d59e7e
[settings] renamed VirtualChannelCompressionFlags
2023-11-24 14:54:56 +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
3e9aad58f9
[common,settings] add documentation and missing API
...
* added freerdp_settings_are_valid for batch checks
* added missing settings function documentation
2023-11-24 14:54:56 +01:00
Armin Novak
1a5cea0023
[common,codecs] use an enum to define codecs
2023-11-24 14:54:56 +01:00
Armin Novak
704ee8bc4b
[settings] add unused values and sign correct keys
...
* add -1 as unused enum entry
* change key parameter type from size_t to SSIZE_T
2023-11-24 14:54:56 +01:00
Armin Novak
593e2bf4a9
[api] fix compiler warnings
...
check #if defined(__GNUC__)
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
akallabeth
71a7ffa8d8
[settings] add freerdp_settings_append_string
...
this function appends a string to an existing values, takes care of
memory allocations.
2023-11-24 14:54:56 +01:00
akallabeth
a9a879c59f
[settings] remove freerdp_settings_take_string
...
this function is problematic as it allows mixing allocators.
2023-11-24 14:54:56 +01:00
akallabeth
ecc21a2cfc
[settings] add freerdp_settings_copy_item
...
convenience function to copy a value of opaque type from one settings
struct to another, cleaning up possible existing data first
2023-11-24 14:54:56 +01:00
Armin Novak
1807652975
[core,helpers] add new stringify functions
...
* freerdp_get_logon_error_info_type_ex
* freerdp_get_logon_error_info_data_ex
2023-11-20 18:00:42 +01:00
David Fort
061148f856
[nla] initial server-side remote credential guard support
...
Adds support for server-side remote credential guard in NLA. When enabled that allows
the remote user to connect without shipping credentials in TSCred packets. Instead
it will send his TGT encoded with a TGS from the remote server. This way the server
is able to populate that TGT in a local credential cache without knowing the user's
password.
The patch only treats the NLA part and does not contain the associated RDPEAR channel
that allows to have the complete interaction to retrieve new access tokens.
2023-11-20 16:17:00 +01:00
Martin Fleisz
954f6d69cf
dvc: Add field for custom interface data
2023-11-15 14:53:55 +01:00
akallabeth
13b44b8b77
[ifdef] properly check for defined
2023-11-10 09:58:23 +01:00
Armin Novak
16c4ede603
[client,common] add custom line parser option
...
freerdp_client_settings_parse_command_line_arguments_ex allows supplying
user defined options to be parsed with the default ones from
client/common.
A callback must be implemented to handle the supplied arguments.
2023-11-07 14:11:51 +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
Armin Novak
d000d9e957
[channels] add <NAME>_CHANNEL_NAME for each
...
* made <NAME>_CHANNEL_NAME defines consistent, each channel now has a
define for the library name.
* use these defines instead of string constants
2023-11-02 12:44:28 +01:00
Armin Novak
e56fcb45cb
[core,aad] move cJSON related parsing to core
...
hide cJSON parser from freerdp-client library, link privately
2023-11-02 11:30:55 +01:00