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
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
Mati Shabtay
97606edeee
proxy: Implement RAIL support in proxy
2019-12-12 11:10:44 +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
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
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
Armin Novak
59b4988f56
Fixed compilation warnings.
2019-10-16 14:54:05 +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
kubistika
53a92421b1
server: proxy: config: fix mem leak
2019-09-11 14:29:04 +03: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
kubistika
7ed39ce724
server: proxy: make sure module's pre connect only called once
2019-09-08 15:08:15 +03:00
kubistika
8cf8da3e41
server: proxy: config: remove duplicate declaration of config macros
2019-09-08 15:06:22 +03:00
Martin Fleisz
c90b7a9714
Merge pull request #5563 from akallabeth/scanbuild_fixes
...
Scanbuild fixes
2019-09-03 10:57:24 +02:00
kubistika
62b32fbab9
server: proxy: only wait for server dynvc when needed
2019-09-03 09:09:27 +02:00
Armin Novak
4ff24d074b
Fixed memory leak in error branch
2019-09-03 08:56:36 +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
067b7dfd1c
server: proxy: disp: fix copyright
2019-08-23 11:58:08 +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
d1c5862f54
server: proxy: sync cliprdr opening
2019-08-19 17:03:13 +02:00
kubistika
0ad87d98ca
server: proxy: load proxy clipboard config
2019-08-19 09:30:40 +02:00
kubistika
7dc70b86d6
server: proxy: cliprdr support
2019-08-19 09:30:40 +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
cb833ed45c
server: proxy: print configuration on startup
2019-08-05 11:01:31 +03:00
kubistika
595f23b8fe
server: proxy: channels: only open allowed channels
2019-08-05 11:01:31 +03:00
kubistika
0b6864a273
server: proxy: filters: demo: log instead of dropping the connection
2019-08-05 11:01:31 +03:00
kubistika
c5e6e0ba31
server: proxy: filters: make sure filter_init is exported in filters compilation
2019-08-05 11:01:31 +03:00
kubistika
31cd7b844f
server: proxy: refactor configuration loader
2019-08-05 10:54:07 +03:00
kubistika
3051a4b4b4
server: proxy: ensure client termination
2019-08-02 10:17:45 +02:00
kubistika
038c933f98
server: proxy: sync server and client channels
...
when disconnections/redirections occured, sometimes server/client
channels were not synced, meaning that for example the gfx server
received a message, then tried to use gfx client that was already freed.
2019-08-02 10:17:45 +02:00
kubistika
a9758a8c0c
server: proxy: fix rdpgfx close race
2019-07-30 09:56:06 +02:00
kubistika
908d6ebe1e
server: proxy: Add logs, call client->Close to send disconnection ultimatum
2019-07-16 16:20:06 +03:00
kubistika
d0065ee9a1
server: proxy: remove unnecessary function handle_client_disconnection
2019-07-16 16:20:06 +03:00
kubistika
b12ee3288c
server: proxy: adjust log levels
2019-07-16 16:20:06 +03: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
02a65b8867
Declare support for multimon in proxy server.
...
It was broken in the DISP PR.
2019-07-08 11:09:29 +03:00
kubistika
8954e1646b
server/proxy: Add check after calling p_client_context_create
2019-06-26 14:25:07 +02:00
kubistika
8fbee28dd7
server/proxy: Logging and comments improvements
2019-06-26 14:25:07 +02:00
kubistika
fb3f7f3908
server/proxy: pf_update: Update ps->settings in DesktopResize
2019-06-26 14:25:07 +02:00
kubistika
74a66f6651
server/proxy: set ps->thread to NULL on disconnect
...
freerdp_abort_connect calls the proxy's client stop function,
that closes the thread handle. if it already closed by the server,
a segfault will occur because CloseHandle will try to access free()'ed
memory.
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
98973dd0da
server/proxy: pf_filters: Update filter_free to accept NULL
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
255fab201a
server/proxy: Fix rdpgfx and events leak
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
David Fort
2da425aa03
Merge pull request #5424 from kubistika/rdpgfx
...
rdpgfx: CacheImportOffer implementation
2019-06-13 11:35:15 +02:00
David Fort
1f128b6142
Merge pull request #5423 from kubistika/feat/bitmap-auto-flag-calculate
...
rdpUpdate: add autoBitmapDataCalculate
2019-06-12 21:15:59 +02:00
Kobi
d9366df448
RDPEDISP server side implementation ( #5414 )
...
* libfreerdp: Add RDPEDISP server implementation
* server/proxy: Add RDPEDISP support
2019-06-11 16:13:42 +02:00
kubistika
896ba119d1
server/proxy: Proxy CacheImportOffer & QoeFrameAck
2019-06-06 07:53:34 +03:00
kubistika
c8b38fb66e
server/proxy: Fix bitmap update crash when target is win7
2019-06-04 17:33:48 +03:00
David Fort
5d1fc68629
Merge pull request #5405 from m4ntis/proxy/filters-api
...
Proxy: Filters API
2019-06-03 15:45:24 +02:00
kubistika
6224109a1d
server/proxy: Add multimon support
2019-06-03 14:33:15 +03:00
kubistika
cd135ceacb
libfreerdp/core: Export monitor layout PDU
...
* Move update notification related functions to new display.c: Not
related to `rdp.c`.
* Rename `rdp_write_monitor_layout_pdu` to `display_write_monitor_layout_pdu`.
* Add internal `display_convert_rdp_monitor_to_monitor_def` instead of
doing the conversion inside `display_write_monitor_layout_pdu`.
2019-06-03 14:30:17 +03:00
kubistika
340d877cce
server/proxy: Proxy pointer updates
...
* Moved update callbacks of client to pf_update.h
2019-05-29 10:06:18 +03:00
kubistika
72952c679f
fix vs2010 errors
2019-05-28 09:30:39 +03:00
kubistika
52e4baa949
server/proxy: Code refactor
2019-05-28 09:30:38 +03:00