Commit Graph

3115 Commits

Author SHA1 Message Date
anbukart b192171434 Embedded window local fix
Client width and height getting set as 0 when embedded using ParentWindowId setting
2019-02-21 11:03:52 +05:30
Armin Novak 0a95e4aa78 Fixed #5262: Vertical mouse wheel direction and whell step
* Vertical wheel uses the inverted direction of horizontal wheel.
* The wheel step is now calculated from the value provided by wayland.
2019-02-20 08:56:36 +01:00
Armin Novak aacf5bddc4 Updated rail channel, supporting all new messages. 2019-02-19 15:04:11 +01:00
Armin Novak 2a06366de3 Added autoreconnect for wayland. 2019-02-19 14:12:25 +01:00
David Fort f0e9c95f44
Merge pull request #5248 from akallabeth/naming_fixes
Replace hard coded xfreerdp program name
2019-02-13 18:45:17 +01:00
Armin Novak 2d4f53ed41 Fixed #5234: Added timer invalidate on application willresignactive 2019-02-12 11:23:56 +01:00
Armin Novak e758e848a2 Replaced hardcoded xfreerdp program name 2019-02-12 10:58:37 +01:00
Armin Novak 92dfa34619 Replaced hardcoded xfreerdp program name 2019-02-12 10:58:36 +01:00
Mathew Winters dc5efab715 Resolve Gfx mode missing surface updates from cache. 2019-02-12 14:27:11 +13:00
Armin Novak fe6296a25f Added support for /smart-sizing:<width>x<height> syntax in wayland client. 2019-02-08 12:49:32 +01:00
Armin Novak f06b31358f Fixed duplicate log tag definition in wayland client. 2019-02-08 12:11:15 +01:00
Armin Novak cc050f1413 Fixed conversion range checks and cast for use with cairo 2019-02-08 12:08:30 +01:00
Armin Novak bb755f1944 Removed unused variables. 2019-02-08 12:08:30 +01:00
Armin Novak 4a3f4ad340 Fixed color format for wayland mouse pointer. 2019-02-08 12:08:30 +01:00
Armin Novak 7413370783 Added mouse pointer scaling. 2019-02-08 12:08:30 +01:00
Armin Novak 8d6a6df48a Implements #5215: Smart sizing using libcairo 2019-02-08 12:08:30 +01:00
Armin Novak 81d7e62642 Fixed broken checks in X11 event (RAIL mode) 2019-02-08 10:46:26 +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
Ilya Shipitsin fb002574c3 client/common/cmdline.c: remove redundant check
found by cppcheck

[client/common/cmdline.c:390] -> [client/common/cmdline.c:399]: (warning) Identical inner 'if' condition is always true.
2019-02-02 10:22:19 +05:00
Ilya Shipitsin d1939cfc4f client/Wayland/wlf_cliprdr.c: resolve possible null pointer dereference
found by cppcheck

