platform/upstream/freerdp.git
5 years agoExtract whole certificate chain to PEM format.
Armin Novak [Wed, 17 Jul 2019 12:00:29 +0000 (14:00 +0200)]
Extract whole certificate chain to PEM format.

5 years agoserver: proxy: use freerdp_settings_copy
kubistika [Tue, 16 Jul 2019 10:28:14 +0000 (13:28 +0300)]
server: proxy: use freerdp_settings_copy

5 years agolibfreerdp: settings: Fix formatting in freerdp_settings_copy
kubistika [Tue, 16 Jul 2019 10:27:39 +0000 (13:27 +0300)]
libfreerdp: settings: Fix formatting in freerdp_settings_copy

5 years agolibfreerdp: settings: call key_clone in freerdp_settings_copy
kubistika [Tue, 16 Jul 2019 10:27:11 +0000 (13:27 +0300)]
libfreerdp: settings: call key_clone in freerdp_settings_copy

5 years agolibfreerdp: certificate: Add key_clone
kubistika [Tue, 16 Jul 2019 10:26:26 +0000 (13:26 +0300)]
libfreerdp: certificate: Add key_clone

5 years agoAdded freerdp_settings_copy
Armin Novak [Tue, 16 Jul 2019 07:54:31 +0000 (09:54 +0200)]
Added freerdp_settings_copy

5 years agoMerge pull request #5475 from akallabeth/tls_fail_status
Martin Fleisz [Tue, 16 Jul 2019 09:22:14 +0000 (11:22 +0200)]
Merge pull request #5475 from akallabeth/tls_fail_status

Pass on cert validation failure, set freerdp error in all use cases.

5 years agoPass on cert validation failure, set freerdp error in all use cases.
Armin Novak [Mon, 15 Jul 2019 13:51:46 +0000 (15:51 +0200)]
Pass on cert validation failure, set freerdp error in all use cases.

5 years agoMerge pull request #5472 from akallabeth/rdp_parser_fixes
Martin Fleisz [Mon, 15 Jul 2019 11:09:28 +0000 (13:09 +0200)]
Merge pull request #5472 from akallabeth/rdp_parser_fixes

Rdp parser fixes

5 years agoFixed freerdp_client_rdp_file_set_integer standard flag set.
Armin Novak [Mon, 15 Jul 2019 09:08:02 +0000 (11:08 +0200)]
Fixed freerdp_client_rdp_file_set_integer standard flag set.

5 years agoFixed rdp file parser tests.
Armin Novak [Mon, 15 Jul 2019 08:46:52 +0000 (10:46 +0200)]
Fixed rdp file parser tests.

5 years agoImplemented rdp file parser functions with a callback for custom settings.
Armin Novak [Mon, 15 Jul 2019 08:30:16 +0000 (10:30 +0200)]
Implemented rdp file parser functions with a callback for custom settings.

5 years agoAdded PromptForCredentials setting.
Armin Novak [Mon, 15 Jul 2019 08:08:39 +0000 (10:08 +0200)]
Added PromptForCredentials setting.

5 years agoserver: proxy: implement NLA fallback
kubistika [Mon, 15 Jul 2019 07:55:57 +0000 (10:55 +0300)]
server: proxy: implement NLA fallback

5 years agowinpr: ObjectPool_Return: fix error handling
kubistika [Thu, 11 Jul 2019 19:13:19 +0000 (22:13 +0300)]
winpr: ObjectPool_Return: fix error handling

5 years agowinpr: ObjectPool_Return: fix wrong type for new_cap
kubistika [Thu, 11 Jul 2019 19:12:50 +0000 (22:12 +0300)]
winpr: ObjectPool_Return: fix wrong type for new_cap

5 years agoMerge pull request #5469 from akallabeth/access_denied
Norbert Federa [Thu, 11 Jul 2019 10:50:47 +0000 (12:50 +0200)]
Merge pull request #5469 from akallabeth/access_denied

Don't set ACCESS_DENIED on first HTTP gateway response.

