Commit Graph

55 Commits

Author SHA1 Message Date
kubistika
5daba89e83 server: proxy: add more info on proxy logs 2020-09-21 14:16:31 +03:00
Kobi Mizrachi
67cfcb0af6 server: proxy: implement external routing 2020-09-18 09:51:12 +02:00
Kobi Mizrachi
b2d15eedc9 server: proxy: proxy rdp heartbeats 2020-07-07 09:57:53 +02:00
Kobi Mizrachi
2ae7c2a6d4 server: proxy: fix race issue
Proxy server might receive input updates while client side being
redirected (and reset), then a heap-after-free might occur. To solve
this, we register server input/update callbacks only after client is
fully activated.
2020-07-06 09:14:44 +02:00
Kobi Mizrachi
0bf225ec60 server: proxy: capture: send sid in SessionInfo 2020-06-22 12:37:53 +02:00
Kobi Mizrachi
44c50ff1d5 server: proxy: remove old session capture code 2020-06-05 09:22:26 +02:00
Kobi Mizrachi
7d48a587d2 server: proxy: prepare for exporting gfx capture to a module 2020-05-20 10:31:51 +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
1484d0ac48 server: proxy: removed unnecessary cast after #5955 2020-03-12 08:36:05 +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
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
Kobi Mizrachi
4823f41274 server: proxy: improve logs 2020-02-10 09:37:54 +01:00
Kobi Mizrachi
c0cc676a4e server: proxy: pf_client.c: remove unused includes 2020-01-21 12:08:39 +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
ca2e578acc server: proxy: add a unique id to each session and improve logs 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
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
kubistika
59ba044ccd server: proxy: client: always do NLA fallback 2019-10-31 11:26:13 +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
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
kubistika
867843eef7 server: proxy: client: only try NLA if credentials available 2019-09-10 10:11:00 +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
kubistika
7ed39ce724 server: proxy: make sure module's pre connect only called once 2019-09-08 15:08:15 +03:00
kubistika
62b32fbab9 server: proxy: only wait for server dynvc when needed 2019-09-03 09:09:27 +02:00
kubistika
e135106731 server: proxy: rdpsnd support 2019-08-29 14:39:17 +02:00
kubistika
dc11bcc9f0 server: proxy: fix nla fallback (introuduced in #5522) 2019-08-28 17:03:40 +02:00
kubistika
04e1708df1 server: proxy: use new hooks api 2019-08-23 11:58:08 +02:00
kubistika
32fff644da server: proxy: improve modules api 2019-08-23 11:58:08 +02:00
kubistika
ef306fbff6 server: proxy: pf_context.c: Fix nla crash
Because the proxy uses freerdp_settings_copy to do re-negotiation after
first connection to remote server, all redirection information
(RedirectionPassword, RedirectionDomain, etc.) pointers were duplicated
(to both client and server settings structs). Then, at disconnection, a
double-free occured.
2019-08-14 19:39:34 +02:00
kubistika
ddb811cbc8 server: proxy: client: before loading client addins, wait for serve's dynvc to be in ready state 2019-08-13 16:28:05 +02:00
kubistika
1da91444c0 server: proxy: client: set glyph support level to NONE 2019-08-13 16:28:05 +02:00
kubistika
3051a4b4b4 server: proxy: ensure client termination 2019-08-02 10:17:45 +02:00
kubistika
95851b25e7 server: proxy: set nla fallback flag flag only if NLASecurity is enabled 2019-07-16 16:20:06 +03:00
kubistika
e9e1c5d748 server: proxy: naming refactor 2019-07-16 16:20:06 +03:00
kubistika
70ca028453 server: proxy: remove unnecessary files 2019-07-16 16:12:12 +03:00
kubistika
1b4371ed22 server: proxy: use freerdp_settings_copy 2019-07-16 13:47:35 +02:00
kubistika
ab00d90f03 server: proxy: implement NLA fallback 2019-07-15 11:52:30 +02:00
kubistika
8fbee28dd7 server/proxy: Logging and comments improvements 2019-06-26 14:25:07 +02:00
kubistika
8a115f2020 server/proxy: Refactor pdata_set_connection_info
Connection info must be set after the proxy's client connection
established, because if the client didn't provide credentials in .rdp
file, we don't know its username yet.
2019-06-26 14:25:07 +02:00
kubistika
f795fc2670 server/proxy: Fix race-condition
The client's `ClientStop` callback wasn't set, therefore calling
freerdp_client_stop wasn't really blocking until it has stopped, and a
race condition occured. Fixed by registring to `ClientStop` callback and
waiting for the client thread to finish.
2019-06-26 14:25:07 +02:00
kubistika
c0cece1064 server/proxy: Fix double-call to disconnect 2019-06-26 14:25:07 +02:00
kubistika
c8b38fb66e server/proxy: Fix bitmap update crash when target is win7 2019-06-04 17:33:48 +03:00