[client/Wayland/wlf_cliprdr.c:143] -> [client/Wayland/wlf_cliprdr.c:158]: (warning) Either the condition 'clipboard' is redundant or there is possible null pointer dereference: clipboard.
[client/Wayland/wlf_cliprdr.c:163] -> [client/Wayland/wlf_cliprdr.c:178]: (warning) Either the condition 'clipboard' is redundant or there is possible null pointer dereference: clipboard.
2019-02-01 03:50:51 +05:00
David Fort 85161c718f
Merge pull request #5223 from akallabeth/scanbuild_null_fixes
Scanbuild null fixes
2019-01-30 18:22:45 +01:00
Bernhard Miklautz acebd43acf
Merge pull request #5147 from jphein/master
Clarified defaults of /floatbar flag
2019-01-30 16:26:41 +01:00
Armin Novak 2dab778101 Fixed NULL dereferences and uninitialized values 2019-01-30 16:11:10 +01:00
Armin Novak 87c7ddeda6 Asserting arg->Value to silence clang analyzer NULL argument checks. 2019-01-29 17:24:29 +01:00
Armin Novak 6a1ff5c485 Fixed compiler warnings #5210 2019-01-29 16:22:46 +01:00
Armin Novak 5c930dc4aa Fixed compiler warnings #5210 2019-01-29 16:15:33 +01:00
David Fort 72ad4af356
Merge pull request #5221 from akallabeth/wayland_mouse_cursor
Added wayland mouse cursor
2019-01-29 15:11:38 +01:00
akallabeth 0a8ebcfcac
Merge pull request #5187 from astrand/mingw-part1
Mingw build fixes part1
2019-01-29 10:46:21 +01:00
Armin Novak 2418c43cac Fixed pointer image update. 2019-01-29 09:34:30 +01:00
Armin Novak 23fa6b9182 Added mouse cursor callback stubs. 2019-01-29 09:34:30 +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
akallabeth 7d226ca596
Merge pull request #5218 from ckelsel/master
May crash if GetCommandLineW failed
2019-01-25 12:19:56 +01:00
David Fort 343bc8c6e4
Merge pull request #5213 from akallabeth/wayland_and_warning_fixes
Wayland and warning fixes
2019-01-25 11:42:38 +01:00
xie.kunming b8c64b6bf3 May crash if GetCommandLineW failed 2019-01-25 17:54:25 +08:00
Armin Novak 823411c2f3 Fixed wayland buffer updates
The wayland buffer size always matches the current window size.
That might be different from the actual remote framebuffer size,
to when copying always use the correct strides to avoid distorted
screen content.
2019-01-25 10:49:03 +01:00
akallabeth 8ed0b92928
Merge pull request #5216 from ckelsel/master
change SetTimer elapse from 10 to USER_TIMER_MINIMUM
2019-01-25 10:01:30 +01:00
xie.kunming 84493d0039 If uElapse is less than USER_TIMER_MINIMUM (0x0000000A), the timeout is set to USER_TIMER_MINIMUM. 2019-01-25 16:45:52 +08:00
Armin Novak 86e20d7647 Removed buffer damage tracking in client, let UWAC handle that. 2019-01-24 12:44:21 +01:00
Armin Novak 0cf898e722 Fixed warnings found by compiler and static analysis. 2019-01-24 11:53:52 +01:00
Armin Novak 728cdfd689 Fixed warnings found by compiler and static analysis. 2019-01-24 11:53:52 +01:00
Armin Novak 087390b303 Refactored client clipboard function callbacks for const data pointers. 2019-01-23 16:55:13 +01:00
Armin Novak 891d9760dc Ignore clipboard events if channel not loaded. 2019-01-23 16:01:36 +01:00
Armin Novak d5b3558402 Added log messages for unusual error events. 2019-01-23 15:56:11 +01:00
Armin Novak 9cdddb7722 Fixed some log messages / missing asserts. 2019-01-23 15:56:11 +01:00
Armin Novak 1cec0e0346 Fixed NULL dereference. 2019-01-23 15:56:11 +01:00
Armin Novak ca2e8e4bc2 Implemented wayland clipboard. 2019-01-23 15:56:11 +01:00
David Fort 2843f1ad60
Merge pull request #5159 from akallabeth/wayland_display
Implemented wayland display resize channel.
2019-01-23 15:41:42 +01:00
David Fort 4c465e7f16
Merge pull request #5209 from akallabeth/wayland_protocol_update_and_keyboard_inhibit
Wayland protocol update and keyboard inhibit support
2019-01-23 10:02:07 +01:00
Armin Novak 97dfa07578 Fixed duplicated check. 2019-01-22 17:27:17 +01:00
Armin Novak 42ad7a8846 Implemented wayland display resize channel. 2019-01-22 17:27:17 +01:00
Armin Novak 81f1fb934c Implemented keyboard shortcut inhibit support. 2019-01-22 14:27:12 +01:00
Armin Novak 5ef6b71974 Implemented DesktopResize callback for wayland client. 2019-01-22 10:29:08 +01:00
Armin Novak 0b17406eec Unified buffer update and screen refresh on focus 2019-01-18 14:38:51 +01:00
Armin Novak 4f99c2946f Unified mouse coordinate scaling. 2019-01-17 13:44:04 +01:00
Armin Novak 864ad5e681 Ignore unknown keywords for windows and posix type detection.
Eliminates wrong detection in case of an unknown keyword used.
2019-01-16 14:32:19 +01:00
Armin Novak fc9e88d64f Added flag to silence command line parser logging during detection. 2019-01-16 14:32:19 +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 a3cfef4e07 Implemented full mouse support for mac client. 2019-01-10 11:30:36 +01:00
Peter Åstrand (astrand) 6619de070a freerdp_client_set_window_size should not be static
Avoid GCC error, since it is not static according to wf_client.h.
2019-01-09 09:54:31 +01:00
Peter Åstrand (astrand) fcf59b9c4f Add msimg32 library through CMake
MinGW does not support libs through #pragma comments.
2019-01-09 09:52:27 +01:00
Peter Åstrand (astrand) 30cd1ba1ab Use lowercase for includes and libs
Makes build possible on case sensitive systems such as MinGW on Linux.
2019-01-09 09:36:28 +01:00
Ilya Shipitsin 4403448a77 client/Windows/wf_cliprdr.c: remove redundant check
found by cppcheck

