Commit Graph

529 Commits

Author SHA1 Message Date
Armin Novak 68a081f538
[server,shadow] fix XShm library name 2024-07-03 15:52:34 +02:00
akallabeth 00e15e736c
[server,shadow] optimize image comparison
Implement per format comparison functions
2024-07-02 08:06:18 +02:00
Armin Novak 1806daa375
[channel,server] fix unguarded use of functions
If functions of channel_<name>_server are used guard them so the code
compiles if the channel is not compiled in.
2024-06-12 09:58:08 +02: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 1b3f3a0408
[codec,color] expose freerdp_image_copy (no)overlap
expose functions for overlapping and non overlapping images to use
directly
2024-05-23 14:48:36 +02:00
Konstantin Kharlamov 4900b15391 shadow: mention in "help" output that auth defaults to "required"
It's marked as "off" currently but it is "on" by default.
2024-04-19 08:36:05 +02:00
Armin Novak f98e459833 [coverity] 1543936 Missing unlock 2024-04-15 12:40:01 +02:00
Armin Novak ffa8029883 [coverity] 1543186 Data race condition 2024-04-15 11:30:31 +02:00
Armin Novak 09060a9a49 [coverity] 1543072 Data race condition 2024-04-15 11:30:31 +02:00
akallabeth c831717cb0 [coverity] 1543129 Uninitialized scalar variable 2024-04-11 12:04:07 +02:00
akallabeth 1473931ecd [coverity] 1543220 Double free 2024-04-11 12:04:07 +02:00
akallabeth 678ff144ab [cmake] unify windows resource file generation
* use a macro to add resource files for executables and shared libraries
* use that macro to declare targets
* use that macro to set library/binary versioning
* use that macro to set target output name
* use a macro to create manpages and names
2024-03-20 11:17:18 +01:00
akallabeth bdd866c3d3 [server,shadow] cast incompatible pointer
the context pointer to WTSOpenServerA is intentional, cast to LPSTR to
match definition
2024-03-18 13:27:32 +01:00
akallabeth 938e1ca2f1 [server,shadow] initialize subsystem->format before use 2024-03-05 10:03:23 +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
akallabeth e4a0746cdc [server,shadow] detect changes no alpha
add shadow_capture_compare_with_format no alpha comparison option. If
not both, source and destination have alpha, just ignore it.
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 c61fc2a0fa [server,shadow] improve shadow help and startup checks
a SAM file is required for the shadow server to work if NLA is
activated. Better document that and abort startup if no file is
available.
2024-02-26 20:59:39 +01:00
akallabeth d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +01:00
akallabeth 81d2c1f057 [clang-tidy] clang-analyzer-core.NullDereference 2024-02-15 11:49:16 +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
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
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
efferre79 5b731aca4d command line help should not be part of the log info 2024-01-11 09:12:57 +01:00
akallabeth f6a208f75e [cmake] generate relative pkgconfig path
generate the relative pkgconfig path from the actual install locations.
fixes #9718
2024-01-05 14:19:34 +01:00
Armin Novak 175a3ca09a [cmake] do not append EXECUTABLE_SUFFIX to OUTPUT_NAME 2023-12-22 15:37:56 +01:00
Armin Novak 7d641a67b9 [doc,manpage] name manpages versioned
if WITH_BINARY_VERSIONING is activated also version the manpages to
match the binary names
2023-12-22 10:24:09 +01:00
Armin Novak b04271ae2d [cmake] add executable versioning
optionally append API version to generated binaries
2023-12-21 18:56:51 +01:00
Armin Novak 3735440166 [server,shadow] force relative mouse disabled
Since we do not implement the required callbacks ensure we do not send
the capability for it to connecting clients.
2023-12-19 21:26:46 +01:00
Armin Novak 736658a2d1 [server,shadow] fix missing set NULL after free 2023-12-15 23:21:37 +01:00
Martin Fleisz 5d40fb34e7 server: Fix compilation on Windows after recent settings changes 2023-11-28 14:45:19 +01:00
akallabeth 1b31852d32 [git] remove .gitignore
we do no longer allow in source builds, so remove all the .gitignore
files just hiding generated files
2023-11-28 12:14:55 +01:00
Armin Novak 9449c8c3df [server,shadow] fix opaque settings build 2023-11-24 18:19:03 +01:00
akallabeth 1f236ade7a [server] make settings opaque 2023-11-24 14:54:56 +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
akallabeth 89429885a0 [cmake] make generated pkg-config files relocatable
* new CMake option PKG_CONFIG_RELOCATABLE (default ON) allows generating
  traditional or relocatable pc files
2023-10-10 19:35:27 +02:00
akallabeth 99f26f1f01 [shadow,mac] remove function pointer casts 2023-09-21 10:57:43 +02:00
akallabeth bb5345c60e [freerdp,api] add FREERDP_ENTRY_POINT
C requires prototypes or compilers will complain about them missing. Our
library entry points do not have such, therefore add the macro
FREERDP_ENTRY_POINT which declares the function prototype automatically
before the function.
2023-08-25 14:36:05 +02:00
akallabeth 7a71441476 [warnings] fix integer multiplications
Ensure the integer width for size arguments is 64bit in a
multiplication. Leading 64bit constant 1ull expands width, a trailing
one is ignored.
2023-08-22 11:55:00 +02:00
Armin Novak 3cfa4ed6f2 [server,shadow] fix initialization of [MS-RDPEGFX]
the channel was initialized with handling messages in a thread and
handling the channel messages on main thread. fix that.
2023-08-21 16:09:05 +02:00
Armin Novak dd9757d686 [server] add exerimental and unmaintained warnings 2023-08-21 15:42:10 +02:00
akallabeth 41bd8bd3fb [various] fix integer conversions 2023-08-04 15:07:56 +02:00
Kai Pastor 5ecc011c13 Export interface include directories 2023-08-01 11:12:46 +02:00
Kai Pastor 21cfc456f5 find_dependency for exported cmake config 2023-08-01 08:13:30 +02:00
Armin Novak f08ed58367 [server,shadow] handle gfx thread in shadow server 2023-07-31 20:18:48 +02:00
Armin Novak a8b9451807 [server,shadow] unify sending caps confirm 2023-07-31 20:18:48 +02:00