akallabeth
749023bacb
Merge pull request #10555 from akallabeth/cast-fix-tls
...
[crypto,tls] simplify function pointer cast
2024-09-05 17:18:27 +02:00
akallabeth
e3f94e6622
nodiscard
2024-09-04 22:17:35 +02:00
akallabeth
9ae37b094f
fix implicit widening of multiplication result
2024-09-04 22:01:09 +02:00
akallabeth
6a1c3b4545
[function pointer] use macro for GetProcAddress
...
Cast all results of GetProcAddress with WINPR_FUNC_PTR_CAST
2024-09-04 21:31:48 +02:00
akallabeth
245afb706c
[function pointers] unify casts with macro
2024-09-04 20:06:45 +02:00
akallabeth
5e123735fa
[warnings] fixed sign-compare
2024-09-04 10:14:05 +02:00
akallabeth
9a027833b9
[warnings] fix misplaced widening cast
2024-09-03 17:40:55 +02:00
akallabeth
5a4a1a40ad
fix declaration and implementation parameter names
2024-09-03 12:24:53 +02:00
akallabeth
190929c018
[warnings] fix function pointer casts
2024-08-30 15:40:01 +02:00
akallabeth
500495dc00
[warnings] fix SDL3 related issues
2024-08-29 16:03:51 +02:00
akallabeth
24cd7828c9
[warnings] fix clang-tidy issues in server
2024-08-29 15:20:42 +02:00
akallabeth
9c9d74e920
[warnings] fix redundant casts
2024-08-29 12:03:09 +02:00
akallabeth
15456e1ee1
[warnings] fix implicit widening conversion
2024-08-29 10:47:20 +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
56d660f258
[cmake] mark dependency includes SYSTEM
...
Mark all dependency include paths SYSTEM so warnings from system headers
are excluded from ci warning statistics
2024-08-26 11:10:49 +02:00
Armin Novak
1f83198bb1
[server,shadow] send BitmapUpdate with single rectangle
...
See https://github.com/FreeRDP/FreeRDP/issues/10413
Microsoft ditched support for RFX and multiple rectangles in BitmapUpdate for
windows 11 24H2.
So send all updates only with a single rectangle.
2024-08-08 08:37:51 +02:00
akallabeth
3820858c63
[server,proxy] discard closed dyn channel data
...
If a dynamic channel does no longer exist or has been closed discard the
channel data received from client
2024-07-25 12:02:51 +02:00
akallabeth
eaf0bd8a69
[server,proxy] automatic intercept for drdynvc
...
* By default no special treatment for drdynvc
* If any of the configuration options requires drdynvc intercept do that
independently of the intercept/passthrough lists
2024-07-25 11:19:20 +02:00
akallabeth
784f9eab24
[server,proxy] only intercept drdynvc if requested
2024-07-25 11:19:17 +02:00
Armin Novak
9b6e39a880
[server,sample] fix NSCodec and SurfaceBitsCommand
2024-07-24 21:54:49 +02:00
Armin Novak
62eba8dacb
[server,shadow] fix NSCoded and SurfaceBitsCommand
2024-07-24 21:54:46 +02:00
Armin Novak
d757dfee24
[server,shadow] Fix RFX SurfaceBitsCommands
...
* Use RLGR mode from settings (might be overwritten by client)
* Only send RFX SurfaceBits if SURFCMDS_STREAM_SURFACE_BITS was set in
capabilities
2024-07-24 21:54:36 +02:00
Armin Novak
557844277f
[server,sample] use RFX RLGR from settings
2024-07-24 21:54:33 +02:00
Armin Novak
dbfa447f67
[server,shadow] allow RFX and NSC to be disabled
2024-07-24 09:30:52 +02:00
akallabeth
23295dc386
[server,shadow] add option to disable GFX
2024-07-23 16:38:30 +02:00
Armin Novak
68a081f538
[server,shadow] fix XShm library name
2024-07-03 15:52:34 +02:00
akallabeth
23c8f36358
Merge pull request #10315 from akallabeth/shadow_speedup
...
[server,shadow] optimize image comparison
2024-07-02 08:23:28 +02:00
akallabeth
00e15e736c
[server,shadow] optimize image comparison
...
Implement per format comparison functions
2024-07-02 08:06:18 +02:00
akallabeth
15e49da638
Merge pull request #10322 from akallabeth/proxy-del-config
...
[server,proxy] remove sample config.ini
2024-07-01 17:33:01 +02:00
akallabeth
8f4d105f50
[server,proxy] remove unused section from config
...
Remote GFXSettings and Clipboard section as it was no longer used. This
is a non breaking change, existing entries will be ignored (just like up
until now) but the generated config now no longer contains it.
2024-07-01 11:40:10 +02:00
akallabeth
605395028c
[server,proxy] remove sample config.ini
...
the sample can be dynamically generated by proxy binary, do not leave an
(outdated) config example in the repo.
2024-07-01 09:58:45 +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
Armin Novak
2c4604ed1c
[proxy,modules] replace global constructor
2024-06-05 15:57:46 +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
akallabeth
a403b3bd1c
[server,proxy] add missing WINPR_NORETURN
2024-05-08 14:53:39 +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
1197384315
[coverity] 1543218 Resource leak
2024-04-11 12:04:07 +02:00
akallabeth
b4fb4161d9
[coverity] 1088726 Resource leak
2024-04-11 12:04:07 +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
Kai Pastor
552428ca53
Fix wfreerdp-server-cli output and pdb name
2024-03-12 10:12:51 +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
67f1376b52
[server,win] fix undeclared identifier #9900
2024-02-26 10:26:58 +01:00
akallabeth
05e555feb7
fixed unused-variable warnings
2024-02-22 12:31:50 +01:00
akallabeth
43eae6029f
[clang-tidy] fix various review warnings
2024-02-22 12:31:50 +01:00
akallabeth
d7ebec5a65
[tidy] move loop variable declaration to loop
2024-02-22 12:31:50 +01:00
akallabeth
0e44b2c674
[clang-tidy] clang-analyzer-unix.Malloc
2024-02-15 11:49:16 +01:00
akallabeth
81d2c1f057
[clang-tidy] clang-analyzer-core.NullDereference
2024-02-15 11:49:16 +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
207def5c56
[clang-tidy] readability-isolate-declaration
2024-02-15 11:49:16 +01:00
akallabeth
b193f9ab59
[cmake] guard cmake_policy(CMP0091)
...
only set the policy to NEW if it is defined
2024-02-13 16:22:37 +01:00
akallabeth
bf72c307b0
[server,sample] add bounds checks
...
* test_peer_draw_icon should ignore requests if the resulting image is
out of bounds of desktop size.
2024-02-12 17:01:16 +01:00
akallabeth
53d88c1c96
[server,sample] delay WTSVirtualChannelManagerCheckFileDescriptor
...
Only call WTSVirtualChannelManagerCheckFileDescriptor if there was a
event pending on WTSVirtualChannelManagerGetEventHandle
This ensures that the drdynvc channel is not opened before it is
initialized.
2024-02-12 14:06:51 +01:00
akallabeth
e8d1bc5f4b
[server,sample] fix resource location
...
if binary versioning is enabled the installation path was wrong.
2024-02-08 09:47:56 +01:00
akallabeth
0cea2461c1
[server,sample] use wImage to load cursor icon
...
replace the custom PPM loader with the winpr_image* family of functions.
2024-02-07 13:14:02 +01:00
akallabeth
eb8b2828dc
[server,sample] provide sample-icons formats
...
provide the cursor icon in different formats.
2024-02-07 13:14:02 +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
Armin Novak
a4425d945c
[server,proxy] drop capture plugin
...
the capture plugin was written for FreeRDP2 proxy, which used a
different approach that is no longer working with FreeRDP3.
Drop the module so that we don´t diffuse people into thinking that this
is working.
2024-01-18 11:20:29 +01:00
Armin Novak
b4587efad1
[proxy,modules] fix module load check
2024-01-17 11:31:13 +01:00
efferre79
5b731aca4d
command line help should not be part of the log info
2024-01-11 09:12:57 +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
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
a7decba8c2
[cmake] unify common options
2023-12-22 16:21:30 +01:00
Armin Novak
7debd0f621
[cmake] set policy 0091
...
On windows we need to set the runtime linker settings extra
https://cmake.org/cmake/help/latest/policy/CMP0091.html
2023-12-22 15:37:56 +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
b1cb6b3efc
[server,proxy] update manpage with config steps
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
7f25a7cebf
[cmake] provide default project version
...
each subproject inherits the project version of the top level project
2023-12-21 18:56:51 +01:00
Armin Novak
07d7d35731
[server,proxy] add manpage
2023-12-20 09:21:31 +01:00
Armin Novak
a446c53ef3
[freerdp,proxy] add version command
2023-12-20 09:21:31 +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
Joan Torres
2079455eec
[proxy,modules] allow compiling with old c++ compiler
...
For dyn-channel-dump.
On C++17 there's the filesystem standard library.
Newer c++ compilers use it with <filesystem>.
However, older c++ compilers use it with <experimental/filesystem>.
2023-12-18 14:11:37 +01:00
Armin Novak
736658a2d1
[server,shadow] fix missing set NULL after free
2023-12-15 23:21:37 +01:00
Armin Novak
f791cf6308
[proxy,modules] explicitly build shared libraries
...
The proxy modules must always be shared libraries. To have the proper
system extension, use keyword SHARED instead of MOUDLE
2023-12-14 14:05:39 +01:00
Armin Novak
9e9ad3815d
fix typos in various places
2023-12-12 19:36:54 +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
akallabeth
6b9245849c
[warnings] type casts
2023-11-24 18:19:03 +01:00
Armin Novak
9449c8c3df
[server,shadow] fix opaque settings build
2023-11-24 18:19:03 +01:00
akallabeth
6eb4ff6212
[server,proxy] fix pf_context_copy_settings
...
possible memory leaks in failure case fixed
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
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
Armin Novak
e0e72f9c28
[cmake] use CMAKE_MSVC_RUNTIME_LIBRARY
...
* Increase required CMake version to 3.15 (windows only)
* Use
https://cmake.org/cmake/help/latest/prop_tgt/MSVC_RUNTIME_LIBRARY.html#prop_tgt:MSVC_RUNTIME_LIBRARY
to select windows runtime
2023-11-16 10:40:04 +01:00