Commit Graph

4350 Commits

Author SHA1 Message Date
Armin Novak
36c820a9d9 Extract whole certificate chain to PEM format. 2019-07-17 14:42:32 +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
Martin Fleisz
1112e2fffb 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.
2019-06-13 09:19:42 +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
Armin Novak
4d4e7a69d7 Fixed remaining getter/setter return checks. 2019-05-09 14:04:40 +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
Martin Fleisz
ff036e0198
Merge pull request #5386 from akallabeth/rails_spec_update
Rails spec update
2019-05-09 12:49:55 +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
akallabeth
9011ef1b75
Merge pull request #5387 from mfleisz/image_from_icon
core: Move image conversion of icon data into the library
2019-05-08 17:19:27 +02:00
Martin Fleisz
30c3b86655 core: Move image conversion for icon data into the library 2019-05-08 17:06:17 +02:00
Armin Novak
d49adfcf59 Fixed warnings and cleaned up gfx related xfreerdp code. 2019-05-08 17:01:36 +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
6ac91924d5 Fixed use of settings getter/setter 2019-05-08 14:17:23 +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
Armin Novak
3d1cec894c Fixed alignment requirements for surface sizes. 2019-05-08 10:36:00 +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
Armin Novak
8fdf8eaeb7 Optimized image scaling, copy if factor is 1.0 2019-05-07 12:10:23 +02:00
Armin Novak
3b7e46fb0e Updated GFX to 10.6 spec 2019-05-07 12:10:13 +02:00
Armin Novak
6a8755a763 Added image scaling api for software drawing.
For future GFX channel functions an image scaling function is required.
This moves the implementation from wayland client to core library
and adds support for the much faster SWScale library.
2019-05-07 08:56:29 +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
8d6a12f312 Fixed unnecessary casts in freerdp_image_copy. 2019-04-05 09:14:35 +02:00
Armin Novak
082eef05e1 Fixed broken implicit fallthrough 2019-04-05 09:14:35 +02:00
Armin Novak
f9b688a446 Removed duplicate argument checks. 2019-04-05 09:14:35 +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
a3e073442c Fixed unused store warnings. 2019-04-05 09:14:35 +02:00
Armin Novak
e72d9fd484 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
52b03cd408 Addin function pointers now expect const strings 2019-04-05 09:13:24 +02:00
Armin Novak
f51a9bafcc Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
0bacb30608 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
e4386e147a Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
936ab9bb8b Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
ba40c971d2 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
696390f027 Fixed missing return value check. 2019-04-05 09:13:24 +02:00
Armin Novak
1da57d0b7e Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
9610faddaa Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
73a6e7052b Fixed free checks to eliminate bad free warnings. 2019-04-05 09:13:24 +02:00
Armin Novak
a1e15b671e Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
b205ccbd5a Fixed NSC SSE argument checks. 2019-04-05 09:13:24 +02:00
David Fort
c5156443e7
Merge pull request #5281 from akallabeth/assistance_ssl_init_fix
Fixed #5276: Enable SSL before parsing assistance file.
2019-03-28 19:04:25 +01:00
kubistika
d3dd0860a5 update.c: Fix update_end_paint wrong log level 2019-03-20 22:01:08 +02:00
cerg2010cerg2010
7abc86ffae Close file handle correctly. (#5310) 2019-03-18 14:57:00 +01:00
Armin Novak
67be5258ad Exposing NLA functions to impersonate and revert context. 2019-03-08 10:10:43 +01:00
Martin Fleisz
da66485b3d
Merge pull request #5252 from akallabeth/big_endian_fix
Fixed endianess issue with GETPIXEL16 and GETPIXEL32
2019-03-01 10:06:56 +01:00
Armin Novak
e8c8e7b6d0 Updated EGFX support to 10.6 2019-02-27 16:36:15 +01:00
Armin Novak
69f4c4b4af Fixed version magic mismatch with [MS-RDPBCGR] 2019-02-27 16:30:55 +01:00
Armin Novak
49936a7ba6 Fixed #5276: Enable SSL before parsing assistance file.
The assistance file requires primitives from the ssl wrapper.
Enable these before parsing the file.
Additionally split the FIPS mode enablement from the one time
initializer to avoid ignoring that flag.
2019-02-25 10:37:30 +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
Ilya Shipitsin
5d7186258a libfreerdp/codec/include/bitmap.c: resolve possible NULL pointer arithmetic
found by cppcheck

[libfreerdp/codec/include/bitmap.c:112] -> [libfreerdp/codec/include/bitmap.c:95]: (warning) Either the condition '!pbSrcBuffer' is redundant or there is pointer arithmetic with NULL pointer.
[libfreerdp/codec/include/bitmap.c:112] -> [libfreerdp/codec/include/bitmap.c:96]: (warning) Either the condition '!pbDestBuffer' is redundant or there is pointer arithmetic with NULL pointer.
2019-02-22 17:18:19 +05:00
Armin Novak
dfb4a411d4 Silenced unused-const-variables for test cases. 2019-02-21 14:02:13 +01:00
Armin Novak
4ad0770a7e Silenced function pointer cast warnings for BIO_callback_ctrl 2019-02-21 13:53:51 +01:00
Armin Novak
43e13bdfac Fixed all integer conversion warnings for OpenH264.
Added range checks and casts to integer where necessary
to remove warnings.
2019-02-21 11:43:59 +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
18b193a1cf Fixed endianess issue with GETPIXEL16 and GETPIXEL32 2019-02-13 09:30:34 +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
Martin Fleisz
6415cfec48
Merge pull request #5131 from akallabeth/cmd_line_error_logging
Added extended error logging for assistance, rdp file and command line parser
2019-02-08 09:11:35 +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
2a582ed197 Fixed NULL dereferences and uninitialized values 2019-01-30 16:11:10 +01:00
Armin Novak
9d680904cc Fixed compiler warnings #5210 2019-01-29 16:14:55 +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
David Fort
05d9d89796
Merge pull request #5149 from akallabeth/cert_deny
New option to disable user certificate dialog
2019-01-25 16:59:33 +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
Armin Novak
7b92b91d9a Fixed warnings found by compiler and static analysis. 2019-01-24 11:53:52 +01:00
Armin Novak
ac12adda93 Fixed warnings found by compiler and static analysis. 2019-01-24 11:53:52 +01:00
David Fort
b18ba33264
Merge pull request #5192 from akallabeth/dynamic_openh264
Using (optional) runtime linking for OpenH264.
2019-01-23 14:30:31 +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
Armin Novak
08cc3cdee4 Fixed use after free. 2019-01-16 15:00:13 +01:00
Armin Novak
89f3f7d837 Added extended error logging for assistance, rdp file and command line parser. 2019-01-16 14:32:19 +01:00
Armin Novak
8c41bd21ea Added version check for dynamic OpenH264 use. 2019-01-15 09:49:48 +01:00
Armin Novak
1c855068a2 Using runtime linking for OpenH264.
This allows removing the hard dependency on OpenH264 and use the
cisco provided binary.
2019-01-11 12:00:08 +01:00
Armin Novak
6a175d588f Fixed #5167: Memory leak in unit test. 2019-01-08 11:20:00 +01:00
Martin Fleisz
f8a200462e
Merge pull request #5178 from fodinabor/rds-connectionstring
Support standard Remote Assistance Connection String 2
2019-01-08 09:45:25 +01:00
Martin Fleisz
b0b0d5edec
Merge pull request #5183 from akallabeth/libressl_version_fix
Fix #5170: Disable custom TLS alert for libressl > 2.8.3
2019-01-08 08:06:28 +01:00
Martin Fleisz
aa442de059
Merge pull request #5174 from chipitsine/master
resolve several issues found by cppcheck
2019-01-07 15:21:46 +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
Armin Novak
0c83efa753 Fix #5170: Disable custom TLS alert for libressl > 2.8.3 2019-01-07 14:20:16 +01:00
Joachim Meyer
c8358fdda6 Reject assistance input if not a RA invitation or connection string 2. 2019-01-07 13:00:48 +01:00
Joachim Meyer
7efbae282c Set the username setting again, if it exists. 2019-01-07 10:38:55 +01:00
Martin Fleisz
e034d3552a
Merge pull request #5173 from hendwolt/master
enable fonts smoothing per default, part two
2019-01-07 08:39:08 +01:00
Ilya Shipitsin
e14ba2018f remove identical code, found by coverity 2019-01-04 20:55:28 +05:00
Joachim Meyer
8d50c4ce2d Add support for standard Remote Assistance Connection String 2 without the extensions of the invitation file format. 2019-01-03 20:58:40 +01:00
Ilya Shipitsin
bdc039e719 resolve several issues found by cppcheck
[client/X11/xf_floatbar.c:800] -> [client/X11/xf_floatbar.c:796]: (warning) Either the condition '!floatbar' is redundant or there is possible null pointer dereference: floatbar.
[client/X11/xf_floatbar.c:800] -> [client/X11/xf_floatbar.c:797]: (warning) Either the condition '!floatbar' is redundant or there is possible null pointer dereference: floatbar.
[client/X11/xf_floatbar.c:800] -> [client/X11/xf_floatbar.c:798]: (warning) Either the condition '!floatbar' is redundant or there is possible null pointer dereference: floatbar.
[libfreerdp/codec/dsp.c:1156] -> [libfreerdp/codec/dsp.c:1154]: (warning) Either the condition '!srcFormat' is redundant or there is possible null pointer dereference: srcFormat.
[channels/drdynvc/client/drdynvc_main.c:1453] -> [channels/drdynvc/client/drdynvc_main.c:1450]: (warning) Either the condition '!drdynvc' is redundant or there is possible null pointer dereference: drdynvc.
[channels/audin/client/opensles/audin_opensl_es.c:98] -> [channels/audin/client/opensles/audin_opensl_es.c:94]: (warning) Either the condition '!opensles' is redundant or there is possible null pointer dereference: opensles.
[channels/audin/client/opensles/audin_opensl_es.c:159] -> [channels/audin/client/opensles/audin_opensl_es.c:153]: (warning) Either the condition '!opensles' is redundant or there is possible null pointer dereference: opensles.
2019-01-02 20:35:24 +05:00
Simon Legner
ff375d238b
fix(crypto/tls): typo 2019-01-02 08:18:07 +01: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
Armin Novak
b60045af27 New option to disable user certificate dialog
The new option +cert-deny aborts a connection automatically if
the certificate can not be validated by OpenSSL or via known hosts.
2018-12-14 10:17:52 +01:00
Armin Novak
6906efa354 Fixed return value for already accepted certificate. 2018-12-14 09:52:25 +01:00
Mariusz Zaborski
4974af1f77 There is only one primary monitor do not look for more. 2018-12-13 14:16:50 +01:00
Peter Åstrand (astrand)
9aced5945a Define scancodes for virtual keys, used by VNC servers
The list of fake keycodes can be found at:

https://cgit.freedesktop.org/xkeyboard-config/tree/keycodes/evdev#n290

This commit adds support for AltGr when xfreerdp is used in
TigerVNC/Xvnc and ThinLinc sessions.
2018-12-12 11:43:03 +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
Bernhard Miklautz
27ca916cf4
Merge pull request #5124 from akallabeth/cert_accept_fix
Fixed certificate accept
2018-12-10 12:23:13 +00:00
Armin Novak
d2ac7acdd9 Fixed certificate accept
certificate_data_replace can only replace an existing entry,
use certificate_data_print for new ones.
2018-12-10 12:03:55 +01:00
Martin Fleisz
97c5210dbc
Merge pull request #5096 from akallabeth/dsp_channel_mix
Fix #5019: Added channel up/downmixing code for mono/stereo.
2018-12-10 11:58:43 +01:00
Martin Fleisz
fc12b9336f
Merge pull request #5109 from akallabeth/gw_logging
Added additional gateway error logging.
2018-12-07 15:45:59 +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
Bernhard Miklautz
6c88c21736
Merge pull request #5099 from akallabeth/floatbar_close_window
Fixed #5098: Abort connection and let the application clean up resour…
2018-12-07 13:03:46 +00:00
Armin Novak
d05217454f Fix #5115: Cast PEM data from BYTE* to char* to silence warnings. 2018-12-07 12:36:18 +01:00
Martin Fleisz
8c7f8eb395
Merge pull request #5085 from akallabeth/cert_callbacks_update
Refactored Certificate callbacks (but keep compatible)
2018-12-06 10:08:17 +01:00
Armin Novak
0aaf14bed7 Fixe accidental removal of certificate_data_replace 2018-12-06 09:39:50 +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
Martin Fleisz
7db6ac063a
Merge pull request #5036 from akallabeth/auth_fixes
Refactor NEGO NLA and redirection to use opaque handles
2018-12-05 11:20:34 +01:00
Martin Fleisz
30b31b7fb0
Merge pull request #5062 from akallabeth/init_freerdp_image_copy_from_pointer_data
Fix #5061: Initialize output buffer transparent.
2018-12-05 10:57:43 +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
Armin Novak
0c13c3199e Follow up to #4959: Lock gdi_UpdateSurfaces like xf_UpdateSurfaces 2018-12-04 16:56:22 +01:00
Martin Fleisz
df6d045f45
Merge pull request #5087 from hardening/remotefx_chunks
remotefx: don't require data messages to come all in one chunk
2018-12-04 16:40:44 +01:00
Martin Fleisz
5510f9304b
Merge pull request #4959 from akallabeth/gfx_lock_fix
Implemented GFX mutex locking and enforce return value checks.
2018-12-04 14:29:59 +01:00
Armin Novak
e46575671c Fix #5019: Added channel up/downmixing code for mono/stereo. 2018-12-04 11:38:42 +01:00
David Fort
579a13b054 remotefx: don't require data messages to come all in one chunk
The spec doesn't require that FRAME_BEGIN, REGION, TILESET, and FRAME_END come all in one
chunk. This patch adds the necessary state saving.
A unitary test is also added.
2018-12-04 11:38:01 +01:00
Armin Novak
b27470405c Duplicate PEM when accepted. 2018-12-04 09:35:24 +01:00
Armin Novak
e04c319d21 Added new default certificate callbacks with extended information.
The extended information provided by VerifyCertificateEx and
VerifyChangedCertificateEx is now exploited by the new functions
client_cli_verify_certificate_ex and client_cli_verify_changed_certificate_ex.

The old callbacks now print out deprecation warnings to inform the
user and developer about this deprecation.
2018-12-04 09:35:24 +01:00
Armin Novak
a8823fdf95 Cleaned up certificate verification code. 2018-12-04 09:35:24 +01:00
Armin Novak
7ab07ab980 Added certificate callbacks with source indications. 2018-12-04 09:35:24 +01:00
Armin Novak
dd3276d664 Prefer VerifyX509Certificate and fixed const arguments
If VerifyX509Certificate is set use it also when doing internal
certificate management. Added flags to ensure it is possible to
find out which type of connection is being made.
2018-12-04 09:35:24 +01:00
Armin Novak
d27cd1b19e Fixed unit tests, use uniqe file names 2018-12-04 08:45:41 +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
d975fd0452 Fixed zero sized allocation. 2018-11-29 12:11:33 +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
Armin Novak
2e019b2fd1 Implemented GFX locking and enforce return value checks.
To fix #4825 GFX functions must now aquire a lock before accessing surfaces.
This prevents simultaneous update of internal data by client and gfx threads.
Also enforce return value checks, where not already done.
2018-11-29 11:55:27 +01:00
Armin Novak
c97d4eec67 Fixed uninitialized value. 2018-11-29 11:25:27 +01:00
Bernhard Miklautz
62d982b623
Merge pull request #5073 from akallabeth/trust_settings
Fix #4764: Second try, use X509_STORE_CTX_set_purpose
2018-11-29 09:50:12 +00:00
David Fort
7478a938aa
Merge pull request #5074 from akallabeth/ycbcr_padding_fix
Fixed padding of general_yCbCrToRGB_16s8u_P3AC4R* functions.
2018-11-29 10:02:28 +01: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
f3e1ffb121 Fix #4764: Second try, use X509_STORE_CTX_set_purpose 2018-11-28 12:08:42 +01:00
Armin Novak
98bc4358e0 Fixed padding of general_yCbCrToRGB_16s8u_P3AC4R* functions. 2018-11-28 11:05:45 +01:00
Armin Novak
263cc74580 Fixed buffer reset in fields_present_to_string 2018-11-26 14:11:29 +01:00
Bernhard Miklautz
657087e3a8
Merge pull request #5066 from akallabeth/ssl_verify_fix
Fix #4768: Set SSL verify purpose to ANY
2018-11-26 13:01:00 +00: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
e06ed191ac
Merge pull request #5067 from akallabeth/gfx_log_fix
Fixed error log for avc420_decompress failures.
2018-11-26 11:03:42 +00:00
Armin Novak
77744200a8 Fix #4768: Set SSL verify purpose to ANY
Should actually be SSL server but since we allowed broken
purpose up until now keep that for the 2.0 series.
2018-11-26 11:58:29 +01: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
d06c3980a0 Fixed error log for avc420_decompress failures. 2018-11-26 11:33:23 +01:00
Armin Novak
0d8a1e1083 Fix #5061: Initialize output buffer transparent. 2018-11-23 10:57:17 +01: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
effa8b8562 Fix #5049: Libressl declares OPENSSL_VERSION_NUMBER too high
Need to check specifically for LIBRESSL_VERSION_NUMBER as they
set the version higher than OpenSSL 1.1 but without API support.
2018-11-22 19:10:05 +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
7ba34962e6 Removed duplcate NULL checks. 2018-11-22 11:21:57 +01:00
Armin Novak
f904d84638 Fixed freerdp_assistance_parse_address_list
* Return a proper error in case parsing fails.
* Don't duplicate string as we already operate on a duplicate.
2018-11-22 11:17:13 +01:00
Armin Novak
3f655db3c5 Fixed test_msrsc_incident_file_type1 return checks. 2018-11-22 11:16:43 +01:00
Armin Novak
59e9abc737 Fixed memory leak in reallocate. 2018-11-22 11:11:31 +01:00
Armin Novak
c8908c8be6 Updated windows shadow server assistance usage. 2018-11-22 11:11:31 +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
484ceaed34 Fixed assistance unit test. 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
Armin Novak
e1555662d1 Set username from assistance file. 2018-11-22 11:11:31 +01:00
Armin Novak
35c1eac6ec Unified address parsing for assistance files. 2018-11-22 11:11:31 +01:00
Armin Novak
6de2129a90 assistance v2 support 2018-11-22 11:11:31 +01:00
Armin Novak
649f49fa61 Fix #5049: LibreSSL does not have SSL_CTX_set_security_level 2018-11-22 09:23:46 +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
17c363a516 Fixed CVE-2018-8784
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
d1112c279b Fixed CVE-2018-8788
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
09b9d4f199 Fixed CVE-2018-8787
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +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
Armin Novak
602f4a2e14 Fixed CVE-2018-8785
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
Armin Novak
3e2caa88a4 Fixed invalid NULL check 2018-11-20 09:38:02 +01:00
Armin Novak
53fdea8455 Clip coordinates for lineTo and polyLine 2018-11-19 17:25:19 +01:00
Armin Novak
d75c464dbd Fixed signed/unsigned warnings. 2018-11-19 17:25:19 +01:00
Armin Novak
75d532f87c Fixed glyph cache bounds setting. 2018-11-19 13:58:53 +01:00
Armin Novak
e94ed7d762 Fixed gdi_BitBlt coordinate clipping. 2018-11-19 12:55:50 +01:00
Armin Novak
a078d8714e Fixed opaque rect bounding rectangle. 2018-11-19 12:55:50 +01:00
akallabeth
b6eca4fc54 signed gdi regions to adjust negative coordinates 2018-11-19 12:52:43 +01:00
Martin Fleisz
b216520d5b
Merge pull request #5021 from akallabeth/profiler_api_rework
Fixed profiler API
2018-11-19 10:20:52 +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
Christian Gall
fffe4f077a * remove obsolete SSLv23_client_method in tls_connect()
* set min TLS Version
2018-11-18 14:09:37 +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
Armin Novak
d2e1248b09 Fixed profiler API
* Duplicate the name internally to avoid issues with stack
* Made API opaque and removed direct dereferencing of struct.
2018-11-16 09:32:15 +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
010e3485cb
Merge pull request #4989 from akallabeth/dsp_encode_resample
Added resampling to freerdp_dsp_encode.
2018-11-15 15:54:56 +00:00
Bernhard Miklautz
d6dea852b3
Merge pull request #4976 from hardening/rfx_flush
remotefx: fix rlgr last bits of encoder
2018-11-15 15:25:25 +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
e5197f529d Add soxr library and include paths. 2018-11-14 13:27:20 +01:00
Armin Novak
9766161f10 Added missing define guards. 2018-11-14 13:27:20 +01:00
Armin Novak
5b363e72aa Allow building without libsoxr support. 2018-11-14 13:27:20 +01:00
Armin Novak
6af56458ad Marked custom ADPCM codecs experimental. 2018-11-14 13:27:20 +01:00
Armin Novak
b362b61a1a Added libsoxr based resampling. 2018-11-14 13:27:20 +01:00
Armin Novak
ab15e34032 Refactored freerdp_dsp_resample, checks now done internally. 2018-11-14 13:27:20 +01:00
Armin Novak
60025dde8e Fixed unused function warnings when FFMPEG backend is used. 2018-11-14 13:27:20 +01:00
Armin Novak
e8e4800c5e Added resampling to freerdp_dsp_encode. 2018-11-14 13:27:20 +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
Bernhard Miklautz
c5c1bac31a
Merge pull request #4960 from akallabeth/interleaved_fix
Fixed #4954: Check destination buffer bounds.
2018-11-09 12:25:55 +00:00
Armin Novak
fff2454ae6 Make VS2010 happy, reworked UNROLL defines. 2018-11-09 12:18:51 +01:00
Armin Novak
6e61dd9d9f Unroll bBits loops as well. 2018-11-09 12:12:19 +01:00
Armin Novak
7e932bbfa2 Readded loop unrolling. 2018-11-09 11:32:28 +01:00
Armin Novak
cf8bc72dc4 Fixed profiler naming in tests. 2018-11-08 17:43:50 +01:00
Armin Novak
9e2c203771 Fixed various issues with freerdp_bitmap_compress and interleaved_compress 2018-11-08 17:21:28 +01:00
Armin Novak
c0c1d064be Added a unit test for interleaved codec compression. 2018-11-08 17:20:31 +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
akallabeth
cf43406dc3
Merge pull request #4982 from bmiklautz/ctest_asan_fixes
Fix issues with multiple tests if address sanitation is on
2018-11-07 16:11:02 +01:00
Armin Novak
a544776bd8 Simplified code, moved bounds check out of loops. 2018-11-07 13:10:23 +01:00
Armin Novak
10d3ee131e Fixed #4954: Check destination buffer bounds. 2018-11-07 12:18:08 +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
37f8181735 fix [libfreerdp/codec]: heap buffer overflow in TestFreeRDPCodecClear
The examples and the allocated buffers assume that the destination
starts with x 0 and y 0 and not 1/1.
2018-11-05 15:43:12 +01:00
Bernhard Miklautz
649404dd29 fix [libfreerdp/crypto]: memory leak in Test_x509_cert_info 2018-11-05 13:46:05 +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
David Fort
af195864e5 remotefx: fix rlgr last bits of encoder
The last bits of the bitstream were not flushed in the output, this patch fixes it.
2018-10-31 10:42:04 +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
2a4b47aaac Changed size iterator variables to size_t 2018-10-24 13:24:25 +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
akallabeth
c251bdc11a
Merge pull request #4952 from eledoux/master
gateway HTTP transport - fixed partial reads
2018-10-19 17:13:21 +02:00
akallabeth
b8ff18f37f
Merge pull request #4951 from nfedera/nf-fix-fnobjnew-fnstylecasts
fix issue with fnObjectFree and related casts
2018-10-19 14:00:14 +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
Norbert Federa
0572572eb9 fix issue with fnObjectFree and related casts
- remove unnecessary/dangerous OBJECT_xxx function-style casts
- fix -Wstrict-prototypes issue with OBJECT_NEW_FN definition
2018-10-19 11:30:01 +02:00
Bernhard Miklautz
7290e3f2b0 fix [cache/pointer]: add missing callback checks 2018-10-19 11:13:21 +02:00
Bernhard Miklautz
e114ee44e4 new [cache/pointer]: don't require pointer functions to be set
This as cleanup/rework of PR #4581.
2018-10-19 10:14:24 +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
MartinHaimberger
6f6581cdd6
Merge pull request #4933 from akallabeth/planar_alpha_fix
Planar alpha fix
2018-10-17 14:40:00 +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
a432a297ca Fixed division by 0 if invalid formats are used. 2018-10-17 11:37:51 +02:00
Armin Novak
c0d38778f1 Fixed length sanity check. 2018-10-17 10:09:37 +02:00
Armin Novak
4d124cf5d1 Fixed order requirements. 2018-10-17 10:09:27 +02:00
Armin Novak
777bfe5c40 Fixed const correctness of arguments. 2018-10-16 17:29:10 +02:00
Armin Novak
75517c06fb Added parameter checks. 2018-10-16 17:26:57 +02:00
Armin Novak
bbcba568f4 Added parameter checks. 2018-10-16 17:23:24 +02:00
Armin Novak
d2e08c0aa8 Fixed missing argument check. 2018-10-16 17:14:56 +02:00
Armin Novak
3629a84d3f Fixed missing input validation. 2018-10-16 17:10:03 +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
91107beb67 Separate alpha handling for planar codec
If the destination does not support an alpha channel ignore it
when decoding and prevent data to be copied unnecessarily
2018-10-16 12:17:25 +02:00
Armin Novak
a29bc16af4 Siplified planar alpha / non alpha paths 2018-10-16 10:05:33 +02:00
Armin Novak
7d8e6377df Fixed a memory leak in cleaning up brushes. 2018-10-16 09:31:30 +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
Armin Novak
166bdf018c Fixed return value of rpc_channel_tls_connect 2018-10-09 14:24:39 +02:00
Armin Novak
65bfb67f7c Fixed rpc_client_write_call resource cleanup. 2018-10-09 14:19:05 +02:00
Armin Novak
8c92f3436d Fixed argument name for ntlm_client_encrypt 2018-10-09 14:16:27 +02:00
Martin Fleisz
00af869cd3
Merge pull request #4889 from akallabeth/shadow_server_audin_refactor
Shadow server audin refactor
2018-10-08 12:56:09 +02:00
byteboon
1d99d2d5fa Regression: added back kerberos signature fix that was lost in a recent refactor #4801 2018-10-05 09:43:00 -07:00
akallabeth
9cc4f844c4
Merge pull request #4912 from akallabeth/swresample
Swresample support with avresample fallback
2018-10-05 11:00:13 +02:00
Armin Novak
fbe95209e7 Readded AVRESAMPLE support as fallback. 2018-10-04 09:16:34 +02:00
Vladimir Lomov
41cc2b63cb Move from libavresample to libswresample
- The libavresample as part of FFmpeg was declared as deprecated in
    favor of libswresample on Dec 25 2017 in commit "lavr: deprecate the
    entire library"
    (c29038f304
    ;
    c29038f304).
    As major Linux distributions (RPM, DEB and Archlinux) provide now
    FFmpeg and libswresample as its part use the libswresample instead of
    libavresample.

Signed-off-by: Vladimir Lomov <vladimir@smoon7.vl-lomov.ru>
2018-10-04 08:35:04 +02:00
Armin Novak
a8a6accc15 Fixed compiler warnings. 2018-10-03 15:16:59 +02:00
David Fort
2e1bf90bd9
Merge pull request #4885 from akallabeth/autoreconnect_handle_window_events
Fixed #3423: Process xevents when in reconnect mode.
2018-10-03 09:42:16 +02:00
Armin Novak
3b7f522eb7 Release stream in transport_write in all error cases. 2018-10-02 10:31:23 +02:00
Armin Novak
fc9ff6d2fc Made gateway NTLM self contained. 2018-09-28 12:29:29 +02:00
Armin Novak
99eb9f7ec9 Refactored and simplified RPC signature functions. 2018-09-28 12:08:27 +02:00
Armin Novak
9516c251c7 Made TSG struct opaque 2018-09-28 12:00:45 +02:00
Armin Novak
7ab1251a67 Refactored rpc_client and resolve gateway only once. 2018-09-27 16:42:27 +02:00
Armin Novak
f5f155b057 Refactored RpcClient functions 2018-09-27 16:26:46 +02:00
Armin Novak
47ba37fbcb Unified dns resolving of host 2018-09-27 16:08:28 +02:00
Armin Novak
8a677d6cf2 Refactored rdg channel structs. 2018-09-27 16:05:14 +02:00
Armin Novak
d748adbf14 Refactored gateway ncacn HTTP to be self contained. 2018-09-27 15:19:41 +02:00
Armin Novak
a5fdf9e006 Refactored gateway HTTP to be self contained. 2018-09-27 15:04:41 +02:00
Armin Novak
106dde9571 Working mic redirection for shadow server. 2018-09-26 12:49:09 +02:00
Armin Novak
28efbbc01f Refactored audio_format* functions. 2018-09-26 12:49:09 +02:00
Martin Fleisz
a90b74b8dc
Merge pull request #4879 from akallabeth/clip_fix
Fixes for clipboard #4876
2018-09-26 09:37:41 +02:00
Martin Fleisz
5339efd6e4
Merge pull request #4882 from akallabeth/no_proxy_cidr
Fixed #4878: Added cidr support for proxy exception check.
2018-09-26 09:20:54 +02:00
akallabeth
0b8a66188c
Merge pull request #4865 from mmattes/feature/floatbar
Feature/floatbar for X11
2018-09-25 16:34:20 +02:00
Armin Novak
1d77875a69 Fix NULL function pointer BeginPaint 2018-09-24 12:47:46 +02:00
Armin Novak
a5f0fa818f Fixed freerdp_keyboard_layouts_free 2018-09-24 12:47:46 +02:00
Armin Novak
941213f504 Fixed domain and regex match. 2018-09-24 12:24:15 +02:00
Armin Novak
3a2bfa183f Fixed #4878: Added cidr support for proxy exception check. 2018-09-24 11:51:40 +02:00
David Fort
040d14b673
Merge pull request #4869 from akallabeth/clear_fix
Fix #4868: Separate codec reset from initial setup
2018-09-24 09:46:33 +02:00
Martin Fleisz
2096c1108e
Merge pull request #4872 from akallabeth/sw_gdi_default
Fix #4851: Software GDI is now default
2018-09-21 13:02:39 +02:00
Martin Fleisz
44b82a45bf
Merge pull request #4873 from akallabeth/leak_fix
Fixed use after free and leak.
2018-09-20 13:14:24 +02:00
akallabeth
30601608e4
Merge pull request #4855 from r-barnett/fix-logoff-exit-code
Map a particular disconnect situation triggered by a user logging off…
2018-09-20 12:07:36 +02:00
Armin Novak
bdff1c96fd Fixed use after free and leak. 2018-09-20 11:08:12 +02:00
Armin Novak
dfb1049653 Fix #4851: Software GDI is now default 2018-09-20 10:44:03 +02:00
rbarnett
5d3e76bd80 Replace cryptic names; move the disconnect ultimatum reasons enum into public API and rename; remove setter 2018-09-19 09:36:39 -05:00
Tobias
a4df4f7bbf
Do not prompt if blank password was provided 2018-09-19 15:36:24 +02:00
Armin Novak
7e8d128fc6 Fixed clear codec reset and test cases. 2018-09-19 14:18:29 +02:00
Armin Novak
712a39898c Fixed buffer size for clear_decompress test. 2018-09-19 14:18:29 +02:00
Armin Novak
13e59b5d6a Fix #4868: Allow empty bands data. 2018-09-19 14:18:29 +02:00
rbarnett
8458266183 Store the disconnect provider ulimatum reason in a new field in struct rdp_context and move the test for a logoff reason to xf_client.c 2018-09-18 15:31:10 -05:00
Markus Mattes
21e4804a7f implemented floatbar for x11 2018-09-18 21:25:51 +02:00
Armin Novak
4c491b5a18 Fixed #4857: Properly reset clear codec. 2018-09-18 09:59:49 +02:00
Martin Fleisz
0b7b9c0dc4
Merge pull request #4842 from akallabeth/smartcard_rdp_logon
Added /smartcard-logon option to set flag. (Stripped version of #4837…
2018-09-17 09:08:47 +02:00
rbarnett
5db0b57fcd Map a particular disconnect situation triggered by a user logging off to a user logoff code. 2018-09-14 09:54:35 -05:00
Armin Novak
cf319001f9 Fixed out of bound access. 2018-09-05 16:34:49 +02:00
Armin Novak
0de43c8b85 Added /smartcard-logon option to set flag. (Stripped version of #4837 by @informatimago) 2018-09-04 15:50:03 +02:00
Armin Novak
54f3a388da Fixed #4835: BeginPaint callback now optional. 2018-09-04 10:40:17 +02:00
Armin Novak
817f8e0d47 Fixed an issue introduced with #4822
The string prepared is not NULL terminated and the sources are of fixed sizes.
Use memcpy instead of print fucntions in this specific case.
2018-09-03 08:48:33 +02:00
Armin Novak
5bc3993e3f Fixed buffer size and function name 2018-08-27 14:34:42 +02:00
Armin Novak
fad20be6e6 Fixed missing includes. 2018-08-27 14:34:42 +02:00
Armin Novak
62c1696d4c Removed use of unchecked sprintf 2018-08-27 14:34:42 +02:00
Armin Novak
114abad767 Removed use of strcpy. 2018-08-27 14:34:09 +02:00
akallabeth
9e3b48e0fb
Merge pull request #4829 from informatimago/smartcard-logon-rdp--x509-certificate-info-extraction
Smartcard Logon: restructured x509 certificate info extraction; added extracting the UPN.
2018-08-27 14:33:09 +02:00
Pascal J. Bourguignon
63d00f6f81 Corrected the compatibility function names: crypto_cert_subject_alt_name and crypto_cert_subject_alt_name_free. 2018-08-27 13:51:30 +02:00
Pascal J. Bourguignon
53692ffc57 Compute certificate_path from __FILE__ to adapt to changing compilation and test environments. 2018-08-24 16:04:29 +02:00
Pascal J. Bourguignon
79d2294a23 Put back deprecated function names crypto_cert_get_alt_names and crypto_cert_alt_names_free for FREERDP_API compatibility. 2018-08-24 15:20:03 +02:00
Pascal J. Bourguignon
98b8602663 Use C comment syntax instead of C++; added static declaration for local functions. 2018-08-24 15:05:50 +02:00
Pascal J. Bourguignon
469f9bf488 Smartcard Logon: restructured x509 certificate info extraction; added extracting the UPN. 2018-08-24 14:03:04 +02:00
Armin Novak
33be80cb41 Removed unused variables. 2018-08-24 13:40:36 +02:00
Armin Novak
6d3beabd54 Removed unused variables in tests. 2018-08-24 13:40:36 +02:00
Armin Novak
dab842cfb5 Fixed missing type casts. 2018-08-24 13:40:36 +02:00
Armin Novak
a3819f65e8 Fixed unused variable warnings. 2018-08-24 13:40:36 +02:00
Armin Novak
59819818f3 Fixed freerdp_load_dynamic_addin path 2018-08-24 13:40:36 +02:00
Armin Novak
8d473af4fb Fixed missing type cast. 2018-08-24 13:40:36 +02:00
Armin Novak
bff49a9bd0 Fixed invalid argument warnings. 2018-08-24 13:40:36 +02:00
Martin Fleisz
0fb19d04be
Merge pull request #4810 from akallabeth/no_proxy_support
No proxy support
2018-08-24 11:41:58 +02:00
Martin Fleisz
f9e52c1850
Merge pull request #4815 from akallabeth/async_transport_remove
Removed +async-transport options
2018-08-24 09:48:51 +02:00
Armin Novak
b5df39756d Added option to ignore proxy env. 2018-08-23 17:02:43 +02:00
Armin Novak
4bea9934cf Added patch from #4697 2018-08-23 17:02:43 +02:00
Martin Fleisz
3381ca46e6
Merge pull request #4787 from akallabeth/redirect_fqdn_fix
Redirect fqdn fix
2018-08-23 16:07:48 +02:00
Ondrej Holy
0b7d0c2002 crypto/tls: Prevent usage of freed pointer found by coverity
pass_freed_arg: Passing freed pointer "pemCert" as an argument to "WLog_PrintMessage".
2018-08-22 14:34:02 +02:00
Ondrej Holy
47595a857f core/transport: Fix leak found by covscan
0 is valid return value from socket().

leaked_handle: Handle variable "sockfd" going out of scope leaks the handle.
2018-08-22 14:34:02 +02:00
Ondrej Holy
1a413b5b4e core/tcp: Prevent buffer overflow found by covscan
buffer_size_warning: Calling strncpy with a maximum size argument of 108 bytes on destination array "addr.sun_path" of size 108 bytes might leave the destination string unterminated.
2018-08-22 14:34:02 +02:00
Ondrej Holy
26bc52f79c core/tcp: Format code by astyle
Run ./scripts/format_code.sh before the following changes.
2018-08-22 14:34:02 +02:00
Ondrej Holy
7e4fa67026 core/proxy: Fix leak found by covscan
leaked_storage: Variable "s" going out of scope leaks the storage it points to.
2018-08-22 14:34:02 +02:00
Ondrej Holy
2417a6a16c core/nla: Fix leak found by covscan
leaked_storage: Variable "s" going out of scope leaks the storage it points to.
2018-08-22 14:34:02 +02:00
Ondrej Holy
6e0f05cbdb core/nego: Fix leak found by covscan
leaked_storage: Variable "wszPCB" going out of scope leaks the storage it points to.
2018-08-22 14:34:02 +02:00
Ondrej Holy
8f8d91e361 core/listener: Prevent buffer overflow found by covscan
buffer_size_warning: Calling strncpy with a maximum size argument of 108 bytes on destination array "addr.sun_path" of size 108 bytes might leave the destination string unterminated.
2018-08-22 14:34:02 +02:00
Ondrej Holy
23c3c188c9 core/info: Silence false positive warnings from covscan
Change the code a bit to silence false positive warnings from covscan.

pass_freed_arg: Passing freed pointer "wString" as an argument to "Stream_Write".
pass_freed_arg: Passing freed pointer "wString" as an argument to "Stream_Write".
2018-08-22 14:34:02 +02:00
Ondrej Holy
4a7bb18428 core/info: Fix leak found by covscan
leaked_storage: Variable "wString" going out of scope leaks the storage it points to.
2018-08-22 14:34:02 +02:00
Ondrej Holy
83e966d9e2 core/gateway/rpc: Fix leak found by covscan
0 is valid return value from socket().

leaked_storage: Variable "auth_3_pdu" going out of scope leaks the storage it points to.
leaked_storage: Variable "response" going out of scope leaks the storage it points to.
leaked_handle: Handle variable "sockfd" going out of scope leaks the handle.
2018-08-22 14:34:02 +02:00
Ondrej Holy
6de583e137 core/gateway/rpc: Format code by astyle
Run ./scripts/format_code.sh before the following changes.
2018-08-22 14:34:02 +02:00
Ondrej Holy
409e192334 core/gateway/rdg: Fix leak found by covscan
leaked_storage: Variable "request" going out of scope leaks the storage it points to.
leaked_handle: Handle variable "sockfd" going out of scope leaks the handle.
leaked_handle: Handle variable "sockfd" going out of scope leaks the handle.
2018-08-22 14:34:02 +02:00
Ondrej Holy
79d0725a80 codec/planar: Fix leak found by covscan
The patch changes API of functions instead of fixing unused and broken code.

leaked_storage: Returning without freeing "outPlane" leaks the storage that it points to.
2018-08-22 14:34:02 +02:00
Armin Novak
c3a26b0d6a Removed +async-transport options
The async transport option is broken by design.
If used the main loop is called from the transport thread and the
main thread of the application.
Unless the transport layer is refactored to just work on queues
(input and output) this option will never work, therefore remove it.
2018-08-22 13:56:37 +02:00
Ondrej Holy
36960e97a4 codec/nsc: Fix leak found by covscan
leaked_storage: Variable "s" going out of scope leaks the storage it points to.
2018-08-22 13:35:43 +02:00
Ondrej Holy
99c15e5339 cache: Fix wrong condition found by covscan
copy_paste_error: "xorMaskData" in "pointer_color->xorMaskData" looks like a copy-paste error.
2018-08-22 13:35:43 +02:00
Armin Novak
026ff00e7d Fixed #4806 broken bounds check. 2018-08-21 09:08:33 +02:00
Armin Novak
13564dbb41 Allow redirect address override with a list of values. 2018-08-08 12:30:47 +02:00
Armin Novak
cc5e402cda Added command line option /redirect-prefer:<fqdn|ip|netbios>
Since redirection sometimes happens with internal DNS names that
are resolved different by outside DNS it must be possible to override
the preferred redirection hint.
2018-08-08 11:24:13 +02:00
Armin Novak
f6b6eba0ab Try redirection FQDN first, but check if it is resolvable. 2018-08-08 10:25:09 +02:00
Armin Novak
ec0a0fef2a Added const to function buffer pointers 2018-08-01 12:56:18 +02:00
Armin Novak
2a3a66b18b Fixed expression ambiguity 2018-08-01 12:56:18 +02:00
Armin Novak
3a30844db8 Added default return value. 2018-07-31 10:45:04 +02:00
MartinHaimberger
2d7499b7c0
Merge pull request #4758 from akallabeth/dsp_fix
Audio/microphone fixes
2018-07-31 10:22:22 +02:00
Martin Fleisz
143a2b149a
Merge pull request #4755 from akallabeth/dyn_resize_fix
Fixed #4679, #4753 dynamic resizing
2018-07-30 12:28:38 +02:00
Armin Novak
3b187ef321 Code Cleanup 2018-07-19 16:21:03 +02:00
Armin Novak
a984dd7f56 Updated experimental list. 2018-07-19 15:38:44 +02:00
Armin Novak
d40daedb9c Fixed FFMPEG backend: Do not drop samples for package alignment. 2018-07-19 15:17:54 +02:00
Armin Novak
c192c17c8c Fixed mixed declaration. 2018-07-19 12:20:14 +02:00
Martin Fleisz
5a154dccbd
Merge pull request #4754 from akallabeth/expose_cert_redirection_flag
Expose redirection flag for certificate.
2018-07-18 16:32:53 +02:00
Armin Novak
3d6c41746d Expose redirection flag for certificate. 2018-07-18 16:06:20 +02:00
Armin Novak
328eba7fe9 Fix #4752: Provide message free function for channel queue. 2018-07-18 15:31:07 +02:00
Armin Novak
00b073adda Fixed DVI_ADPCM mapping. 2018-07-18 12:33:39 +02:00
Armin Novak
6029a411e2 Fixed ima_adpcm encoder bug. 2018-07-17 12:57:57 +02:00
Armin Novak
7260a4fd8f Fixed override of stream data in dsp_encode methods. 2018-07-17 10:30:35 +02:00
Armin Novak
7a6b8a04b9 Fixed channel reconnect after redirect. 2018-07-13 13:11:38 +02:00
Armin Novak
7ebc899516 Fixed PEM certificate reading. 2018-07-10 15:21:53 +02:00
Armin Novak
f617d0d3c1 Moved automatic reconnect after timeout to freerdp_connect. 2018-07-10 14:09:43 +02:00
Armin Novak
77eb93b4b7 Made internal functions static to help compiler optimize. 2018-07-10 12:21:38 +02:00
Armin Novak
7a39dcd7e2 Updated reconnect to handle cases where PostConnect was not called
freerdp_reconnect might be called after a freerdp_connect failed due
to a TCP timeout waiting for user input.
In such cases we need to know if PostConect was already called and
do that if not.
2018-07-10 12:04:27 +02:00
Armin Novak
c9cebf6ed6 Remember accepted PEM cert to avoid unnecessary user input. 2018-07-10 11:27:58 +02:00
Armin Novak
0d1895e4e7 Fixed async input return value check. 2018-07-09 17:45:50 +02:00
Armin Novak
398da7340b Added no or missing credentail error. 2018-07-05 16:12:52 +02:00
Armin Novak
8f7dbe5051 Fix #4725: Need to copy data. 2018-07-05 08:44:42 +02:00
Martin Fleisz
a0fddd1747
Merge pull request #4530 from akallabeth/order_refactor
[leak fixes] Refactored order updates
2018-07-04 14:21:36 +02:00
Armin Novak
de8be5d505 Fixed indentation. 2018-07-04 13:44:38 +02:00
Armin Novak
35cd438eca Added enum for client connection state. 2018-06-25 09:25:27 +02:00
Armin Novak
e44d10a3e0 Merge remote-tracking branch 'origin/pr/4701' into reconnect_fixes 2018-06-19 12:46:58 +02:00
Armin Novak
273655a850 Follow up fix for #4631
Remember the callback state to avoid calling reerdp_channels_post_connect
before the corresponding client callback has benn called.
This might happen during redirection and reconnection.
2018-06-18 10:44:35 +02:00
Pascal J. Bourguignon
15f2bafeab Cleaned up const char** -> char** for argv, since we definitely do modify the argv!
(we overwrite the password and pin arguments).
This implies changes in the argument parsing tests that now must pass a mutable argv
(copied from the statically declared test argvs).
Some other const inconsistency have been dealt with too.
2018-06-06 16:43:09 +02:00
Armin Novak
2d69e369ba Fixed #4693: Fix integer underflow in encoder loop. 2018-06-04 10:14:29 +02:00
Mike Gilbert
9460f4292b primitives: ensure primitives_get() returns a populated struct
Fixes: https://github.com/FreeRDP/FreeRDP/issues/4658
2018-05-16 17:08:15 -04:00
Martin Fleisz
278fef24a7
Merge pull request #4648 from akallabeth/nsc_free_fix
Fixed #4647: nsc_context_free must not access possibly uninitialized fields
2018-05-15 15:09:49 +02:00
Martin Fleisz
dd408318bf
Merge pull request #4631 from akallabeth/santizer_fixes
Fix #4628: CommandLineFindNextArgumentA must check the current argument
2018-05-15 13:46:57 +02:00
Armin Novak
ae765430e9 Fixed #4647: nsc_context_free must not access possibly uninitialized fields. 2018-05-15 13:41:45 +02:00
Armin Novak
9de99f15d4 Added comment support for known_hosts format. 2018-05-14 12:08:35 +02:00
Armin Novak
e1ea441275 Fixed #4629: Only call freerdp_channels_post_connect when it was connected.
In rdp_client_redirect or rdp_client_reconnect freerdp_channels_post_connect must
be called if the channels were connected previously.
This might not be the case, skip that call then.
2018-05-11 10:49:29 +02:00
Martin Fleisz
9c02f1bd17
Merge pull request #4627 from akallabeth/clang_warning_fixes
Clang warning fixes
2018-05-04 13:07:01 +02:00
Armin Novak
28ac0ee146 Fixed NULL dereferences. 2018-05-04 12:42:44 +02:00
Armin Novak
46a62aa1a4 Fixed missing NULL pointer checks. 2018-05-04 12:35:51 +02:00
Martin Fleisz
65e329782e
Merge pull request #4624 from akallabeth/pth_fix
Fixed /pth: Consistently treat the hash offset to password length.
2018-05-04 11:59:21 +02:00
Armin Novak
069c58a72b Fixed memory leak. 2018-05-04 11:47:05 +02:00
Armin Novak
458e51eae8 Do not set password to identity if pth is used. 2018-05-04 10:40:55 +02:00
Martin Fleisz
99346d19c6
Merge pull request #4611 from akallabeth/argument_warnings
Argument warnings
2018-05-04 10:06:42 +02:00
Armin Novak
b59b0a4425 Added error log messages. 2018-05-04 09:11:41 +02:00
Ashley Davis
ae54f5bded
First person "they" pronouns in logoff message 2018-05-03 12:11:13 -04:00
Armin Novak
5b961e9c75 Fixed /pth: Consistently treat the hash offset to password length. 2018-05-03 17:51:11 +02:00
Armin Novak
d4c98e4e71 Fixed formatting. 2018-05-03 12:30:40 +02:00
Armin Novak
5765e9a422 Fixed #4476: broken casts/variable sizes for custom BIO calls. 2018-05-03 12:30:40 +02:00
David Fort
456b0e8934
Merge pull request #4453 from akallabeth/sound_channel_refactor
Sound channel refactoring
2018-05-03 11:56:58 +02:00
Martin Fleisz
296b19e172
Merge pull request #4596 from p-pautov/rdg_ssl_fixes
RDG related fixes for better compatibility with mstsc
2018-05-03 10:23:12 +02:00
akallabeth
613e0be208
Merge pull request #4614 from kevans91/cmakemod
Abstract away CMake module installation setting, install differently on FreeBSD
2018-05-03 09:49:31 +02:00
akallabeth
2215071b23
Merge pull request #4576 from ccpp/bugfix-rdg-poll
Fix polling in RDG
2018-05-02 17:59:10 +02:00
Kyle Evans
a7c0632bf2 Use SetFreeRDPCMakeInstallDir where CMake modules are installed 2018-05-02 10:36:52 -05:00
Armin Novak
f631958a08 Fixed argument warning. 2018-05-02 13:08:17 +02:00
Martin Fleisz
31c804c349
Merge pull request #4603 from hardening/socksplus
SOCKS5 proxy support
2018-05-02 11:26:13 +02:00
David Fort
0f968b782c proxy: cleanup SOCKS support and add user/password support 2018-05-02 10:51:16 +02:00
Armin Novak
e0af47d26d Fixed rebase introduced error. 2018-05-02 09:56:49 +02:00
Jiri Sasek
1ba31551a6 socks proxy reply fix 2018-05-02 09:43:03 +02:00
Armin Novak
f19a17d3ed Fixed surface bits command cleanup. 2018-05-02 08:54:21 +02:00
Armin Novak
4e66972616 Fixed remaining global order buffers. 2018-05-02 08:54:21 +02:00
Armin Novak
e5767f07ac Refactored order updates
Unified order creation/copy/delete to avoid memory leaks.
2018-05-02 08:54:21 +02:00
Kyle Evans
f8c391876f Pull in the LibreSSL compatibility patches from FreeBSD 2018-05-01 08:43:36 -05:00
Armin Novak
bda925c52d Added libavcodec version check for dsp-ffmpeg component.
Abort compilation with a specific error if the libavcodec module
detected is too old.
2018-04-27 12:27:16 +02:00
David Fort
8cba201999
Merge pull request #4548 from akallabeth/autoreconnect_fix
Autoreconnect fix
2018-04-27 09:39:30 +02:00
David Fort
782039c6aa
Merge pull request #4589 from oshogbo/token
Recognize only the cookie format anything else treat as token.
2018-04-26 11:59:15 +02:00
p-pautov
fda76349b9
Fix Windows build. 2018-04-26 02:11:04 -07:00
Pavel Pautov
a0019ec79c Fallback to RDG RPC transport only if server does not support RDG HTTP and
error out in other cases - invalid RDG SSL cert, bad credentials, PAA failue, etc.
2018-04-25 18:36:43 -07:00
Pavel Pautov
c60388954b Remove some unused functions. 2018-04-25 18:36:16 -07:00
Pavel Pautov
32505fda13 Apply "authentication level" RDP property only to non-RDG connections (as mstsc does). 2018-04-25 18:12:23 -07:00
Pavel Pautov
3a8d721bb9 Don't use CertificateName setting for RDG connections. 2018-04-25 18:12:23 -07:00
Christian Plattner
4a19f49878 Fail on unimplemented BIO_ctrl for /gt:rpc 2018-04-24 20:45:52 +02:00
Christian Plattner
4739189cfc Implement BIO_ctrl more correctly for RDG
See #3602

This change is discussed in https://github.com/FreeRDP/FreeRDP/pull/4576#pullrequestreview-113381733
2018-04-24 16:47:33 +02:00
Christian Plattner
8956898364 Revert useless part of the bugfix
This reverts commit 589d2ec62a.

https://github.com/FreeRDP/FreeRDP/pull/4576#pullrequestreview-113378805
2018-04-24 16:20:42 +02:00
Mariusz Zaborski
6515453886 Recognize only the cookie format anything else treat as token.
If in the RDP file we will set loadbalanceinfo.
Instead of getting the cookie value we will get load balance info.

For example:
0000 03 00 00 2a 25 e0 00 00 00 00 00 74 73 76 3a 2f ...*%......tsv:/
0010 2f 56 4d 52 65 73 6f 75 72 63 65 2e 31 2e 41 48 /VMResource.1.AH
0020 0d 0a 01 00 08 00 0b 00 00 00                   ..........

The MSFT-SDLBTS document don't describe this behavior.

For this reason lets treat the token as anything ended with seqance
CR and CL. To be honest we already did that because in the core/connection.c
file where we are seting the routing_token to the LoadBalanceInfo.
2018-04-24 15:00:00 +02:00
Mariusz Zaborski
b9ddf2046c Fix comments where is cookie and where is token. 2018-04-24 14:34:45 +02:00
Jiri Sasek
b1c1549ad1 SOCKS proxy support 2018-04-23 21:01:01 +02:00
Christian Plattner
a15644365e Fix BIO_get_fd for RDG, again. 2018-04-18 21:50:47 +02:00
Christian Plattner
f9d036a874 Fix #3602 by implementing BIO_get_fd correctly for RDG 2018-04-18 10:47:06 +02:00
Christian Plattner
589d2ec62a Fix timeout for polling (partly fixes #3602) 2018-04-18 10:38:42 +02:00
Pavel Pautov
c866923897 Avoid buffer to struct cast. 2018-04-16 19:06:16 -07:00
Pavel Pautov
8fc0ea7199 Send correct packet size in case of PAA. Some cleanup. 2018-04-16 19:06:16 -07:00
Pavel Pautov
bbee19ced2 Content-Length and Transfer-Encoding are mutually exclusive. 2018-04-16 19:06:16 -07:00
Pavel Pautov
ec42228b2a Consolidate IN/OUT data connections establishment into common function and clean up related code. 2018-04-16 19:06:16 -07:00
Pavel Pautov
00256bba1d Move NTLM auth related code into dedicated functions. 2018-04-16 19:06:16 -07:00
Pavel Pautov
269dec6377 Consolidate rdg_tls_out_connect/rdg_tls_in_connect into single function. This also fixes connections to RDG server via proxy. 2018-04-16 19:06:13 -07:00
Pavel Pautov
e639e2caf3 Removed unused "readEvent" - no one checks if it was set.
Removed needless rdg_check_event_handles declaration.
2018-04-16 16:05:40 -07:00
Pavel Pautov
1530bcf916 Consolidate rdg_send_in_channel_request/rdg_send_out_channel_request into single function. 2018-04-16 16:05:40 -07:00
Pavel Pautov
0fbf8f8957 Explicitly skip "seed" payload on RDG OUT connection, to avoid issues when it's split over several SSL records. 2018-04-16 16:05:40 -07:00
Pavel Pautov
44cb710496 Moved some repeated "read all" code into function. 2018-04-16 16:05:40 -07:00
Armin Novak
1feca7768e Fixed redirection with session brokers.
* Only reconnect channels on redirect, if they have already been connected.
* Prefer TargetNetAddress over FQDN to connect.
2018-04-16 16:46:48 +02:00
Martin Fleisz
855af9e941
Merge pull request #4557 from akallabeth/connect_error_fix
Set connection error if TCP connect fails.
2018-04-12 12:10:56 +02:00
David Fort
14cce798e8
Merge pull request #4544 from oshogbo/nSize
Don't restrict the hostname size.
2018-04-12 11:11:57 +02:00
Martin Fleisz
d1b4b410fc
Merge pull request #4547 from andreesteve/gatewayip
Gateway client (RDG) must connect to same IP/server for both channels
2018-04-12 10:43:34 +02:00
Martin Fleisz
e297a4f0e2
Merge pull request #4563 from oshogbo/pointer
Don't assume that the pointer function are set.
2018-04-11 17:10:48 +02:00
Mariusz Zaborski
0e25335c8f Don't assume that the pointer function are set. 2018-04-11 16:12:39 +02:00
Armin Novak
685f5a8d20 Do not clear last error if not reconnecting. 2018-04-11 10:06:11 +02:00
Armin Novak
2fc31fcb37 Set connection error if TCP connect fails. 2018-04-11 09:09:23 +02:00
Andre Esteve
d240069b5e Gateway (RDG) use same IP for both channels 2018-04-10 20:59:33 -07:00