[client/Windows/wf_cliprdr.c:2556] -> [client/Windows/wf_cliprdr.c:2561]: (warning) Identical condition '!clipboard', second condition is always false
2019-01-07 22:55:08 +05: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
Armin Novak b2ef3e69ca Fixed Wayland horizontal mouse wheel direction. 2019-01-07 10:02:04 +01:00
Armin Novak 2dcc2614d4 Fixed X11 horizontal mouse wheel direction. 2019-01-07 10:01:46 +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
kunming.xie 3ef6dd2f7c fix button_set_locked no return statement 2018-12-24 14:52:59 +08:00
Armin Novak 1984f73db8 Implemented horizontal mouse wheel for wayland. 2018-12-18 13:49:13 +01:00
Armin Novak f647e5cc3f Implemented mouse buttons 4 and 5 for wayland. 2018-12-18 13:49:08 +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
Jeffrey Hein d316e7fa1e
Clarified defaults of /floatbar flag 2018-12-13 14:02:38 -08:00
Jeffrey Hein 1e84f00ef8
Added help description for /drive:hotplug,* 2018-12-12 11:29:58 -08:00
Armin Novak 717b0eac9e Enable smooth fonts by default. 2018-12-11 13:02:26 +01:00
Bernhard Miklautz 6f6c8473a1
Merge pull request #5126 from akallabeth/x11_button_mapping
X11 extended button remapping support.
2018-12-11 08:53:39 +00:00
Armin Novak 0fa9f06565 Modified flag checks to avoid invalid flag sets. 2018-12-11 09:34:07 +01:00
Martin Fleisz 29e2e2221d
Merge pull request #5083 from akallabeth/mac_client_fixes
Mac client fixes
2018-12-11 09:19:46 +01:00
Bernhard Miklautz b3ff75b594 fix [client/Mac]: UI API needs to be called in main thread
With recent SDKs the view won't update it the UI API is called
from a different thread.
2018-12-11 08:33:14 +01:00
Armin Novak 2ce04069cb Fixed crashes in rail mode after merge of floatbar fixes. 2018-12-10 15:41:20 +01:00
Armin Novak 7102927548 X11 extended button remapping support.
Up until now X11 mouse button remapping was only possible for the
default buttons 1 to 3.
With this pull any X11 mouse button can be mapped to any RDP mouse
event and all X11 remappings are respected.
2018-12-10 15:03:29 +01:00
Martin Fleisz b82c4f779a
Merge pull request #5020 from akallabeth/floatbar_fixes
Floatbar fixes and windows support
2018-12-10 14:45:10 +01:00
Armin Novak 15011b478d Fixed variable hiding by not redeclaring it in subscope. 2018-12-10 14:31:38 +01:00
Armin Novak 0d3192b9f7 Fixed rail window key hash function to work with UINT32 2018-12-10 11:16:43 +01:00
akallabeth 2927114e7b
Merge pull request #5117 from hardening/rail_hash
rails: allow a window with id == 0
2018-12-10 10:26:52 +01:00
David Fort 88e361fa00 rails: allow a window with id == 0 2018-12-08 00:32:00 +01:00
Armin Novak 9166df355b Fixed windows floatbar title. 2018-12-07 15:50:24 +01:00
Armin Novak 4fd8987f5d Unified windows client window title settings. 2018-12-07 15:22:28 +01:00
Armin Novak 594d10620e Fixed #5040: Unified xfreerdp window title setting. 2018-12-07 15:22:28 +01:00
Armin Novak 6a9fa3dcbd Refactored floatbar, extended command line settings. 2018-12-07 15:22:28 +01:00
Don Caton 68c34d5ab0 Windows client: Suppress minimize and restore buttons in float bar when toggle-fullscreen is false, added window title to float bar, improved overall appearance with gradients, shadow and transparent icons.
# Conflicts:
#	client/Windows/wf_client.c
#	client/Windows/wf_event.c
#	client/Windows/wf_floatbar.c
2018-12-07 15:22:28 +01:00
Armin Novak 5343f6931d Fixed monitor width and height checks. 2018-12-07 15:22:28 +01:00
Armin Novak 56156d217e Floatbar self contained. 2018-12-07 15:22:28 +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
Martin Fleisz d0688f058b
Merge pull request #5102 from akallabeth/rail_cleanups
Cleaned up xf_rail_server_handshake
2018-12-07 11:28:22 +01:00
Armin Novak ace9bfffdb Moved to extended certificate verification API 2018-12-06 10:17:05 +01:00
Armin Novak ec8cc65a1c Fixed compile issue 2018-12-06 10:17:05 +01:00
Armin Novak 730b6f02c4 Fixed glitches with certificate dialog. 2018-12-06 10:17:05 +01:00
Armin Novak ec34657ff1 Added certificate dialog. 2018-12-06 10:17:05 +01:00
Armin Novak 4dd6e75779 Added client callbacks. 2018-12-06 10:17:05 +01:00
Armin Novak c8938c357a Updated mac build. 2018-12-06 10:17:05 +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 f5e449a4f8 Cleaned up xf_rail_server_handshake 2018-12-05 09:13:04 +01:00
akallabeth 1b4ee6594e
Merge pull request #5100 from wintersandroid/master
Add jni interface for get_last_error_string
2018-12-05 08:58:08 +01:00
David Fort 46ffa611cc
Merge pull request #5097 from hualet/master
Fixed RAIL window can't show again once hidden
2018-12-04 22:42:25 +01:00
Mathew Winters bd7ff9b10f Add jni interface for get_last_error_string 2018-12-05 07:56:05 +13:00
Armin Novak 0c13c3199e Follow up to #4959: Lock gdi_UpdateSurfaces like xf_UpdateSurfaces 2018-12-04 16:56:22 +01:00
Armin Novak d260d4e29e Fixed #5098: Abort connection and let the application clean up resources before exit. 2018-12-04 16:42:28 +01:00
David Fort a1c2033226
Merge pull request #5094 from akallabeth/suppress_output_setting
Make "suppress output" setting available on command line
2018-12-04 14:38:11 +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
Hualet Wang e33efccf48 Fixed RAIL window can't show again once hidden
The cause is very simple: we didn't map the xwindow on receiving
WINDOW_SHOW. but doing that causes another problem that you can't
hide a window anymore, and that is because whlie window hiding, the
_NET_WM_STATE and WM_STATE properies of the xwindow may change, in
the function `xf_event_PropertyNotify` we just assume that windows
not maximized, not minimized, yet not showing normally should be
corrected to be shown, we just need to consider the situation that
the window is hidden here.

