David Fort [Wed, 14 Jun 2017 14:14:19 +0000 (16:14 +0200)]
Fix variable declaration and win32 compilation
David Fort [Wed, 14 Jun 2017 14:04:54 +0000 (16:04 +0200)]
Split h264 subsystems in different files
David Fort [Wed, 14 Jun 2017 09:12:03 +0000 (11:12 +0200)]
Merge pull request #4003 from akallabeth/macos_mouse_wheel_shadow
Fixed shadow server mouse wheel mapping on MacOS
Armin Novak [Tue, 13 Jun 2017 12:18:11 +0000 (14:18 +0200)]
Fixed shadow server mouse wheel mapping on MacOS
David Fort [Sat, 10 Jun 2017 11:59:42 +0000 (13:59 +0200)]
Merge pull request #3989 from akallabeth/avc444_alignment_fix
Align width and height for AVC444 decoding to 16.
Martin Fleisz [Fri, 9 Jun 2017 11:33:07 +0000 (13:33 +0200)]
Merge pull request #3996 from akallabeth/drive_size_fix
Fix #3995: File size information
Armin Novak [Fri, 9 Jun 2017 11:02:50 +0000 (13:02 +0200)]
Fix #3995: File size information
David Fort [Wed, 7 Jun 2017 19:20:34 +0000 (21:20 +0200)]
Merge pull request #3905 from ilammy/x11-cliprdr/file-clipping
Local-to-remote file clipping for xfreerdp
ilammy [Thu, 1 Jun 2017 13:05:07 +0000 (16:05 +0300)]
channels/cliprdr: avoid possible integer overflow
If the server sends us garbage (or the client provides it) then it is
possible for the multiplication to overflow (as it is performed on
unsigned 32-bit values) which will result in a false positive failure of
the sanity check. Avoid it by rearranging arithmetics a little.
Keep the multiplication in the error message because we are interested
in the number of bytes in the stream and how it compares to the number
we have expected based on the presumed file count.
Armin Novak [Thu, 1 Jun 2017 11:01:23 +0000 (13:01 +0200)]
Align width and height for AVC444 decoding to 16.
David Fort [Thu, 1 Jun 2017 08:06:42 +0000 (10:06 +0200)]
Merge pull request #3987 from chipitsine/cppcheck
resolve an issue found by cppcheck
Ilya Shipitsin [Wed, 31 May 2017 19:05:51 +0000 (00:05 +0500)]
resolve an issue found by cppcheck:
[libfreerdp/crypto/certificate.c:315] -> [libfreerdp/crypto/certificate.c:316]: (warning) Either the condition 'if(fingerprint&&fprint)' is redundant or there is possible null pointer dereference: fingerprint.
David Fort [Wed, 31 May 2017 14:48:12 +0000 (16:48 +0200)]
Merge pull request #3969 from chipitsine/cppcheck
resolve issue found by cppcheck
David Fort [Wed, 31 May 2017 10:02:31 +0000 (12:02 +0200)]
Merge pull request #3986 from akallabeth/debug_fix
Fixed missing external declaration (#3982)
Armin Novak [Wed, 31 May 2017 09:31:36 +0000 (11:31 +0200)]
Fixed missing external declaration (#3982)
akallabeth [Wed, 31 May 2017 09:34:52 +0000 (11:34 +0200)]
Merge pull request #3985 from ilammy/x11-cliprdr/fix-html
Do not fixup HTML data length
Ilya Shipitsin [Wed, 31 May 2017 09:32:59 +0000 (14:32 +0500)]
resolve an issue found by cppcheck:
[channels/tsmf/client/tsmf_main.c:89] -> [channels/tsmf/client/tsmf_main.c:95]: (warning) Either the condition '!callback' is redundant or there is possible null pointer dereference: callback.
ilammy [Sun, 28 May 2017 21:10:16 +0000 (00:10 +0300)]
client/X11: do not fixup HTML data length
The data provided by local applications can be actually encoded in
UTF-16 (e.g., Firefox does this to HTML). UTF-16 allows embedded null
bytes so we should not use strlen() to fix up the data. The HTML format
synthesizer can handle trailing null bytes just fine and can detect
whether it deals with UTF-8 or UTF-16.
akallabeth [Tue, 30 May 2017 07:20:30 +0000 (09:20 +0200)]
Merge pull request #3980 from uplusplus/patch-5
fixed issue:#3974
joy.you [Sat, 27 May 2017 08:10:41 +0000 (16:10 +0800)]
fixed issue:#3974
ConvertToUnicode failed
ilammy [Wed, 24 May 2017 20:19:39 +0000 (23:19 +0300)]
winpr/file: add missing NULL check
ValidFileNameComponent() has been missing a NULL check for its argument.
It's pretty obvious that NULL is not a valid file name component.
ilammy [Wed, 24 May 2017 20:14:31 +0000 (23:14 +0300)]
wClipboard: drop WITH_DEBUG_WCLIPBOARD option
This preprocessor definition has been initially intended to disable some
computationally expensive logging, however it turned out that there is
not much computation involved in the resulting implementation of new
wClipboard subsystems. Therefore we do not actually need the compilation
option, the logs can be filtered by "com.winpr.wclipboard.*" tag at
runtime if necessary. So drop the WITH_DEBUG_WCLIPBOARD CMake option and
convert all detailed logs to use WLOG_TRACE level via WLog_VRB macro.
ilammy [Wed, 24 May 2017 20:05:42 +0000 (23:05 +0300)]
x11/cliprdr: make callbacks static
Most of the functions is this file are internal-use callbacks so they do
not need to be exported from the compilation unit. Mark functions static
as appropriate.
David Fort [Mon, 22 May 2017 09:12:05 +0000 (11:12 +0200)]
Merge pull request #3906 from akallabeth/addin_cast_fix
Addin cast fix
David Fort [Mon, 22 May 2017 09:10:03 +0000 (11:10 +0200)]
Merge pull request #3963 from akallabeth/qoe_ack
Added client RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU
David Fort [Mon, 22 May 2017 09:08:32 +0000 (11:08 +0200)]
Merge pull request #3967 from akallabeth/sec_encrypt_fix
SEC_ENCRYPT check in rdp_client_connect_auto_detect
David Fort [Mon, 22 May 2017 09:08:10 +0000 (11:08 +0200)]
Merge pull request #3965 from akallabeth/drive_fixes_unicode
Drive fixes unicode
David Fort [Mon, 22 May 2017 09:07:21 +0000 (11:07 +0200)]
Merge pull request #3966 from davewheel/ntlm_getHash
Add a callback to provide NTLM hashes on server-side
davewheel [Mon, 15 May 2017 16:52:39 +0000 (18:52 +0200)]
Add a callback to provide NTLM hashes on server-side
Adds a callback that allows servers to compute NTLM hashes by themselves. The typical
use of this callback is to provide a function that gives precomputed hash values.
Sponsored by: Wheel Systems (http://www.wheelsystems.com)
Armin Novak [Thu, 18 May 2017 12:05:41 +0000 (14:05 +0200)]
Added setting for QoeAck.
Armin Novak [Wed, 17 May 2017 08:27:25 +0000 (10:27 +0200)]
Added client RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU
Martin Fleisz [Thu, 18 May 2017 07:49:36 +0000 (09:49 +0200)]
Merge pull request #3964 from akallabeth/update_reset_state_fix
Update reset state fix
Armin Novak [Thu, 18 May 2017 07:43:02 +0000 (09:43 +0200)]
Fixed path length check.
Armin Novak [Wed, 17 May 2017 14:43:16 +0000 (16:43 +0200)]
Fix #3962: Remove trailing slashes from path.
Armin Novak [Wed, 17 May 2017 14:17:16 +0000 (16:17 +0200)]
Use unicode constants for WCHAR
Armin Novak [Wed, 17 May 2017 13:58:44 +0000 (15:58 +0200)]
Fixed missing state reset.
Armin Novak [Wed, 17 May 2017 13:58:32 +0000 (15:58 +0200)]
Fixed missing argument checks.
Martin Fleisz [Tue, 16 May 2017 07:37:49 +0000 (09:37 +0200)]
Merge pull request #3957 from akallabeth/gfx_use_logger_instance
Use a preallocated logger instance for GFX
Armin Novak [Mon, 15 May 2017 15:24:47 +0000 (17:24 +0200)]
Use a preallocated logger instance for GFX
The static logger functions of WLog have quite a heavy performance
penalty. Use a pointer to an allocated logger to speed things up.
David Fort [Mon, 15 May 2017 11:56:07 +0000 (13:56 +0200)]
Merge pull request #3942 from akallabeth/shift_warn_fix
Fixed right shift on 32bit platforms.
Armin Novak [Mon, 15 May 2017 11:10:10 +0000 (13:10 +0200)]
SEC_ENCRYPT check in rdp_client_connect_auto_detect
Fix by @wizwizaco for #3951
akallabeth [Mon, 15 May 2017 09:54:57 +0000 (11:54 +0200)]
Merge pull request #3953 from hardening/kill_warnings
Drop some annoying warning
David Fort [Fri, 12 May 2017 09:11:41 +0000 (11:11 +0200)]
Drop some annoying warning
Probably that some unused functions should be removed, but at least it makes
it compile with no warnings.
David Fort [Fri, 12 May 2017 08:23:08 +0000 (10:23 +0200)]
Merge pull request #3952 from akallabeth/set_keyboard_ime
Added support for Set Keyboard IME Status
akallabeth [Fri, 12 May 2017 07:51:17 +0000 (09:51 +0200)]
Merge pull request #3950 from hypherion2/cp_fixes
Fix handle leaks in encomsp and remdesk server
Armin Novak [Fri, 12 May 2017 07:43:58 +0000 (09:43 +0200)]
Added support for Set Keyboard IME Status
Adrian A [Thu, 11 May 2017 20:21:47 +0000 (13:21 -0700)]
Fix handle leaks in encomsp and remdesk server
Ensure proper thread cleanup when these channel servers are stopped.
Martin Fleisz [Thu, 11 May 2017 11:59:00 +0000 (13:59 +0200)]
Merge pull request #3949 from akallabeth/gdi_surface_crash_fix
Check arguments for Bitmap_SetSurface
David Fort [Thu, 11 May 2017 11:49:06 +0000 (13:49 +0200)]
Merge pull request #3948 from hypherion2/master
Remove library prefix override for rdpei-server
Armin Novak [Thu, 11 May 2017 11:34:37 +0000 (13:34 +0200)]
Check arguments for Bitmap_SetSurface
The function may be called during connection phase
where there is no valid GDI available.
David Fort [Wed, 10 May 2017 19:22:18 +0000 (21:22 +0200)]
Merge pull request #3947 from akallabeth/openh264_fixes
Openh264 fixes
Adrian A [Wed, 10 May 2017 16:56:37 +0000 (09:56 -0700)]
Remove library prefix override for rdpei-server
This library was missed in commit
059374457d801351d02ac81badb4aabbfa7689e7, so it was the only one that
stilll had a lib prefix
Armin Novak [Wed, 10 May 2017 12:37:03 +0000 (14:37 +0200)]
Added 64bit file support flag for linux.
Armin Novak [Wed, 10 May 2017 10:36:08 +0000 (12:36 +0200)]
Initialize H264 context size for GFX surfaces.
Armin Novak [Wed, 10 May 2017 10:35:20 +0000 (12:35 +0200)]
Added pkg-config to cmake OpenH264 detection.
akallabeth [Tue, 9 May 2017 09:16:12 +0000 (11:16 +0200)]
Merge pull request #3937 from hardening/h264_multimon
Fix h264 in multimon scenario
Bernhard Miklautz [Tue, 9 May 2017 07:42:20 +0000 (09:42 +0200)]
Merge pull request #3931 from hypherion2/master
Remove unused buffer in Mac shadow subsystem
akallabeth [Mon, 8 May 2017 14:28:58 +0000 (16:28 +0200)]
Merge pull request #3943 from chipitsine/cppcheck
resolve an issue identified by cppcheck:
akallabeth [Mon, 8 May 2017 08:17:27 +0000 (10:17 +0200)]
Merge pull request #3941 from mfleisz/fix_openh264_mt
codec: Fix multi-threading support for OpenH264 1.6 or later
Ilya Shipitsin [Fri, 5 May 2017 19:05:59 +0000 (00:05 +0500)]
resolve an issue identified by cppcheck:
[channels/urbdrc/client/libusb/libusb_udevice.c:1666] -> [channels/urbdrc/client/libusb/libusb_udevice.c:1661]: (warning) Either the condition 'request' is redundant or there is possible null pointer dereference: request.
Martin Fleisz [Fri, 5 May 2017 10:37:27 +0000 (12:37 +0200)]
codec: Fix multi-threading support for OpenH264 1.6 or later
Martin Fleisz [Thu, 4 May 2017 08:53:50 +0000 (10:53 +0200)]
Merge pull request #3924 from akallabeth/gfx_surface_area_update_callback
Added a GFX area update callback.
Armin Novak [Thu, 4 May 2017 07:20:10 +0000 (09:20 +0200)]
Fixed right shift on 32bit platforms.
akallabeth [Wed, 3 May 2017 13:39:40 +0000 (15:39 +0200)]
Merge pull request #3930 from realjiangms/fix_shadow_thread_leak
server/shadow: close the thread handle so that it is detached becauseā¦
Armin Novak [Tue, 25 Apr 2017 11:58:23 +0000 (13:58 +0200)]
Added missing callbacks.
Bernhard Miklautz [Wed, 3 May 2017 07:28:18 +0000 (09:28 +0200)]
Merge pull request #3938 from chipitsine/cppcheck
resolve an issue identified by cppcheck:
Armin Novak [Wed, 19 Apr 2017 12:43:06 +0000 (14:43 +0200)]
Fixed use after free of region.
Armin Novak [Wed, 19 Apr 2017 11:00:26 +0000 (13:00 +0200)]
Added a GFX area update callback.
Ilya Shipitsin [Tue, 2 May 2017 20:32:44 +0000 (01:32 +0500)]
resolve an issue identified by cppcheck:
[server/shadow/X11/x11_shadow.c:386] -> [server/shadow/X11/x11_shadow.c:390]: (warning) Either the condition '!subsystem' is redundant or there is possible null pointer dereference: subsystem.
[server/shadow/X11/x11_shadow.c:387] -> [server/shadow/X11/x11_shadow.c:390]: (warning) Either the condition '!subsystem' is redundant or there is possible null pointer dereference: subsystem.
David Fort [Tue, 2 May 2017 16:39:03 +0000 (18:39 +0200)]
Fixed progressive code style and added error handling
David Fort [Mon, 1 May 2017 20:39:52 +0000 (22:39 +0200)]
Fix H264 in multi monitor case
The H264 context is surface specific, so in multi-monitor (with multiple surfaces)
the decoding was failing. This patch fixes that by introducing a surface specific
h264 context.
Martin Fleisz [Tue, 2 May 2017 14:10:34 +0000 (16:10 +0200)]
Merge pull request #3932 from chipitsine/cppcheck
resolve issues identified by cppcheck
David Fort [Tue, 2 May 2017 14:02:21 +0000 (16:02 +0200)]
Merge pull request #3911 from akallabeth/avc444_v2
Added AVC444v2 client support.
Bernhard Miklautz [Tue, 2 May 2017 11:03:37 +0000 (13:03 +0200)]
Merge pull request #3934 from ilammy/x11-cliprdr/rail-support
Teach RAIL to use clipboard redirection
Ilya Shipitsin [Mon, 1 May 2017 11:40:02 +0000 (16:40 +0500)]
resolve issues identified by cppcheck
[channels/drive/client/drive_file.c:125]: (error) Memory leak: path_slash
[server/Windows/wf_dxgi.c:195]: (error) Invalid number of character '(' when these macros are defined: 'WITH_DXGI_1_2'.
ilammy [Thu, 18 Aug 2016 18:14:52 +0000 (21:14 +0300)]
client/X11: teach RAIL to use clipboard redirection
XSelection protocol does not define any global clipboard as there is on
Windows. Instead each window has its own property for clipboard content
(like CLIPBOARD or PRIMARY) and there is a global notion of clipboard
ownership. Only one window can claim ownership of some clipboard type
at the moment.
FreeRDP uses CLIPBOARD for clipboard transfers (it's the one used by
applications when Ctrl+V is pressed). For regular desktop sessions the
session window itself is used for clipboard interactions via
xfc->drawable field. However, for remote app session there is no session
window. We cannot use the current remote app window as it may change or
be destroyed without closing the session. We also cannot use the root
window as it is already used for CF_RAW transfer protocol.
Therefore we create a simple dummy window to put into xfc->drawable for
this exact job: to act as a clipboard vessel on behalf of the entire
remote app session.
xf_create_window() usually creates the window as we immediately start in
RAIL mode when possible. xf_rail_enable_remoteapp_mode() is invoked only
when autologin failed or remote desktop had to show the session window
to the user for some reason.
Adrian A [Fri, 28 Apr 2017 22:24:59 +0000 (15:24 -0700)]
Remove unused buffer which leaks
The buffer is not used in the code.
Martin Fleisz [Thu, 27 Apr 2017 14:45:18 +0000 (16:45 +0200)]
Merge pull request #3925 from akallabeth/avc_mf_decoder_fix
Fixed MF H264 buffer allocation.
David Fort [Thu, 27 Apr 2017 12:11:51 +0000 (14:11 +0200)]
Merge pull request #3919 from akallabeth/rdpdr_hotplug_fix
Fixed hotplug mount locations.
Armin Novak [Thu, 27 Apr 2017 06:58:01 +0000 (08:58 +0200)]
Fixed FindFirstFileA, do not strip trailing slash
Bernhard Miklautz [Thu, 27 Apr 2017 06:55:39 +0000 (08:55 +0200)]
Merge pull request #3927 from DavBfr/fix-win-printer
Bugfix: wrong test regarding the first GetPrinter
Armin Novak [Thu, 27 Apr 2017 06:31:53 +0000 (08:31 +0200)]
Fixed memory corruption in Find*FileW
David PHAM-VAN [Tue, 25 Apr 2017 18:50:28 +0000 (11:50 -0700)]
Bugfix: wrong test regarding the first GetPrinter. This first call will always return FALSE because the goal of this call is to know the size needed.
akallabeth [Tue, 25 Apr 2017 08:30:42 +0000 (10:30 +0200)]
Merge pull request #3926 from ShaunMaher/master
WS_EX_NOACTIVATE treated as unmanaged
Shaun Maher [Sat, 22 Apr 2017 08:44:37 +0000 (18:44 +1000)]
WS_EX_NOACTIVATE treated as unmanaged\nWindows that carry the WS_EX_NOACTIVATE are treated the same as WS_EX_TOOLWINDOW in that they should not be handled as normal windows by the X window manager. The prevents an issue with MS Outlook 2013 (and probably other applications) where attempting to resize the vertical columns causes some sort of WS_EX_NOACTIVATE window to be created which steals focus and aborts the resizing action.
ilammy [Fri, 21 Apr 2017 11:13:52 +0000 (14:13 +0300)]
winpr: fix field names of FILEDESCRIPTOR struct
The file name field is actually called cFileName on Windows. Use this
name in WinPR's struct definition as well for compatibility.
ilammy [Thu, 20 Apr 2017 21:44:46 +0000 (00:44 +0300)]
winpr: include Windows headers in <winpr/shell.h>
This header file (currently) provides definitions of FILEDESCRIPTOR
structure and GetUserProfileDirectory() function. However, it does so
only when included on non-Windows platforms. The code which includes it
fails to build on Windows because the definitions are absent and it
causes weird compilation errors (like FILEDESCRIPTOR being treated as
the name of a function argument).
Inculde <shlobj.h> to get FILEDESCRIPTOR and <userenv.h> for the
GetUserProfileDirectory() function. (And hope that this will not
pull more Windows headers than we need in the files which include
<winpr/shell.h>.)
Armin Novak [Thu, 20 Apr 2017 10:02:04 +0000 (12:02 +0200)]
Fixed MF H264 buffer allocation.
David Fort [Wed, 19 Apr 2017 07:23:14 +0000 (09:23 +0200)]
Merge pull request #3923 from rjcorrig/kb4015193
winpr: Updates time zone data to April 2017
Armin Novak [Wed, 19 Apr 2017 06:28:00 +0000 (08:28 +0200)]
Fix #3922: Use stat insead of lstat
Armin Novak [Wed, 19 Apr 2017 06:27:22 +0000 (08:27 +0200)]
Cleaned up includes.
Robert Corrigan [Tue, 18 Apr 2017 20:15:13 +0000 (16:15 -0400)]
Update timezone data to Apr 2017
Armin Novak [Tue, 18 Apr 2017 13:08:44 +0000 (15:08 +0200)]
Fixed AVC444v2 NEON chroma decoder.
Armin Novak [Tue, 18 Apr 2017 13:03:38 +0000 (15:03 +0200)]
Fixed SSE AVC444v2 chroma decoder.
Armin Novak [Tue, 18 Apr 2017 12:12:40 +0000 (14:12 +0200)]
Added surface width and heigth for YUV combine.
Armin Novak [Tue, 18 Apr 2017 07:13:35 +0000 (09:13 +0200)]
Add legacy mount locations, limited max depth.
Armin Novak [Thu, 13 Apr 2017 14:20:01 +0000 (16:20 +0200)]
Fixed WCHAR/CHAR conversion for drive path.
Armin Novak [Thu, 13 Apr 2017 13:55:17 +0000 (15:55 +0200)]
Fixed hotplug mount locations.
Armin Novak [Thu, 13 Apr 2017 11:09:16 +0000 (13:09 +0200)]
Added SSE AVC444v2
Armin Novak [Wed, 12 Apr 2017 12:37:37 +0000 (14:37 +0200)]
Fixed AVC444 NEON, added AVC444v2.