5 years agoDon't set ACCESS_DENIED on first HTTP gateway response.
Armin Novak [Thu, 11 Jul 2019 09:44:18 +0000 (11:44 +0200)]
Don't set ACCESS_DENIED on first HTTP gateway response.

The first response is alwasy ACCESS_DENIED to initiate authentication.
Only the second response must not have that status.

5 years agoMerge pull request #5468 from akallabeth/gw_status_denied
Norbert Federa [Thu, 11 Jul 2019 08:57:24 +0000 (10:57 +0200)]
Merge pull request #5468 from akallabeth/gw_status_denied

Set freerdp last error on gateway access denied.

5 years agoSet freerdp last error on gateway access denied.
Armin Novak [Thu, 11 Jul 2019 08:38:15 +0000 (10:38 +0200)]
Set freerdp last error on gateway access denied.

5 years agoMerge pull request #5396 from widgetii/master
Martin Fleisz [Tue, 9 Jul 2019 14:17:29 +0000 (16:17 +0200)]
Merge pull request #5396 from widgetii/master

Artur Zaprzala's rdp2tcp channel driver

5 years agoMerge pull request #5458 from kubistika/bugfix/proxy-multimon
Martin Fleisz [Tue, 9 Jul 2019 13:52:53 +0000 (15:52 +0200)]
Merge pull request #5458 from kubistika/bugfix/proxy-multimon

Declare support for multimon in proxy server.

5 years agoclient: populate settings didn't update NetworkAutoDetect
Martin Fleisz [Tue, 9 Jul 2019 13:02:49 +0000 (15:02 +0200)]
client: populate settings didn't update NetworkAutoDetect

5 years agorail: Fixes incorrect setting of TS_RAIL_EXEC_FLAG_FILE
Martin Fleisz [Mon, 8 Jul 2019 09:47:51 +0000 (11:47 +0200)]
rail: Fixes incorrect setting of TS_RAIL_EXEC_FLAG_FILE

The TS_RAIL_EXEC_FLAG should only be set if ExeOrFile refers to a file
path. If we don't supply a published app name (using ||) but the name of
an application (i.e. notepad.exe) this flag was incorrectly set causing
an remote app execution error (error 5 - file not found).

5 years agoDeclare support for multimon in proxy server.
kubistika [Mon, 8 Jul 2019 08:09:29 +0000 (11:09 +0300)]
Declare support for multimon in proxy server.
It was broken in the DISP PR.

5 years agoMerge pull request #5453 from akallabeth/load_balance_info_checks
Martin Fleisz [Tue, 2 Jul 2019 12:12:58 +0000 (14:12 +0200)]
Merge pull request #5453 from akallabeth/load_balance_info_checks

Only try to set nego token if load balance info length is >0

5 years agoOnly try to set nego token if load balance info length is >0
Armin Novak [Tue, 2 Jul 2019 09:53:14 +0000 (11:53 +0200)]
Only try to set nego token if load balance info length is >0

5 years agoMerge pull request #5447 from akallabeth/mac_bundle
Martin Fleisz [Mon, 1 Jul 2019 06:50:15 +0000 (08:50 +0200)]
Merge pull request #5447 from akallabeth/mac_bundle

Fix plugin paths when building for a mac bundle.

5 years agoserver/proxy: Add check after calling p_client_context_create
kubistika [Thu, 13 Jun 2019 13:56:21 +0000 (16:56 +0300)]
server/proxy: Add check after calling p_client_context_create

5 years agoserver/proxy: Logging and comments improvements
kubistika [Thu, 13 Jun 2019 13:55:56 +0000 (16:55 +0300)]
server/proxy: Logging and comments improvements

5 years agoserver/proxy: pf_update: Update ps->settings in DesktopResize
kubistika [Tue, 11 Jun 2019 16:01:49 +0000 (19:01 +0300)]
server/proxy: pf_update: Update ps->settings in DesktopResize

5 years agoserver/proxy: set ps->thread to NULL on disconnect
kubistika [Tue, 11 Jun 2019 15:54:10 +0000 (18:54 +0300)]
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.

