Armin Novak
da87247d61
Added KeyboardCodePage option
...
Thanks to @byteboon for the hint.
2019-11-07 19:57:07 +01:00
Armin Novak
639174e7d3
Added configurable TcpKeepAliveDelay setting.
2019-11-07 16:07:18 +01:00
Armin Novak
09dd01a78f
Implemented configurable tcp keepalive and timeout detection
2019-11-07 13:03:33 +01:00
Armin Novak
7f21f4ef3d
Added additional tcp keep alive settings.
2019-11-07 12:45:05 +01:00
Armin Novak
7db4f69cb6
Added TcpKeepalive setting, use settings getter const arguments.
2019-11-07 12:39:22 +01:00
Armin Novak
fc4bb71205
Added cast and checks for info packet.
2019-11-07 10:55:27 +01:00
Armin Novak
153639624b
Fixed NULL checks for strnlen calls, limit static channel name length.
...
As reported by @metametaclass in #5687 check the strings for NULL before
using strnlen. Also extend the same checks to static channel loading.
2019-11-07 10:53:55 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Raphaël ZHOU
31962b2fa6
Fix padding of encoded scan-line for XOR mask of pointer.
2019-11-07 10:12:22 +01:00
Armin Novak
75ed12f1f0
Fixed userdata pointer and CHANNEL_EVENT_WRITE_CANCELLED message.
2019-11-06 13:01:43 +01:00
Armin Novak
1bcb799560
Listen to CHANNEL_EVENT_WRITE_CANCELLED and emit if queue is cleared.
2019-11-06 13:01:43 +01:00
Armin Novak
1b78b59926
Fixed #4809 : Properly process CHANNEL_EVENT_WRITE_COMPLETE
2019-11-06 13:01:43 +01:00
Martin Fleisz
5b6663fe3a
Merge pull request #5689 from akallabeth/cleanups
...
Cleanups
2019-11-05 15:28:02 +01:00
Armin Novak
d7877186d6
Fixed strnlen issues.
2019-11-05 14:55:33 +01:00
David Fort
824d09169e
rdp: fix byte and packet counters
...
Best to count bytes directly at the transport level.
2019-11-04 07:39:35 +01:00
David Fort
59d5f888a3
fix typo
2019-11-04 07:39:35 +01:00
Armin Novak
993b79f1bd
Removed strcpy use.
2019-10-29 11:58:43 +01:00
Armin Novak
f01e042211
Code cleanups (strlen, casts, size_t, ...)
2019-10-29 11:58:43 +01:00
Martin Fleisz
c49dc3c67f
Merge pull request #5670 from akallabeth/cairo_detection_fix
...
Fix #5669 : If cairo is detected as part of other dependencies ignore it
2019-10-28 15:18:59 +01:00
Martin Fleisz
7b2a5a6ee8
Merge pull request #5680 from akallabeth/fixes2
...
Some smaller Fixes
2019-10-28 11:54:23 +01:00
Armin Novak
47bea1bc80
wts_read_drdynvc_close_response quit message queue.
2019-10-25 13:25:12 +02:00
Armin Novak
5cdb7b7bea
Fix gdi coordinate clamping.
2019-10-25 12:58:14 +02:00
Armin Novak
d5fed5e998
Fix #5669 : If cairo is detected as part of other dependencies ignore it
...
If WITH_CAIRO=OFF it was still used when the library was detected as
part of some other dependency. With this commit the dependency is
only added if WITH_CAIRO=ON
2019-10-23 16:16:15 +02:00
David Fort
bd5a88e95a
rdp: count in/out bytes and packets
2019-10-23 09:16:35 +02:00
asapelkin
82eadad4a4
Fix some static analizer warnings
2019-10-22 15:39:54 +02:00
Martin Fleisz
5ead938271
Merge pull request #5657 from akallabeth/warning_fixes2
...
Warning fixes2
2019-10-17 17:00:57 +02:00
Martin Fleisz
105527ed37
Merge pull request #5648 from akallabeth/h264_dyn
...
H264 runtime detection
2019-10-17 12:54:43 +02:00
Armin Novak
59b4988f56
Fixed compilation warnings.
2019-10-16 14:54:05 +02:00
Armin Novak
cda41b8d07
Fixed missing initializer
2019-10-16 14:53:42 +02:00
Martin Fleisz
799685cb92
Merge pull request #5646 from akallabeth/realloc_fixes
...
Fixed #5645 : realloc return handling
2019-10-07 10:43:11 +02:00
Armin Novak
441fb4d0ca
Allow freerdp clients to function with WITH_OPENH264_LOADING
...
If no library can be loaded at runtime ignore H264 capabilities.
This allows a build with only OpenH264 support and dynamic loading
enabled to function when no openh264 library was detected.
2019-10-07 09:31:20 +02:00
Martin Fleisz
ade6b1007b
Merge pull request #5644 from akallabeth/nsc_cleanup
...
Cleaned up NSC API
2019-10-07 09:01:26 +02:00
Armin Novak
2f2ca9d93b
Fixed leak in verify_cb.
2019-10-04 16:19:23 +02:00
Armin Novak
9fee4ae076
Fixed #5645 : realloc return handling
2019-10-04 16:19:23 +02:00
Martin Fleisz
a301e08be5
Merge pull request #5639 from akallabeth/error_category
...
Added function to get an error category for better error handling.
2019-10-04 13:32:07 +02:00
Armin Novak
74f01aab15
Removed check for wrong buffer size.
2019-10-04 11:46:14 +02:00
Armin Novak
e09f739b90
Cleaned up NSC API
2019-10-04 10:33:41 +02:00
Armin Novak
4a4890b548
fixed openh264 related issues, thx to mythos from IRC
2019-10-04 10:23:43 +02:00
Armin Novak
8d088387da
Added function to get an error category for better error handling.
2019-10-03 11:19:03 +02:00
Armin Novak
1d4cdd2924
Added missing error codes.
2019-10-02 16:00:37 +02:00
Armin Novak
6100273089
Reset fastpath on disconnect, fixes #5629
2019-10-02 10:21:48 +02:00
Armin Novak
f78c5f5c44
Map gateway errors in freerdp_get_last_error_name
2019-10-01 09:47:26 +02:00
Martin Fleisz
6b8b5bbb0e
Merge pull request #5614 from akallabeth/better_gateway_error
...
Better gateway error reporting
2019-09-24 16:28:17 +02:00
Armin Novak
733cc36462
Setting freerdp_last_error in gateway error response.
2019-09-24 09:42:13 +02:00
Armin Novak
6f9cb89c5d
Better log message for resetting last error state.
2019-09-23 11:22:45 +02:00
akallabeth
4679bb6b53
Fix ##5593: duplicated typedef.
2019-09-22 16:42:31 +02:00
Armin Novak
f25488a7ab
Reset last error state after a hostname was resolved successfully.
2019-09-11 10:43:17 +02:00
Armin Novak
306c557512
Getter for state to string
2019-09-04 15:46:47 +02:00
Martin Fleisz
852907a9ba
common: Fix nullptr checking in settings_set_string function
2019-09-03 13:24:02 +02:00
Martin Fleisz
a5f4783711
Merge pull request #5561 from akallabeth/winmm_play_fix
...
Winmm play fix
2019-09-02 15:23:33 +02:00
Armin Novak
f93d625cde
Use GetTickCount64 instead of GetTickCountPrecise.
2019-09-02 15:46:36 +02:00
Armin Novak
4d4669471e
Added color conversion correctness check to interleaved codec test.
2019-08-26 10:54:43 +02:00
Armin Novak
2778cbce8c
Fixed type of sk_* macro.
2019-08-22 10:40:25 +02:00
Martin Fleisz
645cd3208f
core: Fix handling of PromptForCredentials setting
...
The prompt for credentials setting was incorrectly used in FreeRDP. If
this setting is set to 1 in a rdp file the client should prompt for
credentials even if it has credentials stored for this connection. If
the setting is set to 0 the client should either use the stored
credentials (if present) or ask for username/password otherwise.
This PR changes the old handling (if PromptForCredentials was set to 0
no credential prompting was done) to the desired behavior.
2019-08-20 16:25:08 +02:00
Louis Sautier
60152291b3
client: proxy: allow passing SOCKS5 proxies as env. vars
2019-08-20 14:06:38 +02:00
David Fort
a8fac70432
Merge pull request #5508 from akallabeth/french_kbd_fix
...
Fixed #5496 : Canadian keyboard mapping issue reported by @renaudn1981
2019-08-19 23:38:25 +02:00
kubistika
749c88ab0d
libfreerdp: core: copy redirection info in freerdp_settings_copy
2019-08-14 19:39:34 +02:00
Antenore Gatta
8617ae9ca4
Move FoundCairo module include where is referenced
2019-08-14 18:11:14 +02:00
Armin Novak
b036fd7a7d
Return a proper error if redirection fails.
2019-08-12 12:33:06 +02:00
Armin Novak
e3f3343323
Fixed #5496 : Canadian keyboard mapping issue reported by @renaudn1981
2019-08-01 11:09:57 +02:00
Sergey Bronnikov
10cedac149
Typo: neigter -> neither
2019-07-24 10:22:05 +03:00
kubistika
13fb3ffc39
libfreerdp: core: fix const correctness of freerdp_settings_clone
2019-07-17 16:20:42 +02:00
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