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
Armin Novak
e622e26c70
[server,proxy] fix install location of proxy library
2023-11-02 11:30:55 +01:00
Armin Novak
c91a250623
[warnings] add WINPR_FORMAT_ARG
...
with WINPR_FORMAT_ARG format strings are marked for MSVC to avoid
warnings
2023-10-16 15:10:13 +02: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
7df03ed5b4
[server,proxy] fix function pointer warning
2023-09-25 08:39:01 +02:00
akallabeth
6ff4db76bd
[server,proxy] fix function pointer type warning
2023-09-25 08:39:01 +02:00
akallabeth
99f26f1f01
[shadow,mac] remove function pointer casts
2023-09-21 10:57:43 +02:00
akallabeth
5a7a1c159d
[casts] remove fnObject* function pointer casts
...
use proper types that match the function pointer definition to avoid
surprises if the code should be refactored
2023-09-20 21:11:30 +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
4e824b243f
[winpr] add WINPR_ATTR_FORMAT_ARG
...
this macro declares the function argument (pos,arg) to be a printf
style format string and enables compiler checks for that.
2023-08-25 12:56:36 +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
Armin Novak
c0df9a50e5
[proxy,drdynvc] fix #9303 broken format string
2023-08-21 10:42:33 +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
Armin Novak
1caa439a54
[server,shadow] add return checks
...
add return checks and simplified cleanup for shadow_screen_new
2023-07-31 20:18:48 +02:00
Armin Novak
8ed3f8bf40
[server,shadow] fix loop increment warning
2023-07-31 08:32:43 +02:00
Armin Novak
5b27ada80a
[server,sample] fix unused result warnings
2023-07-31 08:32:43 +02:00
ehdgks0627
d04ba8d6ef
Correct typos and formatting errors in format strings
...
In several files, fixed typos in format strings that were causing unexpected output and formatting issues.
2023-07-28 15:34:46 +02:00
Armin Novak
3df928a8d2
[client,sdl] fixed member initialization order and casts
2023-07-28 13:42:12 +02:00
Armin Novak
e61880d077
[standard] replace __FUNCTION__ with __func__
2023-07-27 20:02:43 +02:00
Armin Novak
3024c1e3b0
[cmake] add option to disable platform server
...
add a new option to disable platform server implementations
2023-07-26 16:19:07 +02:00
akallabeth
5d3b7ef0c2
[server,peer] server instance must support multimon
2023-07-06 09:16:51 +02:00
akallabeth
764936fe64
[proxy,modules] fix c++ 11 compatibility
2023-07-05 08:46:00 +02:00
akallabeth
c7f7f38367
[ci] deactivate proxy modules on windows
...
current builder is too old for c++11
2023-07-05 08:46:00 +02:00
akallabeth
8802901b53
[server,mac] make the sample compile again
2023-07-05 08:46:00 +02:00
akallabeth
fc1238a8da
[proxy,module] fix missing library linking
2023-07-05 08:46:00 +02:00
Martin Fleisz
622a2a8df0
misc: More int to BOOL conversion fixes
...
This is a follow up to #9129 .
This PR fixes some problematic `int` to `BOOL` conversions that might
cause overflows when checking for bit flags.
2023-07-04 09:45:20 +02:00
akallabeth
be7ff37069
[proxy,rdpdr] fix boroken logger calls
2023-06-29 21:06:47 +02:00
akallabeth
2ac8946950
[proxy,channels] drdynvc logging context
...
* Use a dynamic logger for dynamic proxy channel
* Set logger context for dynamic channel
2023-06-29 14:30:09 +02:00
akallabeth
ead2be382c
[proxy,channels] use logger context for rdpdr
2023-06-29 14:30:09 +02:00
Armin Novak
133585cd5e
[proxy,drdynvc] remove dynamic channels on open
...
dynamic channels can be opened at any time during a session. If we
receive a CREATE_REQUEST_PDU and the channel id is already in use, print
out a warning with the existing channel details and discard it before
creating the newly requested channel.
2023-06-29 11:05:37 +02:00
Armin Novak
1dfe7878f6
[proxy,module] always check path exists for dyn-channel-dump
2023-06-29 11:05:37 +02:00