5 years agoserver/proxy: Refactor pdata_set_connection_info
kubistika [Tue, 11 Jun 2019 15:51:21 +0000 (18:51 +0300)]
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.

5 years agoserver/proxy: pf_filters: Update filter_free to accept NULL
kubistika [Tue, 11 Jun 2019 15:48:47 +0000 (18:48 +0300)]
server/proxy: pf_filters: Update filter_free to accept NULL

5 years agoserver/proxy: Fix race-condition
kubistika [Thu, 30 May 2019 08:22:50 +0000 (11:22 +0300)]
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.

5 years agoserver/proxy: Fix rdpgfx and events leak
kubistika [Tue, 28 May 2019 13:10:04 +0000 (16:10 +0300)]
server/proxy: Fix rdpgfx and events leak

5 years agoserver/proxy: Fix double-call to disconnect
kubistika [Tue, 28 May 2019 13:09:49 +0000 (16:09 +0300)]
server/proxy: Fix double-call to disconnect

5 years agoFix plugin paths when building for a mac bundle.
Armin Novak [Wed, 26 Jun 2019 07:56:16 +0000 (09:56 +0200)]
Fix plugin paths when building for a mac bundle.

5 years agoMerge pull request #5445 from akallabeth/some_small_patches
David Fort [Tue, 25 Jun 2019 09:23:00 +0000 (11:23 +0200)]
Merge pull request #5445 from akallabeth/some_small_patches

Fix various small issues

5 years agoPR fixes
Dmitry Ilyin [Tue, 25 Jun 2019 08:52:22 +0000 (11:52 +0300)]
PR fixes

5 years agoFixed type mismatch.
Armin Novak [Tue, 25 Jun 2019 08:39:34 +0000 (10:39 +0200)]
Fixed type mismatch.

5 years agoFix #5427: Dispatch updates to main thread.
Armin Novak [Tue, 25 Jun 2019 08:36:19 +0000 (10:36 +0200)]
Fix #5427: Dispatch updates to main thread.

thank you @Harrywang55666

5 years agoFixed #5406: Ensure mouse wheel rotation step is never zero
Armin Novak [Tue, 25 Jun 2019 08:31:17 +0000 (10:31 +0200)]
Fixed #5406: Ensure mouse wheel rotation step is never zero

thank you @victorking528

5 years agoFixed #5441, thank you @ekse
Armin Novak [Tue, 25 Jun 2019 08:25:31 +0000 (10:25 +0200)]
Fixed #5441, thank you @ekse

5 years agoMerge pull request #5438 from akallabeth/tsmf_patch
David Fort [Tue, 18 Jun 2019 15:35:27 +0000 (17:35 +0200)]
Merge pull request #5438 from akallabeth/tsmf_patch

Patch from #5436: fix input handling with gstreamer and vaapisink

5 years agoPatch from #5436: fix input handling with gstreamer and vaapisink
Armin Novak [Tue, 18 Jun 2019 11:43:44 +0000 (13:43 +0200)]
Patch from #5436: fix input handling with gstreamer and vaapisink

5 years agoMerge pull request #5424 from kubistika/rdpgfx
David Fort [Thu, 13 Jun 2019 09:35:15 +0000 (11:35 +0200)]
Merge pull request #5424 from kubistika/rdpgfx

rdpgfx: CacheImportOffer implementation