fix: #5078
2018-12-04 20:37:37 +08: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 1398fa5b27 Fixed missing NULL check for thread handle. 2018-12-04 09:34:22 +01:00
Armin Novak c5512de269 Fix #4999: Increase reference count 2018-12-04 09:34:22 +01:00
Alessandro Muggianu 9b1c9da6a2 Make "suppress output" setting available on command line 2018-12-04 09:31:30 +01:00
Armin Novak edd6d49f23 Fix #4909: Do not initialize HOME environment variable as it is no longer used.
GetKnownPath does not require this environment variable to be
available for windows builds.
2018-11-29 13:44:21 +01: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 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
Martin Fleisz 394bc62869
Merge pull request #5035 from akallabeth/better_cmdline_format
Improved formatting of terminal help messages.
2018-11-23 10:03:56 +01:00
Martin Fleisz 9684a06f87
Merge pull request #5053 from akallabeth/sample_client_update
Fix #5052: Updated client sample
2018-11-23 09:48:08 +01:00
Armin Novak e6e87eb3b3 Unified strto[u]l in cmdline.c
To clean up code all integer conversions are now done by
a helper function with proper checks in place.
2018-11-22 16:28:30 +01:00
Armin Novak 2f8737d973 Improved formatting of terminal help messages. 2018-11-22 15:56:37 +01:00
David Fort 8d62ced6a4
Merge pull request #5056 from akallabeth/direct_fb_remove
Removed DirectFB client as it is unmaintained
2018-11-22 15:50:52 +01:00
Armin Novak fff22f027b Removed DirectFB client as it is unmaintained
DirectFB support was in search of a maintainer for ages and
no longer compiles.
Since nobody stepped up get rid of this unused code once and for all.
2018-11-22 14:40:19 +01:00
Armin Novak a471fc5939 Spelling fix in log message.
Integrate spelling fix from debian patch from
Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
2018-11-22 12:06:30 +01:00
Armin Novak f79eeb7446 Fixed NULL access checks. 2018-11-22 11:19:12 +01:00
Armin Novak c8908c8be6 Updated windows shadow server assistance usage. 2018-11-22 11:11:31 +01:00
Armin Novak a531930f36 Disable NLA for remote assistance. 2018-11-22 11:11:31 +01:00
Armin Novak 6de2129a90 assistance v2 support 2018-11-22 11:11:31 +01:00
Armin Novak 6ab3d3e8fc Fix #5052: Updated client sample 2018-11-22 10:38:26 +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
akallabeth 1cc739f10e
Merge pull request #5039 from mcsong/master
Fixed recreate activity issue with bluetooth devices.
2018-11-21 11:49:45 +01:00
mcsong 34e8b92714 Fixed recreate activity issue when a bluetooth device connected or disconnected 2018-11-20 13:11:14 -08:00
mcsong 1d7fd201b1 Fixed recreate activity issue when a bluetooth device connected or disconnected. 2018-11-20 12:57:07 -08:00
akallabeth 3cea4bfb55
Merge pull request #5008 from wintersandroid/master
Android library build script fixes, and Android thread lock on remote disconnect.
2018-11-20 12:14:28 +01:00
Bernhard Miklautz 58091dc138 new: development cycle dev5 2018-11-20 11:49:34 +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
Martin Fleisz 38091fc34e
Merge pull request #5030 from akallabeth/pointer_cache_optional
Fix #4864: Register pointer cache after PostConnect is called
2018-11-20 10:53:40 +01: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
mcsong d7ab198a68 added korean translation 2018-11-19 14:38:48 -08:00
akallabeth b6eca4fc54 signed gdi regions to adjust negative coordinates 2018-11-19 12:52:43 +01:00
Mathew Winters eceb107ddd
Revert store password variable 2018-11-19 08:27:36 +13:00
ileGITimo d5dd983bcd call xf_SetWindowTitle before XMapWindow, so window manager can act on window name 2018-11-17 06:32:52 -08: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
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
Mathew Winters 0e88eb5a91 Fixes as per merge request 2018-11-15 08:29:51 +13:00
akallabeth 268a2c0cf8
Merge pull request #4979 from hardening/CAL
license: support CAL license
2018-11-14 13:45:31 +01:00
Armin Novak 43e17c9755 Fixed color conversion, log level and buffer types 2018-11-14 11:57:57 +01:00
ilammy 9292b2231f xfreerdp: set _NET_WM_ICON to RAIL app icon
Icons on X11 windows are configured using the _NET_WM_ICON property
described in Extended Window Manager Hints. Here we implement converison
from DIB bitmaps used by RAIL to the format expected by _NET_WM_ICON,
and actually set the icon for RAIL app windows.

