Kobi Mizrachi
44c50ff1d5
server: proxy: remove old session capture code
2020-06-05 09:22:26 +02:00
akallabeth
e66ee477c0
Improve X11 shadow authentication reason failure log
2020-05-27 11:53:28 +02:00
Kobi Mizrachi
6269243091
server: proxy: print server host ip on new conn (for clustering info)
2020-05-20 10:36:42 +03:00
Kobi Mizrachi
7d48a587d2
server: proxy: prepare for exporting gfx capture to a module
2020-05-20 10:31:51 +03:00
Kobi Mizrachi
715c3f293a
server: proxy: vc hook: check if proxy client is not null
2020-05-19 14:43:30 +03:00
Kobi Mizrachi
215e41b4ee
server: proxy: config: fix comma separated list parsing
2020-05-19 14:42:59 +03:00
Kobi Mizrachi
9de59051f6
server: proxy: refactor
2020-05-19 14:42:26 +03:00
Kobi Mizrachi
d28ad95fbe
server: proxy: use peer load balance info when host is fetched from config
2020-05-12 12:43:08 +02:00
Kobi Mizrachi
de0802a352
server: proxy: Register signal handler after modules finished loading.
...
This prevents a race where the signal handler free's structs that
modules use while initializing.
2020-05-11 09:11:29 +02:00
Kobi Mizrachi
00c25eada0
server: proxy: print version and buildconfig on startup
2020-05-11 09:11:29 +02:00
Kentaro Hayashi
148f3c675d
Fixed typos (Otherweise)
...
Otherweise ->
Otherw ise
^
2020-05-10 16:35:20 +09:00
akallabeth
cbee45aace
Fixed clipboard 'called with invalid type' warning
2020-05-06 13:31:57 +02:00
Linus Heckemann
5ce0ab909f
shadow_server: allow specifying IP addresses to listen on ( #6050 )
...
* shadow_server: allow specifying IP addresses to listen on
This allows using IPv6 as well as listening only on specific
interfaces. Additionally, it enables listening on local and TCP
sockets simultaneously.
* listener: log address with square brackets
This disambiguates IPv6 addresses.
* shadow_server: check error on each socket binding
* Refactored shadow /bind-address for 2.0 compiatibility.
* Made /ipc-socket and /bind-address incompatible arguments.
* Fixed shadow /bind-address handling and description
* Allow multiple bind addresses for shadow server.
Co-authored-by: akallabeth <akallabeth@posteo.net>
2020-05-05 08:35:19 +02:00
Armin Novak
24bd601f8d
Fixed data type warnings
2020-04-11 09:43:14 +02:00
Norbert Federa
e3b3b52f6a
server: fix surface command types
...
- Legacy RemoteFX is encapsulated in a "Stream Surface Bits Command" (CMDTYPE_STREAM_SURFACE_BITS)
- NSCodec is encapsulated in a "Set Surface Bits Command" (CMDTYPE_SET_SURFACE_BITS)
References:
- MS-RDPRFX 3.1.8.3.1 RemoteFX Stream / Encode Message Sequencing
- MS-RDPNSC 2.2.2 NSCodec Compressed Bitmap Stream
2020-04-03 14:35:58 +02:00
akallabeth
88ad9ca56b
Fix sending/receiving surface bits command.
...
* Pass on proper command type to application
* On send let the server implementation decide to send
2.2.9.2.1 Set Surface Bits Command (TS_SURFCMD_SET_SURF_BITS) or
2.2.9.2.2 Stream Surface Bits Command (TS_SURFCMD_STREAM_SURF_BITS)
Thanks to @viniciusjarina for tracing the issue down.
2020-04-03 12:00:53 +02:00
Kobi Mizrachi
3b673be378
server: proxy: fix wrong log level used in pf_modules_run_filter
2020-03-12 08:36:05 +01:00
Kobi Mizrachi
1484d0ac48
server: proxy: removed unnecessary cast after #5955
2020-03-12 08:36:05 +01:00
Kobi Mizrachi
73445e1462
server: proxy: use config path from argv if provided
2020-03-12 08:36:05 +01:00
Armin Novak
eca32456bb
Removed unused function
2020-03-10 14:04:53 +01:00
Armin Novak
3ba66db99d
Unify pReceiveChannelData and psPeerReceiveChannelData
...
Fix definitions of the two function pointers.
Use and definition did not match, fix that.
Will create warnings in external projects
2020-03-10 12:21:14 +01:00
Armin Novak
d5b5088eac
Fixed misinterpretation of SendChannelData
...
SendChannelData was defined with a return value of type int, but
used as BOOL everywhere. Fix the definition to match use.
2020-03-10 12:21:14 +01:00
Armin Novak
cffbbacccd
Default proxy modules to OFF
...
The proxy module sample is c++ 11 which some older build targets
do not like. Deactivate this by default.
2020-03-09 09:16:41 +01:00
Armin Novak
a6d0b67ca6
Set C++ standard for proxy demo target
2020-03-09 09:03:19 +01:00
Armin Novak
83348ef98f
CMake options to compile without proxy or shadow
...
* Added WITH_SHADOW (default ON) to compile without shadow server
* Added WITH_PROXY (default ON) to compile without proxy server
2020-03-09 08:50:40 +01:00
Armin Novak
d7ba252cd7
Fixed arguments for peer->ReceiveChannelData
2020-03-04 14:52:19 +01:00
Armin Novak
0f729d2b2c
Fixed conversion and return checks.
...
* Fix some missing argument checks for function pointer implementations
* Fix broken return value check for client->SendChannelData
* Updated const correctness for function pointer implementations
2020-03-04 14:44:03 +01:00
Armin Novak
d7da4b7e00
Removed function pointer casts for shadow.
2020-03-03 13:02:22 +01:00
Armin Novak
829497b313
Made CHANNEL_TSMF optional and deprecated.
2020-02-26 13:56:43 +01:00
Kobi Mizrachi
b574876986
server: proxy: client: change ClientFree->ContextFree
2020-02-26 11:47:01 +01:00
Kobi Mizrachi
079871ac65
server: proxy: support static vc passthrough
2020-02-26 11:47:01 +01:00
Armin Novak
436b68e416
Fixed #5895 : cast warnings.
2020-02-19 10:21:43 +01:00
Martin Fleisz
e304428a5f
Merge pull request #5857 from akallabeth/scanbuild_fixes
...
Scanbuild fixes
2020-02-12 10:16:54 +01:00
Kobi Mizrachi
4823f41274
server: proxy: improve logs
2020-02-10 09:37:54 +01:00
Kobi Mizrachi
8c8e5e4239
server: proxy: show indicative log on bind failure.
2020-01-27 07:57:45 +01:00
Armin Novak
5ba7061a18
Fixed type of index variables.
2020-01-23 10:12:12 +01:00
Armin Novak
d67cea9b1a
Fixed NULL dereference.
2020-01-23 10:09:23 +01:00
Kobi Mizrachi
18be45eca1
server: proxy: specify which modules to load in config
2020-01-22 14:18:21 +01:00
Kobi Mizrachi
6d3f658983
server: proxy: add an indicative log listener->Open fails. fixes #5850
2020-01-21 12:08:39 +01:00
Kobi Mizrachi
c0cc676a4e
server: proxy: pf_client.c: remove unused includes
2020-01-21 12:08:39 +01:00
Kobi Mizrachi
92c3f76809
server: proxy: disconnect all active sessions on shutdown
2020-01-21 12:08:39 +01:00
Kobi Mizrachi
424e73a895
server: proxy: modules_init: create modules dir if not exists
2020-01-21 11:43:13 +01:00
Kobi Mizrachi
9d82f5305a
server: proxy: update config.ini
2020-01-21 11:43:13 +01:00
Kobi Mizrachi
ab3a096353
server: proxy: fix race condition when between client thread and server update thread
2020-01-15 11:23:14 +02:00
Kobi Mizrachi
15909af766
server: proxy: fix pf_modules_init
2020-01-14 10:40:49 +01:00
David Fort
0cc3af2282
Merge pull request #5796 from akallabeth/rdp_10_7_large_pointers
...
Added RDP 10.7 large pointer support
2020-01-14 10:17:13 +01:00
Kobi Mizrachi
e3728c1822
server: proxy: do not compile modules by default
2020-01-14 07:58:47 +01:00
Kobi Mizrachi
706e13c312
server: proxy: shutdown gracefully
2020-01-14 07:58:47 +01:00
Kobi Mizrachi
b2fad50cd3
server: proxy: rewrite modules API
...
* Add support for C++ plugins.
* Seperate between a "module" and a "plugin": a module is a shared
library that exposes a function called "proxy_module_entry_point". This
function gets a parameter to `proxyPluginsManager*`, which can be used to
register plugins.
* Refine the API of the modules infrastructure:
* use proxyData* instead of rdpContext* when firing a hook or calling a filter.
* use clearer names.
* Instead of having to specify a path for each module to be loaded in
the configuration, the proxy now loads modules from specificed
directory, using the CMAKE variable PROXY_PLUGINDIR.
* Add an option to specify required plugins: plugins that the proxy
wouldn't start without having them fully loaded.
2020-01-14 07:58:47 +01:00
Kobi Mizrachi
29dee84a2b
rail/server: rename rdpContext to rdpcontext
...
Fixes a compilation error when mixing c++ and c code.
2020-01-14 07:58:47 +01:00
Kobi Mizrachi
47ca28b5c3
server: proxy: fix leak in pf_context_copy_settings
2020-01-13 13:41:44 +01:00
Kobi Mizrachi
ca2e578acc
server: proxy: add a unique id to each session and improve logs
2020-01-08 11:59:34 +01:00
Kobi Mizrachi
ab3a72f825
server: proxy: move peer initialization to seperate function
2020-01-08 11:59:34 +01:00
Kobi Mizrachi
77ca7ac2ad
server: proxy: make fallback to tls configurable
2020-01-08 07:58:03 +01:00
David Fort
31a4e2ad8b
Merge pull request #5745 from akallabeth/urbdrc_rewrite
...
Urbdrc rewrite
2020-01-06 09:23:45 +01:00
Armin Novak
182d0ce548
Added RDP 10.7 large pointer support
...
* Implements [MS-RDPBCGR] version 51 large pointer support.
* Logs unknown large pointer capability flags as warning.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-19 09:53:40 +01:00
Kobi Mizrachi
2e1d719ab1
server: proxy: proxy keyboard leds and imei
2019-12-17 15:33:11 +01:00
Bernhard Miklautz
814771eed5
Merge pull request #5778 from akallabeth/shadow_warnings
...
Added warning to win shadow server
2019-12-16 09:57:16 +01:00
Mati Shabtay
97606edeee
proxy: Implement RAIL support in proxy
2019-12-12 11:10:44 +01:00
Armin Novak
e6ff9e3efa
Added warning to win shadow server
...
Currently the windows shadow server does not support authentication.
Log that fact so everyone using it is notified on each login.
2019-12-12 09:20:30 +01:00
Armin Novak
7c243da6e1
Remove symbols exported by accident.
2019-12-02 10:57:31 +01:00
Armin Novak
15ad496bba
Cleaned up server sample audin channel use.
2019-11-22 10:56:21 +01:00
kubistika
09648834a0
server: proxy: fix sync issue in gfx opening
2019-11-12 12:45:01 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Martin Fleisz
bc39b32d20
Merge pull request #5685 from akallabeth/multi_instance_arg_parse
...
COMMAND_LINE_ARGUMENT structs contain parser results, use one per instance
2019-11-06 09:09:22 +01:00
Martin Fleisz
5b6663fe3a
Merge pull request #5689 from akallabeth/cleanups
...
Cleanups
2019-11-05 15:28:02 +01:00
akallabeth
acad36465d
Fix #5693 : Add missing link to gfx client channel library
2019-11-02 09:57:03 +01:00
kubistika
59ba044ccd
server: proxy: client: always do NLA fallback
2019-10-31 11:26:13 +02:00
Armin Novak
f01e042211
Code cleanups (strlen, casts, size_t, ...)
2019-10-29 11:58:43 +01:00
kubistika
d5245e1263
server: proxy: export config utils functions to be used by modules
2019-10-28 13:31:10 +01:00
kubistika
160446e093
server: proxy: stop loading session captures config if it is disabled
2019-10-28 13:31:10 +01:00
Armin Novak
10ce60ade1
Use COMMAND_LINE_ARGUMENT_A copy also in shadow server code.
2019-10-28 13:30:05 +01:00
Armin Novak
0c87eaee4d
COMMAND_LINE_ARGUMENT structs contain parser results, use one per instance
...
Remove the old global structs as the parser modifies them. When using
multiple instances in the same process space this could break parsing.
2019-10-28 13:30:05 +01:00
kubistika
ab2b288f87
server: proxy: refactor config loader
2019-10-24 12:57:48 +02:00
kubistika
d92485899d
server: proxy: capture: refactor path creation
2019-10-24 12:19:31 +02:00
kubistika
c723980a2f
server: proxy: add python script to create a video from session frames
2019-10-24 12:19:31 +02:00
kubistika
16d4d46da6
server: proxy: implement session capture feature
2019-10-24 12:19:31 +02:00
kubistika
5e09ac9a7a
server: proxy: client use PIXEL_FORMAT_BGRA32 (easier to write frames to bitmap)
2019-10-24 12:19:31 +02:00
kubistika
40463bb2f2
server: proxy: client: terminate the connection if pre connect hook fails
2019-10-22 10:16:17 +02:00
Martin Fleisz
5ead938271
Merge pull request #5657 from akallabeth/warning_fixes2
...
Warning fixes2
2019-10-17 17:00:57 +02:00
Martin Fleisz
105527ed37
Merge pull request #5648 from akallabeth/h264_dyn
...
H264 runtime detection
2019-10-17 12:54:43 +02:00
Armin Novak
59b4988f56
Fixed compilation warnings.
2019-10-16 14:54:05 +02:00
Martin Fleisz
799685cb92
Merge pull request #5646 from akallabeth/realloc_fixes
...
Fixed #5645 : realloc return handling
2019-10-07 10:43:11 +02:00
Armin Novak
27c6ad6ebf
Let shadow server detect H264 support at runtime
2019-10-07 09:47:03 +02:00
Armin Novak
ea492ed6b0
Fixed windows shadow server startup issue.
2019-10-04 17:13:00 +02:00
Armin Novak
19e4eb5d09
Added /buildconfig command line for shadow.
2019-10-04 16:19:23 +02:00
Armin Novak
e09f739b90
Cleaned up NSC API
2019-10-04 10:33:41 +02:00
kubistika
f4d169fb75
server: proxy: register input and update callbacks in post connect
...
To avoid a race in which the server received an input event before
proxy's client is initialized, we now only register input and update
callbacks after client is initialized and safe to use.
2019-09-30 10:08:28 +02:00
kubistika
4d175f6008
server: proxy: refactor pf_context_create_client_context
2019-09-30 10:08:28 +02:00
kubistika
b6730ea31e
server: proxy: support auto reconnect
2019-09-30 10:08:28 +02:00
kubistika
32913850d5
server: proxy: separate client and server security settings
2019-09-30 10:07:43 +02:00
Bernhard Miklautz
02a65840e8
Merge pull request #5578 from kubistika/proxy/refactor
...
sever: proxy: code refactor
2019-09-19 10:55:08 +02:00
kubistika
53a92421b1
server: proxy: config: fix mem leak
2019-09-11 14:29:04 +03:00
Armin Novak
8c17d2fa41
Add MOUSEEVENTF_HWHEEL define if not found in windows.h
2019-09-10 09:35:32 +02:00
Armin Novak
b1d42b17f6
Fix windows shadow server issues reported in #5577
2019-09-10 09:18:55 +02:00
kubistika
867843eef7
server: proxy: client: only try NLA if credentials available
2019-09-10 10:11:00 +03:00
kubistika
a87065ed67
server: proxy: get rid of unnecessary casts
2019-09-09 17:42:18 +03:00
kubistika
0b340b784c
server: proxy: drop local unix socket listen option
2019-09-09 17:42:18 +03:00
kubistika
8a75e8f54e
server: proxy: refactor
2019-09-09 17:42:18 +03:00
kubistika
f5d32f4617
server: proxy: refactor usage of pf_context_copy_settings
2019-09-09 17:35:07 +03:00