5 years ago codec: Set alpha channel to FF if not used (#5431)
Martin Fleisz [Thu, 13 Jun 2019 07:19:42 +0000 (09:19 +0200)]
 codec: Set alpha channel to FF if not used (#5431)

* Formatting

* codec: Set alpha channel to FF if not used

This PR initializes the alpha channel to FF. Before the alpha channel
contained uninitialized memory potentially causing problems when the
image data was used by an alpha channel aware frontend.

5 years agoMerge pull request #5423 from kubistika/feat/bitmap-auto-flag-calculate
David Fort [Wed, 12 Jun 2019 19:15:59 +0000 (21:15 +0200)]
Merge pull request #5423 from kubistika/feat/bitmap-auto-flag-calculate

rdpUpdate: add autoBitmapDataCalculate

5 years agoRDPEDISP server side implementation (#5414)
Kobi [Tue, 11 Jun 2019 14:13:42 +0000 (07:13 -0700)]
RDPEDISP server side implementation (#5414)

* libfreerdp: Add RDPEDISP server implementation

* server/proxy: Add RDPEDISP support

5 years agordpgfx/client: Update gfx->UnacknowlegedFrame correctly
kubistika [Thu, 6 Jun 2019 07:24:27 +0000 (10:24 +0300)]
rdpgfx/client: Update gfx->UnacknowlegedFrame correctly

5 years agoserver/proxy: Proxy CacheImportOffer & QoeFrameAck
kubistika [Wed, 5 Jun 2019 13:19:28 +0000 (16:19 +0300)]
server/proxy: Proxy CacheImportOffer & QoeFrameAck

5 years agordpgfx/server: Fix formatting: rdpgfx_recv_cache_import_offer_pdu
kubistika [Wed, 5 Jun 2019 13:18:42 +0000 (16:18 +0300)]
rdpgfx/server: Fix formatting: rdpgfx_recv_cache_import_offer_pdu

5 years agordpgfx/client: Expose QoeFrameAck
kubistika [Wed, 5 Jun 2019 13:18:00 +0000 (16:18 +0300)]
rdpgfx/client: Expose QoeFrameAck

5 years agordpgfx/client: Implement CacheImportOffer PDU
kubistika [Wed, 5 Jun 2019 13:13:49 +0000 (16:13 +0300)]
rdpgfx/client: Implement CacheImportOffer PDU

5 years agoserver/proxy: Fix bitmap update crash when target is win7
kubistika [Tue, 4 Jun 2019 14:33:48 +0000 (17:33 +0300)]
server/proxy: Fix bitmap update crash when target is win7

5 years agordpUpdate: add autoCalculateBitmapData flag
kubistika [Tue, 4 Jun 2019 14:33:18 +0000 (17:33 +0300)]
rdpUpdate: add autoCalculateBitmapData flag

5 years agoMerge pull request #5422 from kubistika/feat/ifdef-rdpgfx-dbg
David Fort [Tue, 4 Jun 2019 11:51:46 +0000 (13:51 +0200)]
Merge pull request #5422 from kubistika/feat/ifdef-rdpgfx-dbg

rdpgfx: Add WITH_DEBUG_RDPGFX cmake option

5 years agordpgfx: Add WITH_DEBUG_RDPGFX option
kubistika [Tue, 4 Jun 2019 07:28:03 +0000 (10:28 +0300)]
rdpgfx: Add WITH_DEBUG_RDPGFX option

5 years agoMerge pull request #5415 from akallabeth/dump_append_fix
Martin Fleisz [Tue, 4 Jun 2019 07:14:59 +0000 (09:14 +0200)]
Merge pull request #5415 from akallabeth/dump_append_fix

Fixed format security issues.

5 years agoMerge pull request #5405 from m4ntis/proxy/filters-api
David Fort [Mon, 3 Jun 2019 13:45:24 +0000 (15:45 +0200)]
Merge pull request #5405 from m4ntis/proxy/filters-api

Proxy: Filters API

5 years agoMerge pull request #5416 from m4ntis/proxy/multimon
David Fort [Mon, 3 Jun 2019 13:20:14 +0000 (15:20 +0200)]
Merge pull request #5416 from m4ntis/proxy/multimon

Add multimon support to proxy server

5 years agoserver/proxy: Add multimon support
kubistika [Mon, 20 May 2019 11:09:12 +0000 (14:09 +0300)]
server/proxy: Add multimon support

5 years agolibfreerdp/core: Export monitor layout PDU
kubistika [Mon, 20 May 2019 11:05:32 +0000 (14:05 +0300)]
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`.

5 years agoMerge pull request #5418 from kubistika/feat/proxy/cursor
David Fort [Mon, 3 Jun 2019 11:09:05 +0000 (13:09 +0200)]
Merge pull request #5418 from kubistika/feat/proxy/cursor

server/proxy: Proxy pointer updates

5 years agochannels: ssh-agnet: cmake: turn off server side channel by default in `ChannelsOptio...
Idan Freiberg [Mon, 3 Jun 2019 07:47:35 +0000 (10:47 +0300)]
channels: ssh-agnet: cmake: turn off server side channel by default in `ChannelsOptions.cmake` (#5420)

CMake v3.5.1 throws the following error if this is not set:
```
CMake Error at channels/CMakeLists.txt:48 (if):
  if given arguments:

    "OFF" "OR"

  Unknown arguments specified
Call Stack (most recent call first):
  channels/sshagent/ChannelOptions.cmake:6 (define_channel_options)
  channels/CMakeLists.txt:273 (include)
```

5 years agoRAIL: Fix parsing of WINDOW_ORDER_FIELD_ICON_OVERLAY_NULL (#5421)
Martin Fleisz [Mon, 3 Jun 2019 07:05:43 +0000 (09:05 +0200)]
RAIL: Fix parsing of WINDOW_ORDER_FIELD_ICON_OVERLAY_NULL (#5421)

5 years agoserver/proxy: Proxy pointer updates
kubistika [Wed, 29 May 2019 07:00:52 +0000 (10:00 +0300)]
server/proxy: Proxy pointer updates

* Moved update callbacks of client to pf_update.h

5 years agofix vs2010 errors
kubistika [Mon, 27 May 2019 09:06:59 +0000 (12:06 +0300)]
fix vs2010 errors

5 years agoserver/proxy: Code refactor
kubistika [Sun, 26 May 2019 12:33:28 +0000 (15:33 +0300)]
server/proxy: Code refactor

5 years agoserver/proxy: Use winpr library in proxy/filters
kubistika [Sun, 26 May 2019 12:29:41 +0000 (15:29 +0300)]
server/proxy: Use winpr library in proxy/filters

5 years agoserver/proxy: Fix free invalid memory when pf_server_parse_target_from_routing_token...
kubistika [Mon, 13 May 2019 08:11:24 +0000 (11:11 +0300)]
server/proxy: Fix free invalid memory when pf_server_parse_target_from_routing_token fails

5 years agoserver/proxy: Fix mem leak in pf_server_parse_target_from_routing_token
kubistika [Sun, 19 May 2019 12:04:38 +0000 (15:04 +0300)]
server/proxy: Fix mem leak in pf_server_parse_target_from_routing_token

5 years agoserver/proxy: Remove unnecessary wrap for connection info
kubistika [Sun, 12 May 2019 18:25:36 +0000 (21:25 +0300)]
server/proxy: Remove unnecessary wrap for connection info

5 years agoserver/proxy: Add docs in filters_api.h
kubistika [Sun, 12 May 2019 18:25:00 +0000 (21:25 +0300)]
server/proxy: Add docs in filters_api.h

5 years agoserver/proxy: Add return statement in demo_filter.c
kubistika [Sun, 12 May 2019 18:24:35 +0000 (21:24 +0300)]
server/proxy: Add return statement in demo_filter.c

5 years agoAdd README for filters API
kubistika [Sun, 12 May 2019 12:04:44 +0000 (15:04 +0300)]
Add README for filters API

5 years agobugfix: segfault when calling an event which is not implemented by filter
kubistika [Sun, 12 May 2019 11:02:50 +0000 (14:02 +0300)]
bugfix: segfault when calling an event which is not implemented by filter

5 years agoserver/proxy: Use new parse_string_array_from_str implementation (using ArrayList)
kubistika [Sun, 12 May 2019 17:51:54 +0000 (20:51 +0300)]
server/proxy: Use new parse_string_array_from_str implementation (using ArrayList)

5 years agoserver/proxy: Refactor pf_server.c
kubistika [Sun, 12 May 2019 17:50:26 +0000 (20:50 +0300)]
server/proxy: Refactor pf_server.c

5 years agoserver/proxy: Refactor pf_server_parse_target_from_routing_token
kubistika [Sun, 12 May 2019 17:49:37 +0000 (20:49 +0300)]
server/proxy: Refactor pf_server_parse_target_from_routing_token

5 years agoserver/proxy: Add external filters support
kubistika [Sun, 12 May 2019 17:48:51 +0000 (20:48 +0300)]
server/proxy: Add external filters support

5 years agoFixed format security issues.
Armin Novak [Fri, 24 May 2019 07:19:33 +0000 (09:19 +0200)]
Fixed format security issues.

5 years agoMerge pull request #4350 from akallabeth/format_code_patch
David Fort [Thu, 23 May 2019 14:11:54 +0000 (16:11 +0200)]
Merge pull request #4350 from akallabeth/format_code_patch

New code formatting rules

5 years agoAdded a CMake option for the clangformat target support.
Armin Novak [Thu, 23 May 2019 12:14:31 +0000 (14:14 +0200)]
Added a CMake option for the clangformat target support.

5 years agorail: added verbose logs (#5402)
David Fort [Thu, 23 May 2019 10:15:26 +0000 (12:15 +0200)]
rail: added verbose logs (#5402)

* rail: added verbose logs

* rail: fix buffer initialisation in debug message

5 years agoMerge pull request #5403 from akallabeth/keyboard_event_flags
David Fort [Thu, 23 May 2019 10:05:58 +0000 (12:05 +0200)]
Merge pull request #5403 from akallabeth/keyboard_event_flags

Fixed fastpath/slowpatth pause event.

5 years agoMerge pull request #5404 from m4ntis/feat/proxy-errors
David Fort [Thu, 23 May 2019 07:43:47 +0000 (09:43 +0200)]
Merge pull request #5404 from m4ntis/feat/proxy-errors

Proxy: Redirect errors back to client

5 years agoMerge pull request #5413 from akallabeth/rail_wdir
Martin Fleisz [Wed, 22 May 2019 14:54:06 +0000 (16:54 +0200)]
Merge pull request #5413 from akallabeth/rail_wdir

Added rail workdir parameter

5 years agoAdded rail workdir parameter
Armin Novak [Wed, 22 May 2019 14:36:40 +0000 (16:36 +0200)]
Added rail workdir parameter

5 years agoserver/proxy: Proxy errors back to client
kubistika [Sun, 19 May 2019 11:35:06 +0000 (14:35 +0300)]
server/proxy: Proxy errors back to client

5 years agoExport Error Info PDU.
kubistika [Sun, 19 May 2019 11:34:00 +0000 (14:34 +0300)]
Export Error Info PDU.

5 years agoFirst version of an RDP proxy (#5372)
Mati Shabtay [Fri, 17 May 2019 12:32:54 +0000 (15:32 +0300)]
First version of an RDP proxy (#5372)

* server: Add proxy dir with barebones server

* sever/proxy: Remove licensing

* server/proxy: Add client files

* server/proxy: rm binary

* server/proxy: Formatting

* server/proxy: Fixed includes and added basic client creation functionality

* server/proxy: Remove licensing and fix ifndef

* proxy/server: Fix cmake indentation

* server/proxy: Fix licensing

* server/proxy: Forward connection on peer_post_connect

* server/proxy: Fix function signature

* server/proxy: Changed function signature of proxy_client_start

* server/proxy: Now peer_post_connect calls proxy_client_start in a new thread

* pfreerdp.c: Clean up useless comments and logs

* server/proxy: Fix license

* server/proxy: Remove all non-connection related data from proxy_context

* server/proxy: Move Log Tag definition to pf_log.h

* server/proxy: Move context definition to pf_context

* server/proxy: Delete pfreerdp.h

* pfreerdp.c: Move context callbacks to pf_context.c

* server/proxy: Update CMakeLists.txt

* pf_channels: Use new proxy context API

* pf_client: Move context to pf_context

* pf_client.c: Remove unnessecary event handling

* server/proxy: Formatting

* proxy/server: Move server logic to pf_server.c

* server/proxy: Handle client disconnection

* Merge stash

* pf_server.c: Open GFX Connection to client

* server: CMakeLists: build proxy along with other servers

* server: proxy: get target server from rdpNego->RoutingToken

Iv'e omitted a check from  which im not sure is right. Should check in docs

* server/proxy: Handle remote server -> client disconnection

* server/proxy: Move common function  to pf_common.c

* server/proxy: Move common function  to pf_common.c

* rdpgfx.h: Add reference to freerdp.h for rdpContext

* pf_channels: Pipe GFX on channel connection

* server/proxy: Add pf_rdpgfx for proxy gfx callbacks

* pf_client: Declare dynvc and gfx capabilities on connection

* server/proxy: Add graphics callbacks

* server/proxy: Add graphics callbacks

* pf_server: Listen to channel events

* Pass user settings to server

* pf_server: Proxy mouse events

* fixup! server/proxy: Add graphics callbacks

* pf_client: Fix setting initialization

* Merge feat/proxy-gfx to feat/proxy

* pf_server: Fix double freed credentials

* server/proxy: Remove unnecessary call to freerdp_client_settings_parse_command_line

* server/proxy: Refactor re-activation code

* server/proxy: Run format scripts

* server/proxy: Fix segfault when post_disconnect return FALSE

* server/proxy: Refactor proxy_settings_mirror

* server/proxy: Redirect credentials

* server/proxy: move proxy_settings_mirror to pf_common.c

* server/proxy: Redirect desktop_resize event

* pf_client: Remove interactive CLI auth methods

* fixup! server/proxy: Redirect credentials

* server/proxy: Rename proxy_mirror_settings to pf_common_copy_settings

* pf_server.c: Fixed non-freed context

When the disconnection is forced by the target server, the function
`pf_server_handle_client_disconnection` isn't called. Therefore, the
context of the connection between the proxy to tagrget isn't freed.

* fixup! pf_server.c: Fixed non-freed context

* pf_client: Prefix all client methods with pf_client

* pf_context: Add init client to proxy context method

* pf_server: Confirm all GFX caps regardless of settings

* pf_server: Prefix all methods with pf_server

* pf_server: Move variable decleration to start of method

* pf_server: Fix client setting

* pf_server: Fix GFX init method

* pf_server: Move variable decleration to start of methods

* server/proxy: Formatting

* Merge feat/proxy

* pf_server: Proxy synchronize event

* pf_server: Proxy refresh rect update events

* pf_server: Proxy suppress output messages

* server/proxy: Fix licensing

* server/proxy: Move client input callbacks to pf_input

* server/proxy: Move client update callbacks to pf_update

* server/proxy: Fix non-terminated target host string

* Feat/proxy config (#2)

* server/proxy: Add config loading support

* server/proxy: Add config file

* server/proxy: Format code

* server/proxy: Code refactor, rename update_register_callbacks and input_register_callbacks

* server/proxy: Update config file

* server/proxy: Remove config.ini from root directory

* Remove comment from config file

* server/proxy: Fix leak in pf_server_load_config

* server/proxy: Add rdpServerProxy struct and embed it in proxyContext

* server/proxy: Load configuration and pass it inside every proxyContext instance

* server/proxy: Move rdpProxyServer to proxy.h

* server/proxy: Use configuration while proxying input events

* server/proxy: Update CMakeLists

* server/proxy: Refactor pf_input.c

* server/proxy: Add AllowedChannels, DeniedChannels in configuration

* server/proxy: Remove unnecessary variable from parse_channels_from_str

* server/proxy: Update config file

* server/proxy: config: Rename  to

* server/proxy: config: Add mode - blacklist/whitelist

* server/proxy: Refactor, fix NULL deref

* server/proxy: Add license to proxy.h

* server/proxy: Fix newline in pf_config.c

* server/proxy: config: Rename Mode to WhitelistMode

* Add target in config. Add checks for configuration validity (#3)

* Add target in config. Add checks for configuration validity

* Update config file

* libfreerdp: nego: revert commented out check of routingToken length

* pf_server: Fix target host info from RoutingToken

* pf_server: Remove hardcoded lenght of routing token prefix

* Feat/refactor context (#8)

* Refactor main structs

* Update CMakeLists.txt

* pf_server.c: Free pdata at the end of the connection

* Run format scripts

* Rename tf to pc

* Fix licenses

* pf_server: Refactor names of structs and functions

* proxy: gfx: sync caps (#4)

* proxy: gfx: sync caps

* proxy: gfx: sync caps, hook gfx client's OnClose() call and close server resources

* fixup! Feat/refactor context (#8)

* fixup! fixup! Feat/refactor context (#8)

* rdpgfx/client: Fix rdpgfx_recv_caps_confirm_pdu caps set length parsing

* Run format scripts

* proxy config.ini: Change default port to 3389

* pf_rdpgfx: Limit caps version to freerdp's supported versions

* Gfx OnOpen() wait for dynvc ready (#10)

* proxy/gfx: Wait for dynvc ready state before open

* pf_channels: Initialize pc->gfx

* pf_rdpgfx: Add log and fix comments

* rdpgfx: Fix GFX v10.6 PDUs parsing and naming according to the spec

* pf_rdpgfx: Proxy rdpgfx v10.6 PDUs

* gfx client: Publish FrameAck sending and add auto ack flag

* proxy/gfx: Forward frame ack messages

* pf_context: Forward domain on connection

* pf_rdpgfx: Change max supported caps to 10.6

* proxy: Update config

* server/proxy: Use configuration in pf_server_handle_client

* rdpgfx/client: Fix size of surface_to_scaled_window, surface_to_window

* pf_rdpgfx: Fix formatting

* pf_server.c: Fix comments

* Move pf_server_rdpgfx_init to pf_rdpgfx

* server/proxy/CMakeLists.txt: Fix formatting

* pf_client.c: Add comment in proxy_server_reactivate

* Fixed const correctness of gfx function pointer

Signed-off-by: Mati Shabtay <matishabtay@gmail.com>
* server: proxy: update copyright

* server: proxy: wrap rdpNego and add a getter for routing token

* Refactor routing token getter (#14)

* Refactor routing token getter

* pf_server_parse_target_from_routing_token change routing_token_length to be DWORD

* libfreerdp/core/nego.c: Run format script

* pf_server: Run format script

* server/proxy: Fix os msbuild tests

* pf_channels.c: Remove unused channels

* pf_client: Remove unused callbacks

* proxy: Remove encomsp callbacks from proxy's client

* client/rdpgfx_main.c: Fix msbuild test

* pf_config.c: Use StrSep instead of strsep for Windows builds

* Removed nego struct from direct access.

Signed-off-by: Mati Shabtay <matishabtay@gmail.com>
* proxy: Rename binary to freerdp-proxy

* rdpgfx_main.c: Revert unwanted double change to send_supported_caps

* Cleaned up proxy server code.

* All internal functions static
* Added simple command line argument to supply a config file
* Silence compiler warnings

Signed-off-by: kubistika <kmizrachi18@gmail.com>
5 years agoyet another one revertion
Dmitry Ilyin [Fri, 17 May 2019 08:38:48 +0000 (11:38 +0300)]
yet another one revertion

5 years agorevert entire file.c
Dmitry Ilyin [Thu, 16 May 2019 14:00:25 +0000 (17:00 +0300)]
revert entire file.c

5 years agorevert entire generic.c
Dmitry Ilyin [Thu, 16 May 2019 13:35:45 +0000 (16:35 +0300)]
revert entire generic.c

5 years agoremove dead code in generic.c
Dmitry Ilyin [Thu, 16 May 2019 13:32:12 +0000 (16:32 +0300)]
remove dead code in generic.c

5 years agoFixed fastpath/slowpatth pause event.
Armin Novak [Thu, 16 May 2019 13:14:16 +0000 (15:14 +0200)]
Fixed fastpath/slowpatth pause event.

5 years agoAdded clang format script.
Armin Novak [Wed, 10 Jan 2018 09:54:24 +0000 (10:54 +0100)]
Added clang format script.

new code formatting rules are now enforced by this script.

5 years agoformat after VS2010
Dmitry Ilyin [Wed, 15 May 2019 19:41:25 +0000 (22:41 +0300)]
format after VS2010