Both DIB format and _NET_WM_ICON (or rather, Xlib) are weird. Let's
start with RAIL's format. That's the one used in BMP and ICO formats
on Windows. It has some strange properties but thankfully FreeRDP's
freerdp_image_copy() can handle most of them for us. (With an exception
of monochrome and 16-color formats that it does not support. Sorry, but
I'm too lazy to fix them. They are not seem to be used by any real
application either.) The one thing that it can't do is to apply the
alpha transparency bitmask so we have to do it manually. This instantly
reminds us that DIB format has HISTORY: it's vertically flipped and
each must be padded to 4 bytes. Both these quirks having reasonable
(for a certain definition of 'reason') explanations. Such is life.
(Also, 8-bit images require a color palette which we must fill in.)

So okay, now comes _NET_WM_ICON. It is more sane (or rather, easier to
deal with). The bitmap is represented with a tiny [width, height] header
followed by an array of pixels in ARGB format. There is no padding, no
weird color formats. But here's a catch: you can't simply take the
output of freerdp_image_copy() and cast to (unsigned char*) of colors.
We have to allocate an array of C's longs and copy the pixels there,
because that's what Xlib expects (and this is mentioned in the spec).
Simply casting an array of bytes causes crashes on 64-bit systems.
So don't try to cheat or "optimize" and read the docs, kids.

