Commit Graph

2343 Commits

Author SHA1 Message Date
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
Martin Fleisz b8d931241e
Merge pull request #5314 from akallabeth/setting_getter_setter_generator
Added python generator for freerdp_[g|s]et_param*
2019-05-09 14:23:31 +02:00
Martin Fleisz b953a97eae
Merge pull request #5393 from akallabeth/rails_memleak_fix
Fixed window order cleanup for NOTIFY_ICON_STATE_ORDER
2019-05-09 13:45:37 +02:00
Armin Novak 95a7447366 Fixed window order cleanup for NOTIFY_ICON_STATE_ORDER 2019-05-09 13:24:22 +02:00
Martin Fleisz ccd1fc71e9
Merge pull request #5327 from akallabeth/sign_compare_fixes_v3
Leak and warning fixes for 2.0
2019-05-09 13:21:36 +02:00
Armin Novak 2cc714a57d Updated RAILS implementation
* Implement new messages and callbacks
* Announce most recent channel features
* Added settings to configure flags to announce
2019-05-08 17:25:15 +02:00
Armin Novak b59e39b3eb Fixed memory leak 2019-05-08 15:12:40 +02:00
Armin Novak 93bf375686 Refactored settings getter/setter to stay compatible. 2019-05-08 14:35:25 +02:00
Armin Novak abc93f924c Added python generator for freerdp_[g|s]et_param*
The settings getters and setters are now automatically generated.
Added a test case to check if all available options can be retrieved.
2019-05-08 14:17:23 +02:00
Martin Fleisz 50566c2171
Merge pull request #5385 from akallabeth/some_unused_parameter_silenced
Some unused parameter silenced
2019-05-08 14:16:05 +02:00
Martin Fleisz e4a9172e13
Merge pull request #5383 from akallabeth/gfx_spec_update
Updated GFX to 10.6 spec
2019-05-08 13:42:50 +02:00
Armin Novak d7ca2db62e Fixed doulbe semicolon in C files. 2019-05-08 12:58:01 +02:00
Armin Novak ca4a1d19a5 Silenced some unused parameter warnings. 2019-05-08 12:21:31 +02:00
Martin Fleisz 1392b578c1
Merge pull request #5339 from akallabeth/update_paint_lock
Unified update->BeginPaint and update->EndPaint
2019-05-07 15:49:58 +02:00
Martin Fleisz 25fc56a625
Merge pull request #5260 from akallabeth/rail_spec_update
Rail spec update
2019-04-29 11:27:26 +02:00
Armin Novak 2a26aa0d87 Unified update->BeginPaint and update->EndPaint
Since these functions were called from 2 different threads
(main thread or dynamic channel) depending on fastpath or
gfx channel use lock between these.
If not locked the invalid region may be accessed from both
threads and lead to crashes as experienced with nightly df280a7ff
2019-04-11 15:33:23 +02:00
byteboon df280a7ffd FreeRDP#5329 if using OldLicenseBehaviour, don't try to save the Cal since we're not going to try to load it (#5330) 2019-04-08 09:42:02 +02:00
Armin Novak 29c920c568 Fixed review remarks. 2019-04-05 09:14:35 +02:00
Armin Novak c7b7d527f3 Fixed unused argument warnings for tests. 2019-04-05 09:14:35 +02:00
Armin Novak 281dd22061 Fixed unicode key down and up messages. 2019-04-05 09:14:35 +02:00
Armin Novak 295ac3daa4 Fixed dead store warnings 2019-04-05 09:14:35 +02:00
Armin Novak f51a9bafcc Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
kubistika d3dd0860a5 update.c: Fix update_end_paint wrong log level 2019-03-20 22:01:08 +02:00
Armin Novak 67be5258ad Exposing NLA functions to impersonate and revert context. 2019-03-08 10:10:43 +01:00
Armin Novak 69f4c4b4af Fixed version magic mismatch with [MS-RDPBCGR] 2019-02-27 16:30:55 +01:00
Jiajun Wang fd27451768 Fixed TS_INFO_PACKET (#5275)
Those fields exclude the length of the mandatory null terminator:
* cbDomain
* cbUserName
* cbPassword
* cbAlternateShell
* cbWorkingDir
2019-02-22 17:31:42 +01:00
Armin Novak 4ad0770a7e Silenced function pointer cast warnings for BIO_callback_ctrl 2019-02-21 13:53:51 +01:00
Armin Novak 0560ba0910 Fixed mixing of remote application mode requested and feature mask. 2019-02-20 08:45:36 +01:00
Armin Novak aacf5bddc4 Updated rail channel, supporting all new messages. 2019-02-19 15:04:11 +01:00
Armin Novak 1930bf69dd Replaced hardcoded xfreerdp program name 2019-02-12 10:53:37 +01:00
Martin Fleisz 3169b77d70
Merge pull request #5230 from akallabeth/sign_compare_fixes
Sign compare fixes
2019-02-08 09:35:50 +01:00
Martin Fleisz 5eff7b1da7
Merge pull request #5152 from akallabeth/gw_logging_ext
Gw logging ext
2019-02-08 09:14:33 +01:00
Armin Novak 753b9c7ce9 Enable server heartbeat PDU by default. 2019-02-07 10:10:57 +01:00
Armin Novak 7610917a48 Disabled offscreen and bitmap cache by default. 2019-02-07 10:10:57 +01:00
Armin Novak d1b7b4630b Fixed sign-compare warning 2019-01-30 18:05:49 +01:00
Armin Novak 03ec36440d Fixed compiler warnings #5210 2019-01-29 16:14:29 +01:00
David Fort 53c74beadc rdp: add a callback for ServerStatusInfo 2019-01-29 10:33:06 +01:00
MartinHaimberger 0f68ed390c
Merge pull request #5150 from akallabeth/gw_consent_callback
Fix #1195: Implement callback for Gateway Messages
2019-01-25 12:33:18 +01:00
David Fort f4b7a27c2b license: implement server-side management
Add server-side management of the licensing workflow. The default
behaviour is to accept the client, but if a server wants to implement
full licensing support as in MS-RDPELE it is possible by defining a callback.
2019-01-21 09:57:15 +01:00
Armin Novak c8587cea86 Fixed WINDOW_ORDER_INFO copy.
Patch by Andrey Vasilkin on mailing list
2019-01-18 13:04:34 +01:00
Armin Novak f65b94ed84 Yield in connection wait loops to reduce processor use.
Patch by Andrey Vasilkin on mailing list.
2019-01-18 13:03:36 +01:00
Martin Fleisz abd5cf51ff
Merge pull request #5180 from chipitsine/coverity
resolve several issues found by coverity
2019-01-07 15:21:03 +01:00
Ilya Shipitsin e14ba2018f remove identical code, found by coverity 2019-01-04 20:55:28 +05:00
Hendrik Woltersdorf f561ef957e enable fonts smoothing per default 2018-12-29 09:16:05 +01:00
Armin Novak 78ff015e05 Removed noisy warning. 2018-12-14 13:19:26 +01:00
Armin Novak b7cb4f4f06 Print SSL error when reading is aborted. 2018-12-14 13:19:26 +01:00
Mariusz Zaborski 4974af1f77 There is only one primary monitor do not look for more. 2018-12-13 14:16:50 +01:00
Armin Novak 8ddabd2654 Fix #1195: Implement callback for Gateway Messages 2018-12-11 15:24:24 +01:00
Mariusz Zaborski 269002f0a1 Respect settings while sending the input capabilities. 2018-12-11 13:55:21 +01:00
Martin Fleisz b82c4f779a
Merge pull request #5020 from akallabeth/floatbar_fixes
Floatbar fixes and windows support
2018-12-10 14:45:10 +01:00
Armin Novak 6a9fa3dcbd Refactored floatbar, extended command line settings. 2018-12-07 15:22:28 +01:00
Armin Novak e7724cb8c4 Fixed a compiler warning for iterator type 2018-12-07 15:22:28 +01:00
Armin Novak aa12026ef0 Added additional gateway error logging. 2018-12-07 14:21:27 +01:00
akallabeth 5e0fef582a
Merge pull request #5104 from hardening/license_2k3
license: fix licencing against windows 2003 server
2018-12-05 11:24:51 +01:00
Armin Novak e49adfc51a Updated error info from spec. 2018-12-05 10:55:06 +01:00
Armin Novak 8110c391bf Fixed requested protocol define names according to spec. 2018-12-05 10:55:06 +01:00
Armin Novak b1d2a4767b Fixed warnings in nego. 2018-12-05 10:55:06 +01:00
Armin Novak 82863a8518 Refactored NLA to be self contained. 2018-12-05 10:55:06 +01:00
Armin Novak 80d2462833 Hide redirection implementation details. 2018-12-05 10:55:06 +01:00
Armin Novak 5ca8eca18e Made nego self contained. 2018-12-05 10:55:06 +01:00
David Fort 635b17d0a1 license: fix licencing against windows 2003 server
The spec says:

"For Windows Server 2008, Windows Server 2008 R2, and Windows Server
2012, the EncryptedLicenseInfo variable (part of the Server Upgrade License PDU) sent by the server
to the client has the wBlobType parameter set to value BB_ENCRYPTED_DATA_BLOB (0x0009). For
Windows Server 2003, the value of wBlobType is not defined."

So don't enforce the message type.
2018-12-05 10:50:47 +01:00
David Fort 7ad24b6069
Merge pull request #5080 from akallabeth/scanbuild-ex-warn
Scanbuild ex warn
2018-11-29 16:24:28 +01:00
Armin Novak aeeaba5bc3 Fixed a memory leak. 2018-11-29 12:14:20 +01:00
Armin Novak 7ec9e942fb Fixed zero sized allocation. 2018-11-29 12:11:33 +01:00
Armin Novak 16a7613194 Fixed zero sized allocation. 2018-11-29 12:11:33 +01:00
Bernhard Miklautz 1a33b3383c
Merge pull request #5070 from akallabeth/gw_fixes_redirection
Fixed buffer reset in fields_present_to_string
2018-11-29 11:10:14 +00:00
David Fort e7a44bc437
Merge pull request #5057 from akallabeth/order_settings_init_generic
Unified initialization of OrderSupport
2018-11-28 17:46:18 +01:00
Armin Novak 263cc74580 Fixed buffer reset in fields_present_to_string 2018-11-26 14:11:29 +01:00
Bernhard Miklautz 52d1b35a63
Merge pull request #5046 from akallabeth/silence_wlog
Do not compile extended debugging by default.
2018-11-26 11:10:59 +00:00
Bernhard Miklautz 0b8010f8d6
Merge pull request #5065 from akallabeth/tcp_connect_multi_fix
Fixed a possible NULL dereference.
2018-11-26 10:57:20 +00:00
Armin Novak 5623a4761f Fixed a possible NULL dereference. 2018-11-23 10:32:52 +01:00
Armin Novak 7d89ea22d4 Unified initialization of OrderSupport
Added a library internal function freerdp_settings_set_default_order_support
which initializes the OrderSupport array of settings.
Now clients no longer need to set this up on their own, if they
do not implement their own hardware accelerated order processing.
2018-11-23 10:11:50 +01:00
Armin Novak 391528f40a Fixed a broken length check in rdg_process_packet
HTTP gateway connections aborted due to this.
Additionally add more verbose error logging in RDG.
2018-11-23 09:45:09 +01:00
akallabeth d0d414dfa0 Fix #5059: Changed return type of peer_free to void. 2018-11-22 19:08:25 +01:00
Martin Fleisz 6c97d318ec
Merge pull request #5022 from akallabeth/gw_rdg_error_mapping
Improved error mapping and tightened checks in rdg_process_packet
2018-11-22 15:10:58 +01:00
Armin Novak 3110b5f5c5 Simplified string empty check. 2018-11-22 14:29:22 +01:00
Armin Novak 8df39fdad4 Use blocking sockets in freerdp_tcp_connect_multi
The non blocking connect in freerdp_tcp_connect_multi did not
work reliably.
Fall back to blocking connect (which might take longer until the connection
is established) instead of not being able to connect at all.
2018-11-22 11:11:31 +01:00
Armin Novak 1ed436c8fc Fixed socket cleanup in connect multi. 2018-11-22 11:11:31 +01:00
Armin Novak 4b3f4cc2fc Fixed event check in freerdp_tcp_connect_multi 2018-11-22 11:11:31 +01:00
David Fort 5e7ac925f5
Merge pull request #5045 from akallabeth/license_double_free_fix
Fixed double free in license_free_binary_blob
2018-11-21 16:03:18 +01:00
Martin Fleisz 947aa80033
Merge pull request #5016 from akallabeth/windows_server_build_fix
Windows server build fix
2018-11-21 16:02:47 +01:00
Armin Novak 17bbe7a23f Do not compile extended authentication debugging by default. 2018-11-21 15:36:31 +01:00
Armin Novak feb993b948 Fixed double free in license_free_binary_blob 2018-11-21 15:07:36 +01:00
Armin Novak cdf1ee61f0 Proper field to string debug functions for each response in RDG 2018-11-21 14:37:38 +01:00
Armin Novak a97bf21109 Fixed broken DEBUG_RDP log message. 2018-11-21 09:55:38 +01:00
Armin Novak 445a5a42c5 Fixed CVE-2018-8786
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Bernhard Miklautz ef0c7e81a7
Merge pull request #4953 from akallabeth/region_signed
signed gdi regions to adjust negative coordinates
2018-11-20 10:07:30 +00:00
Armin Novak 666ef4ab34 Fix #4864: Register pointer cache after PostConnect is called
With #4950 client side pointer implementation was made optional.
This addresses an issue that each client had to call
pointer_cache_register_callbacks on its own.
2018-11-20 09:49:39 +01:00
akallabeth b6eca4fc54 signed gdi regions to adjust negative coordinates 2018-11-19 12:52:43 +01:00
Bernhard Miklautz b7354ce438
Merge pull request #4940 from akallabeth/check_window_order_support
Added checks for order type window support.
2018-11-19 09:15:14 +00:00
Armin Novak 7839091f8b Skip redirection resolve test if we're connecting via gateway. 2018-11-16 15:48:10 +01:00
Armin Novak 870b7025b7 Improved error mapping and tightened checks in rdg_process_packet 2018-11-16 15:41:19 +01:00
Bernhard Miklautz fe1a79759e
Merge pull request #5018 from hardening/windowpos
cmdline: add window-position argument to set initial window position
2018-11-15 16:46:57 +00:00
Bernhard Miklautz b8cf70b13a
Merge pull request #4964 from akallabeth/rdg_fixes
Rdg/RPC and gateway fixes
2018-11-15 13:48:22 +00:00
David Fort e118d14f6a cmdline: add window-position argument to set initial window position
This is useful if you want the window to be at a given position. The patch also mutualizes
the parsing of <xpos>x<ypos> or <width>x<height> arguments.
2018-11-15 14:40:03 +01:00
Armin Novak 4d7bece6ea Fixed order mask 2018-11-15 09:52:54 +01:00
Armin Novak dd80a09781 Allow window orders with AllowUnanouncedOrdersFromServer 2018-11-15 09:52:54 +01:00
Armin Novak c0b13cf43f Added checks for order type window support. 2018-11-15 09:52:50 +01:00
Bernhard Miklautz d915491717
Merge pull request #5012 from akallabeth/rail_app_icons
Rail app icons
2018-11-15 08:50:56 +00:00
Armin Novak a2cd934184 Fixed windows build warnings. 2018-11-15 09:01:53 +01:00
akallabeth 268a2c0cf8
Merge pull request #4979 from hardening/CAL
license: support CAL license
2018-11-14 13:45:31 +01:00
Armin Novak 98a537d05d Better description and formatting for update_read_icon_info 2018-11-14 11:57:57 +01:00
Armin Novak 7e12955c55 Made all internal functions static. 2018-11-14 11:57:57 +01:00
ilammy 7a2b6e1301 libfreerdp-core: fix reading TS_ICON_INFO
The spec says that CbColorTable field is present when Bpp is 1, 4, 8.
Actually, bpp == 2 is not supported by TS_ICON_INFO according to the
spec (though, DIB definitely supports 16-color images).

    MS-RDPERP 2.2.1.2.3 Icon Info (TS_ICON_INFO)

    CbColorTable (2 bytes):
        This field is ONLY present if the bits per pixel (Bpp)
        value is 1, 4, or 8.

Omitting 8-bit value breaks 256-color icons which are incorrectly
read with color and alpha data mixed up.
2018-11-14 10:53:45 +01:00
Armin Novak 138eb13fea Updated RDP_VERSION definitions. 2018-11-14 10:14:48 +01:00
Armin Novak ecac998340 Fixed rdg bio cleanup.
When attaching the RDG BIO to the TLS BIO also transfer ownership.
2018-11-13 12:22:09 +01:00
Armin Novak 3c35a098f5 Fixed direct rdg front bio access. 2018-11-13 11:24:04 +01:00
Armin Novak e070bbea8d Fixed leaks in rdg_send_channel_create 2018-11-13 11:22:37 +01:00
Armin Novak 342ff8cf0b Fixed broken server name packet size 2018-11-13 11:22:37 +01:00
Armin Novak 15a41586a8 Don't read content length in VIRTUAL_CONNECTION_STATE_OUT_CHANNEL_WAIT 2018-11-13 11:22:37 +01:00
Armin Novak 90d2e42600 Fixed ntlm_authenticate, split return from continue flag. 2018-11-13 11:22:37 +01:00
Armin Novak 4e0b4d7096 Fixed static INT_MAX checks, replaced with assert. 2018-11-13 11:22:37 +01:00
Armin Novak 398a33af63 Fixed all warnings in rdg module
Fix all missing range checks and warnings.
2018-11-13 11:22:37 +01:00
Armin Novak 9078b0deb9 Fixed extern declaration of rpc_bind p_uuid_t variables. 2018-11-13 11:22:37 +01:00
Armin Novak b4fc0c75ce Made rdpRdp opaque 2018-11-13 11:22:37 +01:00
David Fort b6e6575bf6 license: support CAL license
This patch simplifies the licensing code mutualizing encryption / decryption
routines. It also adds the support for client_info packet that allows to send a
previously saved CAL file.
2018-11-13 09:42:19 +01:00
Martin Fleisz 097ac0ee13
Merge pull request #4997 from akallabeth/use_bio_free_all
Replaced BIO_free with BIO_free_all
2018-11-12 13:55:36 +01:00
Martin Fleisz 9400bdccdb
Merge pull request #4996 from bmiklautz/tls_security_level
new [crypto/tls]: add support to set tls security level
2018-11-08 15:33:40 +01:00
Armin Novak 5f4843191b Replaced BIO_free with BIO_free_all
There is no point in using BIO_free with a custom recursion
to free up stacked BIOs if there is already BIO_free_all.
Using it consistently avoids memory leaks due to stacked BIOs
not being recursively freed.
2018-11-08 12:09:49 +01:00
Bernhard Miklautz 1222e7060b new [crypto/tls]: add support to set tls security level
The newly introduced option /tls-seclevel can be used to set the tls
security level on systems with openssl >= 1.1.0 or libressl.
As default level 1 is used as higher levels might prohibit connections
to older systems.
2018-11-08 11:13:15 +01:00
Armin Novak 5eca5ebde8 Fixed #4993: Allow uninitialized bio socket in transport_bio_simple_uninit
When the TLS connection is aborted early (certificate issues, ...)
the bio simple socket might not have been initialized.
Do not access the NULL pointer on cleanup.
2018-11-07 17:02:07 +01:00
Pascal J. Bourguignon 6f2caef778 Fix Issue #4983 : Increased size of buffer to encrypt hash with kerberos. 2018-11-06 11:20:02 +01:00
Bernhard Miklautz aecc77cd77
Merge pull request #4969 from akallabeth/covscan_fix
Covscan fixes
2018-11-05 10:44:01 +00:00
David Fort 1a50a48332 fix uninitialised variable
Otherwise we can run in troubles when sending logon_info_v2 packets
2018-11-01 11:07:36 +01:00
David Fort 548025bcc3 nego: add new flags
Reading the new spec there's some new flags
2018-10-31 10:43:59 +01:00
Martin Fleisz 7b0f4f5dc4
Merge pull request #4907 from akallabeth/transport_write_leak_fix
Transport write leak fix
2018-10-29 14:54:55 +01:00
Armin Novak 423d54d752 Fixed signedness casts. 2018-10-25 14:08:20 +02:00
Armin Novak 6339c43c80 Fixed sockfd/socketBio resource leak. 2018-10-25 13:41:47 +02:00
Armin Novak 42014e80d0 Fixed sockfd/socketBio resource leak. 2018-10-25 13:38:31 +02:00
Armin Novak f269a0ce5b Fixed sockfd/socketBio resource leak. 2018-10-25 13:19:45 +02:00
Armin Novak 847ee233f4 Fixed resource leak in rpc_ntlm_http_request 2018-10-25 12:49:42 +02:00
Armin Novak 987ca5ec6a Fixed another bunch of warnings. 2018-10-24 14:36:12 +02:00
Armin Novak 6ccaafe2d9 Fixed default return value for fastpath_send_multiple_input_pdu 2018-10-23 12:33:13 +02:00
akallabeth d3c1db1746
Merge pull request #4947 from akallabeth/http_gw_fix
Fixed http gateway body length read.
2018-10-23 12:03:03 +02:00
Armin Novak 900abb61f7 Fixed memory leak in update_recv_surfcmd_surface_bits 2018-10-22 14:41:59 +02:00
Armin Novak b9933e7af4 Read byte by byte, the alignment may otherwise be broken. 2018-10-19 12:52:14 +02:00
Armin Novak 5a747b118d Read http request in 4byte chunks until '\r\n\r\n' is found
Avoid reading too much data in a single call to BIO_read as some
implementations may return a lot more data than is part of the response.
2018-10-19 12:16:04 +02:00
Emmanuel Ledoux 33c7f6590a fixed partial reads 2018-10-19 11:56:56 +02:00
Armin Novak d05684a50a Properly parse ContentType to find length. 2018-10-19 11:47:11 +02:00
Armin Novak 7e397d0f1c Fixed http gateway body length read. 2018-10-19 09:31:55 +02:00
akallabeth 6f14018a22
Merge pull request #4945 from mmattes/fix/transferEncoding
transferEncoding can be NULL, correct if happens in line 348
2018-10-18 15:37:24 +02:00
Norbert Federa 850d2dbda9
Merge pull request #4942 from akallabeth/rail_fixes_2.0
Fix ORDER_TYPE_WINDOW reading
2018-10-18 14:11:18 +02:00
Norbert Federa 5ef243f91f
Merge pull request #4941 from nfedera/nf-remove-stale-valgrind-macro
gateway/rpc: remove stale valgrind macro
2018-10-18 14:08:23 +02:00
Markus Mattes 6d5b88cda6 transferEncoding can be NULL, verification happens in line 348 2018-10-18 13:59:49 +02:00
Armin Novak 5b70142ec4 Fixed read_altsec_order ORDER_TYPE_WINDOW 2018-10-18 12:34:10 +02:00
Armin Novak 8bdb5d771a Fixed order to string format string. 2018-10-18 12:33:06 +02:00
Norbert Federa d201deede8 gateway/rpc: remove stale valgrind macro 2018-10-18 11:45:18 +02:00
Armin Novak 2e3832af94 Fixed TSG stream alignment (4 or 8) 2018-10-18 10:41:03 +02:00
Armin Novak dc197d4dd1 Fixed tsg abort condition. 2018-10-18 10:15:51 +02:00
Armin Novak 88d310ff2c Fixed compiler warnings (casts, ...) 2018-10-18 09:09:30 +02:00
Martin Fleisz e46d1d95ff
Merge pull request #4926 from akallabeth/primary_order_checks
Order data validation and correction
2018-10-17 16:02:28 +02:00
Armin Novak 991f051a63 Fixed stream release for transport_write 2018-10-17 14:55:55 +02:00
Armin Novak aefb7728f6 Removed debug log entries, simplified order support check. 2018-10-17 14:16:16 +02:00
Armin Novak f91590ecbf Fixed bugs detected during scanbuild run 2018-10-17 13:19:33 +02:00
akallabeth 8fe3ac5d26
Merge pull request #4902 from akallabeth/gw_refactor_3
Gateway refactoring
2018-10-17 12:23:10 +02:00
Armin Novak 7b860ce96a Add command line option /relax-order-checks 2018-10-17 12:16:58 +02:00
Armin Novak 4d124cf5d1 Fixed order requirements. 2018-10-17 10:09:27 +02:00
Armin Novak cab2e28576 Fixed missing value check 2018-10-16 17:09:29 +02:00
Armin Novak c51ca89d9b Fixed glyph cache 2018-10-16 16:10:17 +02:00
Armin Novak 5ea4a7d3b0 Proper order checks. 2018-10-16 15:56:17 +02:00
Armin Novak 16d553a75f Check if incoming secondary alternate orders have been activated. 2018-10-16 13:59:37 +02:00
Armin Novak 711da861e8 Check if incoming secondary orders have been activated. 2018-10-16 13:48:43 +02:00
Armin Novak 88bd262134 Send brush support level from settings. 2018-10-16 13:48:29 +02:00
Armin Novak c99434691e For every order check if it is activated in settings before processing. 2018-10-16 13:13:01 +02:00
Armin Novak fb87f6d0bd Added a warning that the server sent an unsupported order 2018-10-16 12:46:44 +02:00
Armin Novak e4b24aa31e Fixed arguments to *adust 2018-10-16 12:36:08 +02:00
Armin Novak 14321a2d52 Adjust rectangles where appropriate. 2018-10-15 16:34:44 +02:00
Armin Novak e5d60370b4 Fixed MultiOpaqueRect
Sanitize rectangle boundaries, the coordinates of old servers are often out of bound.
2018-10-15 15:27:17 +02:00
Armin Novak 479233cedc Fix bounding rectangle of OpaqueRect
This order has often negative coordinates, sanitize before passing on.
2018-10-15 15:23:04 +02:00
Armin Novak ca3fb26230 Deactivated unimplemented orders. 2018-10-15 15:22:50 +02:00
Armin Novak 63823f54ee Removed checks for LineTo, that is handled by the drawing routines 2018-10-15 14:36:03 +02:00
Armin Novak f88ed950d3 Fixed various issues with primary orders. 2018-10-15 14:30:58 +02:00
Armin Novak 83fba667c1 Fixed logging. 2018-10-15 13:56:19 +02:00
Armin Novak 8cfffcc027 Use dynamic logging and fix compiler warnings. 2018-10-15 13:20:47 +02:00
Armin Novak ed02832a81 Added altsec return value checks. 2018-10-15 13:15:57 +02:00
Armin Novak 09bef3bab2 Unified logging. 2018-10-15 13:10:48 +02:00
Armin Novak aecda5280a Added plausibility checks for order input coordinates. 2018-10-15 10:34:47 +02:00
Armin Novak 766a66a7c2 Fixed stream get position. 2018-10-09 14:24:58 +02:00