Martin Fleisz
5b6663fe3a
Merge pull request #5689 from akallabeth/cleanups
...
Cleanups
2019-11-05 15:28:02 +01:00
Armin Novak
d7877186d6
Fixed strnlen issues.
2019-11-05 14:55:33 +01:00
David Fort
824d09169e
rdp: fix byte and packet counters
...
Best to count bytes directly at the transport level.
2019-11-04 07:39:35 +01:00
Armin Novak
f01e042211
Code cleanups (strlen, casts, size_t, ...)
2019-10-29 11:58:43 +01:00
Armin Novak
47bea1bc80
wts_read_drdynvc_close_response quit message queue.
2019-10-25 13:25:12 +02:00
David Fort
bd5a88e95a
rdp: count in/out bytes and packets
2019-10-23 09:16:35 +02:00
asapelkin
82eadad4a4
Fix some static analizer warnings
2019-10-22 15:39:54 +02:00
Martin Fleisz
5ead938271
Merge pull request #5657 from akallabeth/warning_fixes2
...
Warning fixes2
2019-10-17 17:00:57 +02:00
Armin Novak
59b4988f56
Fixed compilation warnings.
2019-10-16 14:54:05 +02:00
Armin Novak
cda41b8d07
Fixed missing initializer
2019-10-16 14:53:42 +02:00
Armin Novak
441fb4d0ca
Allow freerdp clients to function with WITH_OPENH264_LOADING
...
If no library can be loaded at runtime ignore H264 capabilities.
This allows a build with only OpenH264 support and dynamic loading
enabled to function when no openh264 library was detected.
2019-10-07 09:31:20 +02:00
Armin Novak
8d088387da
Added function to get an error category for better error handling.
2019-10-03 11:19:03 +02:00
Armin Novak
1d4cdd2924
Added missing error codes.
2019-10-02 16:00:37 +02:00
Armin Novak
6100273089
Reset fastpath on disconnect, fixes #5629
2019-10-02 10:21:48 +02:00
Armin Novak
f78c5f5c44
Map gateway errors in freerdp_get_last_error_name
2019-10-01 09:47:26 +02:00
Martin Fleisz
6b8b5bbb0e
Merge pull request #5614 from akallabeth/better_gateway_error
...
Better gateway error reporting
2019-09-24 16:28:17 +02:00
Armin Novak
733cc36462
Setting freerdp_last_error in gateway error response.
2019-09-24 09:42:13 +02:00
Armin Novak
6f9cb89c5d
Better log message for resetting last error state.
2019-09-23 11:22:45 +02:00
akallabeth
4679bb6b53
Fix ##5593: duplicated typedef.
2019-09-22 16:42:31 +02:00
Armin Novak
f25488a7ab
Reset last error state after a hostname was resolved successfully.
2019-09-11 10:43:17 +02:00
Armin Novak
306c557512
Getter for state to string
2019-09-04 15:46:47 +02:00
Armin Novak
f93d625cde
Use GetTickCount64 instead of GetTickCountPrecise.
2019-09-02 15:46:36 +02:00
Martin Fleisz
645cd3208f
core: Fix handling of PromptForCredentials setting
...
The prompt for credentials setting was incorrectly used in FreeRDP. If
this setting is set to 1 in a rdp file the client should prompt for
credentials even if it has credentials stored for this connection. If
the setting is set to 0 the client should either use the stored
credentials (if present) or ask for username/password otherwise.
This PR changes the old handling (if PromptForCredentials was set to 0
no credential prompting was done) to the desired behavior.
2019-08-20 16:25:08 +02:00
Louis Sautier
60152291b3
client: proxy: allow passing SOCKS5 proxies as env. vars
2019-08-20 14:06:38 +02:00
kubistika
749c88ab0d
libfreerdp: core: copy redirection info in freerdp_settings_copy
2019-08-14 19:39:34 +02:00
Armin Novak
b036fd7a7d
Return a proper error if redirection fails.
2019-08-12 12:33:06 +02:00
kubistika
13fb3ffc39
libfreerdp: core: fix const correctness of freerdp_settings_clone
2019-07-17 16:20:42 +02:00
kubistika
c1aa6f2584
libfreerdp: settings: Fix formatting in freerdp_settings_copy
2019-07-16 13:47:35 +02:00
kubistika
0c35442843
libfreerdp: settings: call key_clone in freerdp_settings_copy
2019-07-16 13:47:35 +02:00
kubistika
8acea82288
libfreerdp: certificate: Add key_clone
2019-07-16 13:47:35 +02:00
Armin Novak
1916da35ee
Added freerdp_settings_copy
2019-07-16 13:47:35 +02:00
Armin Novak
0c17c3871b
Pass on cert validation failure, set freerdp error in all use cases.
2019-07-15 15:51:46 +02:00
Armin Novak
3b38479ec5
Added PromptForCredentials setting.
2019-07-15 12:01:30 +02:00
Armin Novak
4435fc8430
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.
2019-07-11 11:44:18 +02:00
Armin Novak
80b9212fd3
Set freerdp last error on gateway access denied.
2019-07-11 10:38:15 +02:00
Armin Novak
19103fee3d
Only try to set nego token if load balance info length is >0
2019-07-02 11:53:14 +02:00
Armin Novak
58c4e639f1
Fixed type mismatch.
2019-06-25 10:49:53 +02:00
kubistika
99b10aa98d
rdpUpdate: add autoCalculateBitmapData flag
2019-06-04 17:33:18 +03:00
Martin Fleisz
20c4e3bab0
Merge pull request #5415 from akallabeth/dump_append_fix
...
Fixed format security issues.
2019-06-04 09:14:59 +02: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
Martin Fleisz
1f5ded4611
RAIL: Fix parsing of WINDOW_ORDER_FIELD_ICON_OVERLAY_NULL ( #5421 )
2019-06-03 09:05:43 +02:00
Armin Novak
c6e1208457
Fixed format security issues.
2019-05-24 09:28:08 +02:00
David Fort
6563bc28c4
rail: added verbose logs ( #5402 )
...
* rail: added verbose logs
* rail: fix buffer initialisation in debug message
2019-05-23 12:15:26 +02:00
David Fort
789ed72021
Merge pull request #5403 from akallabeth/keyboard_event_flags
...
Fixed fastpath/slowpatth pause event.
2019-05-23 12:05:58 +02:00
David Fort
1cb8ed96e2
Merge pull request #5404 from m4ntis/feat/proxy-errors
...
Proxy: Redirect errors back to client
2019-05-23 09:43:47 +02:00
Armin Novak
42ba19dd98
Added rail workdir parameter
2019-05-22 16:37:47 +02:00
kubistika
ef3a3ae9e6
Export Error Info PDU.
2019-05-19 14:42:16 +03:00
Mati Shabtay
b907324009
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>
2019-05-17 14:32:54 +02:00
Armin Novak
d03d8f1a2d
Fixed fastpath/slowpatth pause event.
2019-05-16 15:21:12 +02:00
Armin Novak
0d1d069b5a
Updated settings getter/setter for RemoteApplicationSupportMask
2019-05-09 14:24:58 +02:00