Note that XFlush() call after XChangeProperty(). It's there because it
seems to helps see the icon quicker with Unity on Ubuntu 14.04. I don't
know why. (And Unity does not support _NET_WM_ICON officially. But it
sorta kinda works sometimes.)

Oh, and while we're here, delete some old, unused, and commented out
code that was setting window icons in the past. It's not needed anymore.
2018-11-14 10:53:45 +01:00
ilammy 8163b6d1ce xfreerdp: add RAIL icon cache
This commit adds a cache for RAIL application icons. It is (surpisingly)
used to cache icons for remote applications. This mechanism is described
in MS-RDPERP 3.1.1.2 Icon Cache Support and related items.

Note that some (actually, most) of the icons are not cached. These are
marked with CacheId == 0xFF. In order to keep the code clean we do not
introduce a special case and instead use a 'scratch' icon and simply
pretend to return an xfRailIcon from cache.

We're going to set icons via _NET_WM_ICON property which explains
why we use "long" values to store pixel data. The icon conversion
is not implemented in this commit, it's only stubs.

However, we do implement processing of window information orders that
contain new icons or cached references to previously sent icons. Note
that it is important to not fail (i.e., to not return FALSE) if we
cannot find a window for the icon by its ID. The server occasionally
likes to be slow or something and send icon updates for nonexistent
windows. This behavior is mandated by the spec, too:

    MS-RDPERP 3.2.5.1.6 Processing Window Information Orders

    Upon receipt of a Window Information Order for an icon or
    cached icon, as specified in sections 2.2.1.3.1.2.2 and
    2.2.1.3.1.2.3, the client SHOULD locate the local RAIL window
    that corresponds to the WindowId reported in the Hdr field
    and apply the icon updates to the RAIL window. If no such
    window can be found, the client SHOULD ignore the order.

Indeed, we silently ignore such orders now.
2018-11-14 10:53:45 +01:00
Mathew Winters f91a4d0b6e Resolve thread not exiting when remote lost or disconnected. 2018-11-14 15:25:38 +13: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
Armin Novak 738aa56233 Fixed #4995: Don't forget to send the NULL of the clipboard string. 2018-11-12 08:40:54 +01:00
Mathew 2ff19597dc fix scripts to build with ndk r15c,
cache dependancies so we are not hitting github often
update android dependancies to latest and compile.
./android-build-freerdp.sh --ndk ~/Programming/android-ndk-r15c --relWithDebug --jpeg
Still an error compiling openh264
2018-11-09 15:20:52 +13:00
Bernhard Miklautz 8be6ec9720 fix [cmdline]: parameter parsing
use strtoul instead of strtol
2018-11-08 11:13:57 +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 9633e4576d Fixed signedness of MoniorCount 2018-10-25 14:08:20 +02:00
Armin Novak 02f68c35b9 Fixed -Wextra sign warnings 2018-10-24 13:25:31 +02:00
Bernhard Miklautz 0e9b26c1d2
Merge pull request #4796 from akallabeth/groegera_fixes
Update X11-modifier key state on focus_in
2018-10-22 12:50:21 +00:00
Bernhard Miklautz 9b353202a5 fix [x11]: compiler warnings in floatbar
client/X11/xf_floatbar.c:530:27: warning: use of logical '&&' with constant
      operand [-Wconstant-logical-operand]
        if (event->xmotion.state && Button1Mask && mode > XF_FLOATBAR_MODE_DRAGGING)
                                 ^  ~~~~~~~~~~~
client/X11/xf_floatbar.c:534:32: warning: use of logical '&&' with constant
      operand [-Wconstant-logical-operand]
        else if (event->xmotion.state && Button1Mask && mode == XF_FLOATBAR_MODE_DRAGGING)
                                      ^  ~~~~~~~~~~~
