Commit Graph

1395 Commits

Author SHA1 Message Date
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
Armin Novak ceb346241b [proxy,modules] add dump session handling
Use a new subdirectory for each session opened on the proxy
2023-06-29 11:05:37 +02:00
Armin Novak ed93474a07 [proxy,modules] dyn-channel-dump one packet per file 2023-06-29 11:05:37 +02:00
Armin Novak 0876fb555d [proxy,modules] dyn-channel-dump check config for NULL 2023-06-29 11:05:37 +02:00
Armin Novak 80058caa4d [proxy,modules] check return of pf_modules_run_hook 2023-06-29 11:05:37 +02:00
Armin Novak a85aee580f [proxy,modules] add channel dump plugin 2023-06-27 17:36:57 +02:00
Armin Novak fd338c3bd4 [server,proxy] allow reading arbitrary keys from config
Allow the proxy configuration to contain arbitrary section/key/value
entries which can be used by plugins for configuration.
2023-06-27 17:36:57 +02:00
akallabeth 1fc0d5b4b1 [winpr] remove casts for winpr_RAND calls 2023-06-21 09:57:52 +02:00
Armin Novak 4803ba046c [server,shadow] implement CheckPeerAcceptRestrictions
Implement a (optional) peer limitation check for shadow server.
with the command line option /max-connections:<number> the maximum
number of simultaneous connections can be limited.
2023-06-14 17:15:21 +02:00
Armin Novak 3648c05c56 [shadow,subsystem] refactor builtin loader 2023-06-13 08:02:02 +02:00
akallabeth a71da162ae [server,shadow] require NLA off if -auth is requested.
* Default to authentication required for shadow server (invert previous
  default)
* force NLA off if authentication is disabled
2023-06-12 15:04:05 +02:00
Armin Novak c991f73041 [CMake] refactor shadow build scripts
* fix a bug with platform modules not being correctly build
* simplify build, use subdirectory CMakeLists.txt
2023-06-12 15:04:05 +02:00
Armin Novak 98b7c88df7 [proxy,modules] fix bitmap filter drdynvc write 2023-06-08 08:13:16 +02:00
Armin Novak 970f0c54e8 [stream] use const correct Stream_Pointer access 2023-06-08 08:09:33 +02:00
Armin Novak a4c6b36a19 [build] fix memory sanitizer stack frame warnings 2023-06-07 09:14:45 +02:00
Armin Novak 3e44efc841 [cmake] use FindX11 from CMake 3.13 2023-05-31 11:05:56 +02:00
akallabeth 105f0d2366 [channel,audin] move common code to server channel
* manage channel related callbacks with default implementations
* use dynamic logger for server audin channel
2023-05-17 13:33:35 +02:00
Pascal Nowack c5278c874f channels/audin: Rework API to be closer to documentation
The current server side channel handling of AUDIO_INPUT is currently
very constrained:

- Server implementations cannot measure the clients uplink, since the
  Incoming Data PDU is currently unhandled and FreeRDPs DSP handling
  delays the callback call of ReceiveSamples
- Servers currently cannot prefer a different protocol version
- Servers currently cannot change the used format

To solve these issues without running into the risk that some
simplifications constraint certain API usage, rework the current channel
handling to be very close to the documentation.
This means, that all documented API calls can be made by server
implementations and all documented PDUs, that the server side is
expected to receive are just parsed inside FreeRDP and then forwarded to
the API implementation.
2023-05-17 13:33:35 +02:00