clang 8.0.0-svn344413-1~exp1+0~20181012203207.819~1.gbpc91f27
2018-10-19 11:33:28 +02:00
akallabeth 3d0ccb3f5d
Merge pull request #4946 from mmattes/fix/floatbar_app_check_missing
added missing check for remote app where no floatbar exists
2018-10-18 16:40:22 +02:00
Markus Mattes a235b44f61 added missing check for remote app where no floatbar exists 2018-10-18 15:33:01 +02:00
Armin Novak 88d310ff2c Fixed compiler warnings (casts, ...) 2018-10-18 09:09:30 +02:00
akallabeth 305f5d1bd5
Merge pull request #4600 from andreesteve/xfullscreen
X11: Fix fullscreen toggle
2018-10-17 17:27:29 +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
akallabeth e54af8efa0
Merge pull request #4927 from akallabeth/cmdline_fixes
Fixed command line setting of flags, unified string replace
2018-10-17 12:19:03 +02:00
Armin Novak 7b860ce96a Add command line option /relax-order-checks 2018-10-17 12:16:58 +02:00
akallabeth 5778bf102b
Merge pull request #4891 from akallabeth/rail_fixes
Rail fixes #4846 and a crash
2018-10-17 11:32:56 +02:00
Armin Novak 10cc319973 Announce glyph orders if glyph cache is activated. 2018-10-17 10:47:23 +02:00
Armin Novak ca3fb26230 Deactivated unimplemented orders. 2018-10-15 15:22:50 +02:00
Armin Novak f88ed950d3 Fixed various issues with primary orders. 2018-10-15 14:30:58 +02:00
Armin Novak 9729590870 Fixed command line setting of flags, unified string replace 2018-10-15 12:04:33 +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
akallabeth 4e71af6772
Merge pull request #4906 from FeLvi-zzz/japanese-patch
Japanese patch #4905
2018-10-02 15:46:17 +02:00
FeLvi_zzz 751cfde864 remove untranslatable strings in Japanese translation 2018-10-02 21:53:55 +09:00
FeLvi_zzz 6d36707ec4 fixed typo in Japanese translation 2018-10-02 21:47:08 +09:00
Armin Novak 00489ae75b Reworked checks in xf_disp.c 2018-10-02 12:33:52 +02:00
FeLvi_zzz 2564a6a2d2 modified Japanese translation #4905 2018-10-02 18:36:58 +09:00
FeLvi_zzz 7a44e179cf
added Japanese translation 2018-10-02 18:00:29 +09:00
Armin Novak f332779982 Fixed floatbar X11 leak. 2018-10-01 10:50:47 +02:00
Armin Novak 046d2296a0 Fixed floatbar X11 leak. 2018-10-01 10:49:30 +02:00
Armin Novak a5b689b35d Readded override redirect but reset on focus loss. 2018-09-26 12:38:16 +02:00
Armin Novak 316eed1fbf Menus are no longer popup windows but dropdown menus. 2018-09-26 12:38:16 +02:00
Armin Novak fa7902c362 Fixed argument check for floatbar events. 2018-09-26 10:14:51 +02:00
David Fort d0612151f9
Merge pull request #4874 from r-barnett/fix-MonitorLocalShift
MonitorLocalShiftX,Y should be set when 1st monitor from MonitorIds s…
2018-09-26 10:02:49 +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
akallabeth 0b8a66188c
Merge pull request #4865 from mmattes/feature/floatbar
Feature/floatbar for X11
2018-09-25 16:34:20 +02:00
Armin Novak 8357f61818 Fixed load/unload for display channel. 2018-09-24 16:44:25 +02:00
Armin Novak 51f97f2d3e Fixed #3423: Process xevents when in reconnect mode.
Fixed crashes due to unloaded disp channel in reconnect mode.
2018-09-24 16:24:32 +02:00
Armin Novak 13478c7445 Skip empty server format response. 2018-09-24 12:47:46 +02:00
Armin Novak 228e63d619 Free RDP_KEYBOARD_LAYOUT with freerdp_keyboard_layouts_free 2018-09-24 12:47:32 +02:00
Armin Novak 897c0c72a7 Unified auto_reconnect functions for all clients. 2018-09-24 10:31:43 +02:00
rbarnett 41664572a5 MonitorLocalShiftX,Y should be set when 1st monitor from MonitorIds selected as primary 2018-09-21 13:40:48 -05: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
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 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
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