Raul Fernandes [Thu, 24 Oct 2019 16:35:24 +0000 (13:35 -0300)]
Optimize function xcrush_copy_bytes()
Use memcpy to copy the bytes when we can assure that the memory areas does not overlap.
When the areas overlap, copy the area that doesn't overlap repeatly.
With this change, the copy is ~30x faster.
Zhu Qun-Ying [Sat, 25 Apr 2020 14:07:12 +0000 (07:07 -0700)]
possible memory leak when various functions return failure. (#6110)
* possible memory leak when allocation failed.
* Use initialization in stead of ZeroMemory
* Format with clang-format
Zhu Qun-Ying [Thu, 23 Apr 2020 22:01:58 +0000 (15:01 -0700)]
use WINPR_MD5_DIGEST_LENGTH in stead of magic number for hash array
Zhu Qun-Ying [Wed, 22 Apr 2020 23:04:33 +0000 (16:04 -0700)]
Use NTOWFv2FromHashW() in NTOWFv2W() to avoid duplicate code
Allan Nordhøy [Thu, 16 Apr 2020 20:20:21 +0000 (20:20 +0000)]
Spelling fixes for iOS strings
akallabeth [Tue, 21 Apr 2020 07:06:39 +0000 (09:06 +0200)]
Fixed #6099: Add a flag for legacy hash entries
If a legacy entry is found in certificate hash store print
additional information to the user informing about the change
with FreeRDP 2.0
akallabeth [Wed, 22 Apr 2020 10:08:54 +0000 (12:08 +0200)]
Refactored pointer and/xor data copying
Using unified function upate_pointer_copy_andxor to copy now.
akallabeth [Wed, 22 Apr 2020 09:23:14 +0000 (11:23 +0200)]
Refactored freerdp_image_copy_from_pointer_data
Split monochrome and color pointer handling to separate functions.
akallabeth [Wed, 22 Apr 2020 10:09:37 +0000 (12:09 +0200)]
Fixed #6101: POINTER_LARGE_UPDATE serialization
The length check and field sizes in _update_read_pointer_large
were off, corrected according to [MS-RDPBCGR] 2.2.9.1.2.1.11
Fast-Path Large Pointer Update (TS_FP_LARGEPOINTERATTRIBUTE)
akallabeth [Wed, 22 Apr 2020 09:05:45 +0000 (11:05 +0200)]
Fix initialization of LargePointer flags
Capability exchange is first reading server capabilities,
mask these with local settings and send only what both support.
akallabeth [Wed, 22 Apr 2020 08:54:05 +0000 (10:54 +0200)]
Fixed [MS-RDPBCGR] 2.2.9.1.1.4.4 Color Pointer Update
The pointer size is limited to 32 pixel in width and height
unless LARGE_POINTER_FLAG_96x96 is set which increases the size
to 96 pixel.
David Fort [Fri, 17 Apr 2020 21:29:29 +0000 (23:29 +0200)]
uwac, wlfreerdp: corrected API for UwacOutput and added monitor listing
Alex Wilson [Mon, 20 Apr 2020 11:42:02 +0000 (21:42 +1000)]
SCardReadCache/SCardWriteCache should actually cache data
Currently since the hash/keyCompare/keyClone members on the
context->cache were never being set, we were using the
HashTable_Pointer* variants, meaning that lookup always
failed (since we never ask for the same *pointer* twice).
This also revealed that the logic for autoallocate on these ops
was a bit backwards, and some error codes and support for the
"freshness" counter were missing.
In Win10 (at least with some card minidrivers) the freshness
counter is load-bearing and smartcard login won't work without
implementing a very basic version of it.
akallabeth [Mon, 20 Apr 2020 16:59:33 +0000 (18:59 +0200)]
Removed casts in udevman_parse_device_id_addr
Lukas Fink [Sun, 19 Apr 2020 01:01:32 +0000 (03:01 +0200)]
Refactored parsing of usb dev: command line option
Refactored urbdrc_udevman_register_devices with its helper functions,
because the old implementation was a bit quirky. Removed a unsafe
strcpy, that led to a buffer overflow when given misonstructed command
line options. Doing something like "/usb:id,dev:1234:1234##abcd:abcd"
won't work anymore, too.
akallabeth [Thu, 16 Apr 2020 06:21:23 +0000 (08:21 +0200)]
Fix #6085: Java string comparison should prefer equals
Raul Fernandes [Sat, 11 Apr 2020 00:35:39 +0000 (21:35 -0300)]
Cache the calculated color
In desktop area, the next color has high odds to be the same of previous color.
If we cache the value, it can be reused by the next pixel avoiding recalculation.
This optimization can halve the function's processing.
Martin Haimberger [Wed, 15 Apr 2020 10:06:41 +0000 (12:06 +0200)]
removed unnecessary casts, use sizeof for debug printing
Martin Haimberger [Wed, 15 Apr 2020 09:43:45 +0000 (11:43 +0200)]
fix: server side ntlmv2 implementation
- in the case no mic was present, but the user was found,
the enterd password was ignored and the user authenticated
akallabeth [Tue, 14 Apr 2020 16:58:55 +0000 (18:58 +0200)]
Fixi #6086: smartcard filter early abort.
Do not abort before incrementing read position.
akallabeth [Tue, 14 Apr 2020 15:25:37 +0000 (17:25 +0200)]
Moved PROGRESSIVE_BLOCK_REGION to heap.
Allan Nordhøy [Tue, 14 Apr 2020 11:36:54 +0000 (11:36 +0000)]
Language fixes for aFreeRDP
Allan Nordhøy [Tue, 14 Apr 2020 11:34:56 +0000 (11:34 +0000)]
Add Norwegian Bokmål translation
Julian Albrecht [Tue, 14 Apr 2020 09:47:42 +0000 (11:47 +0200)]
Adds the title options to wlfreerdp
Armin Novak [Mon, 13 Apr 2020 07:41:55 +0000 (09:41 +0200)]
Fixed #6067: Better CMake warning for deactivated image scaling
Armin Novak [Mon, 13 Apr 2020 07:38:36 +0000 (09:38 +0200)]
Fix #6066, #6045: Disable spincount by default.
Armin Novak [Sat, 11 Apr 2020 07:43:14 +0000 (09:43 +0200)]
Fixed data type warnings
Armin Novak [Sat, 11 Apr 2020 07:42:28 +0000 (09:42 +0200)]
Fixed format string warnings.
Armin Novak [Sat, 11 Apr 2020 07:41:08 +0000 (09:41 +0200)]
Fixed cups httpConnectEncrypt deprecation warning.
Nathan Loewen [Thu, 9 Apr 2020 15:13:19 +0000 (10:13 -0500)]
Make use of percent scale if available when calculating monitor sizes
jacobopantoja [Fri, 10 Apr 2020 22:11:23 +0000 (00:11 +0200)]
Restrict USBDK to Windows builds
This commit restricts
ebdaea6f3b5e410b9a3380368d6023c52bed67cc to just Win32 builds
akallabeth [Fri, 10 Apr 2020 16:48:17 +0000 (18:48 +0200)]
Made xf_OutputExpose non blocking.
In case xf_OutputExpose is called with GFX or async-update a race
condition occured in combination with dynamic-resolution.
To prevent the deadlock update the screen on a best effort basis.
David Fort [Tue, 14 Apr 2020 12:09:09 +0000 (14:09 +0200)]
Merge pull request #6052 from akallabeth/stable_backport
tls: support non-RSA keys
Linus Heckemann [Fri, 10 Apr 2020 13:06:47 +0000 (15:06 +0200)]
tls: support non-RSA keys
David Fort [Fri, 10 Apr 2020 13:37:15 +0000 (15:37 +0200)]
Merge pull request #6048 from akallabeth/subsystem_entry_fix
Subsystem entry fix
Fabrice Fontaine [Fri, 10 Apr 2020 06:49:22 +0000 (08:49 +0200)]
src/libuwac/uwac-os.c: fix build with uclibc
O_TMPFILE is used since version 2.0.0 and
https://github.com/FreeRDP/FreeRDP/commit/
52ef8079eae74dfe89e6779c873101843b8cc42b
However, this will result in the following build failure on uclibc or
uclibc-ng:
/home/fabrice/buildroot/output/build/freerdp-2.0.0/uwac/libuwac/uwac-os.c:228:18: error: ‘O_TMPFILE’ undeclared (first use in this function); did you mean ‘EMFILE’?
fd = open(path, O_TMPFILE | O_RDWR | O_EXCL, 0600);
^~~~~~~~~
EMFILE
To fix this build failure, define O_TMPFILE if needed
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
David Fort [Fri, 10 Apr 2020 12:41:08 +0000 (14:41 +0200)]
Merge pull request #6040 from akallabeth/2.1-devel-cycle
Started 2.1 development cycle.
akallabeth [Fri, 10 Apr 2020 12:16:19 +0000 (14:16 +0200)]
Fixed URBDRC DEVICE_ADD_FLAG definitions
akallabeth [Fri, 10 Apr 2020 12:11:15 +0000 (14:11 +0200)]
Fixed return type for subsystem entry
akallabeth [Fri, 10 Apr 2020 05:40:04 +0000 (07:40 +0200)]
Started 2.1 development cycle.
Bernhard Miklautz [Thu, 9 Apr 2020 15:07:10 +0000 (17:07 +0200)]
new: update ChangeLog and set version to 2.0.0
akallabeth [Tue, 7 Apr 2020 06:51:55 +0000 (08:51 +0200)]
Fixed URBDRC parsing error reported in #6024.
akallabeth [Tue, 7 Apr 2020 06:28:11 +0000 (08:28 +0200)]
Check for int overflow in gdi_InvalidateRegion
akallabeth [Mon, 6 Apr 2020 13:09:03 +0000 (15:09 +0200)]
Allow icon info with empty bitmap data.
akallabeth [Mon, 6 Apr 2020 13:08:25 +0000 (15:08 +0200)]
Abort order read on invalid element count.
akallabeth [Thu, 2 Apr 2020 08:50:16 +0000 (10:50 +0200)]
Fixed possible NULL access.
akallabeth [Tue, 31 Mar 2020 15:17:35 +0000 (17:17 +0200)]
Refactored gdi region
* Added a unit test
* Fixed const correctness of function arguments
* Added return values for all functions
akallabeth [Tue, 31 Mar 2020 12:19:49 +0000 (14:19 +0200)]
Proper error return from gdi_rect_str and gdi_regn_str
akallabeth [Tue, 31 Mar 2020 06:31:24 +0000 (08:31 +0200)]
Refactored order stream manipulation
* Use stream seek instead of setting pointer directly
* Add log messages in case of inconsistencies
* Fixed missing stream advance in update_decompress_brush
akallabeth [Mon, 30 Mar 2020 16:18:12 +0000 (18:18 +0200)]
Fixed CVE-2020-11521: Out of bounds write in planar codec.
Thanks to Sunglin and HuanGMz from Knownsec 404
akallabeth [Mon, 30 Mar 2020 16:14:18 +0000 (18:14 +0200)]
Fixed CVE-2020-11522: Limit number of DELTA_RECT to 45.
Thanks to Sunglin and HuanGMz from Knownsec 404
akallabeth [Mon, 30 Mar 2020 16:05:17 +0000 (18:05 +0200)]
Fix CVE-2020-11524: out of bounds access in interleaved
Thanks to Sunglin and HuanGMz from Knownsec 404
akallabeth [Mon, 30 Mar 2020 15:57:11 +0000 (17:57 +0200)]
Added debug logging and claping to all region functions
akallabeth [Mon, 30 Mar 2020 15:32:04 +0000 (17:32 +0200)]
Fix CVE-2020-11523: clamp invalid rectangles to size 0
Thanks to Sunglin and HuanGMz from Knownsec 404
akallabeth [Mon, 30 Mar 2020 15:22:34 +0000 (17:22 +0200)]
Fixed #6012: CVE-2020-11526: Out of bounds read in update_recv_orders
Thanks to @hac425xxx and Sunglin and HuanGMz from Knownsec 404
akallabeth [Mon, 30 Mar 2020 15:13:51 +0000 (17:13 +0200)]
Fixed CVE-2020-11525: Out of bounds read in bitmap_cache_new
Thanks to Sunglin and HuanGMz from Knownsec 404
Martin Fleisz [Thu, 9 Apr 2020 12:37:39 +0000 (14:37 +0200)]
Merge pull request #6034 from akallabeth/addrinfo
Fix #6033: freeaddrinfo must not be called with NULL arguments.
akallabeth [Thu, 9 Apr 2020 12:26:46 +0000 (14:26 +0200)]
Fix #6033: freeaddrinfo must not be called with NULL arguments.
akallabeth [Thu, 9 Apr 2020 10:52:07 +0000 (12:52 +0200)]
Enforce coding style.
Julian Albrecht [Tue, 7 Apr 2020 15:59:12 +0000 (17:59 +0200)]
Moves variable declaration to beginning of scope
Julian Christian Albrecht [Tue, 7 Apr 2020 08:28:21 +0000 (10:28 +0200)]
Check return value if already a listener is registered
Alex Wilson [Wed, 8 Apr 2020 11:03:02 +0000 (21:03 +1000)]
Always copy null terminator when filtering smartcard list
akallabeth [Thu, 9 Apr 2020 06:51:34 +0000 (08:51 +0200)]
Allow old openssl name in android client.
akallabeth [Thu, 9 Apr 2020 06:17:46 +0000 (08:17 +0200)]
Fixed cmake formatting
akallabeth [Wed, 8 Apr 2020 14:58:19 +0000 (16:58 +0200)]
Use cmake from NDK
akallabeth [Wed, 8 Apr 2020 14:52:51 +0000 (16:52 +0200)]
Used default openssl library names.
akallabeth [Wed, 8 Apr 2020 10:37:36 +0000 (12:37 +0200)]
Updated android build scripts for ci.
Norbert Federa [Mon, 6 Apr 2020 11:53:28 +0000 (13:53 +0200)]
Merge pull request #6019 from akallabeth/bound_access_fixes
Fix issues with boundary access.
akallabeth [Mon, 6 Apr 2020 11:01:20 +0000 (13:01 +0200)]
Export remaining packet length from rdp_read_share_control_header
akallabeth [Mon, 6 Apr 2020 09:58:48 +0000 (11:58 +0200)]
Fixed substream read in rdp_recv_tpkt_pdu
akallabeth [Mon, 6 Apr 2020 09:22:18 +0000 (11:22 +0200)]
Fixed rdp_recv_tpkt_pdu parsing, use substream.
akallabeth [Mon, 6 Apr 2020 08:42:06 +0000 (10:42 +0200)]
Fixed incorrect parser error message.
akallabeth [Fri, 3 Apr 2020 13:10:49 +0000 (15:10 +0200)]
Better error message for partial parsed capability
Norbert Federa [Fri, 3 Apr 2020 12:04:12 +0000 (14:04 +0200)]
server: fix surface command types
- Legacy RemoteFX is encapsulated in a "Stream Surface Bits Command" (CMDTYPE_STREAM_SURFACE_BITS)
- NSCodec is encapsulated in a "Set Surface Bits Command" (CMDTYPE_SET_SURFACE_BITS)
References:
- MS-RDPRFX 3.1.8.3.1 RemoteFX Stream / Encode Message Sequencing
- MS-RDPNSC 2.2.2 NSCodec Compressed Bitmap Stream
Norbert Federa [Fri, 3 Apr 2020 10:41:29 +0000 (12:41 +0200)]
Merge pull request #5982 from akallabeth/surface_stream_set_bits
Fix sending/receiving surface bits command.
akallabeth [Thu, 2 Apr 2020 10:13:45 +0000 (12:13 +0200)]
Added fallback to CMDTYPE_STREAM_SURFACE_BITS
Since our samples were incorrect, add a fallback with a log warnings
to the old CMDTYPE_STREAM_SURFACE_BITS by default behaviour.
akallabeth [Thu, 19 Mar 2020 08:04:59 +0000 (09:04 +0100)]
Fix sending/receiving surface bits command.
* Pass on proper command type to application
* On send let the server implementation decide to send
2.2.9.2.1 Set Surface Bits Command (TS_SURFCMD_SET_SURF_BITS) or
2.2.9.2.2 Stream Surface Bits Command (TS_SURFCMD_STREAM_SURF_BITS)
Thanks to @viniciusjarina for tracing the issue down.
akallabeth [Wed, 1 Apr 2020 07:52:47 +0000 (09:52 +0200)]
Fixed invalid seek size in patrial pdu parse case
akallabeth [Wed, 1 Apr 2020 08:01:49 +0000 (10:01 +0200)]
Use safe seek for capability parsing
thanks to @hardening for pointing that one out.
akallabeth [Wed, 1 Apr 2020 07:56:13 +0000 (09:56 +0200)]
Use substreams to parse gcc_read_server_data_blocks
akallabeth [Tue, 31 Mar 2020 07:06:05 +0000 (09:06 +0200)]
Fix #6010: Check length in read_icon_info
akallabeth [Tue, 31 Mar 2020 12:36:40 +0000 (14:36 +0200)]
Fixed #6013: Check new length is > 0
akallabeth [Tue, 31 Mar 2020 12:32:01 +0000 (14:32 +0200)]
Fixed #6011: Bounds check in rdp_read_font_capability_set
akallabeth [Tue, 31 Mar 2020 07:23:42 +0000 (09:23 +0200)]
Fixed #6005: Bounds checks in update_read_bitmap_data
akallabeth [Tue, 31 Mar 2020 07:21:43 +0000 (09:21 +0200)]
Fixed #6006: bounds checks in update_read_synchronize
akallabeth [Tue, 31 Mar 2020 07:19:17 +0000 (09:19 +0200)]
Fixed #6009: Bounds checks in autodetect_recv_bandwidth_measure_results
akallabeth [Tue, 31 Mar 2020 07:14:55 +0000 (09:14 +0200)]
Fixed #6007: Boundary checks in rdp_read_flow_control_pdu
akallabeth [Thu, 2 Apr 2020 08:33:44 +0000 (10:33 +0200)]
Fixed possible NULL dereference
Martin Fleisz [Thu, 2 Apr 2020 06:41:47 +0000 (08:41 +0200)]
Merge pull request #5974 from akallabeth/cmd_avc420_fix
Cmd avc420 fix
Martin Fleisz [Tue, 31 Mar 2020 06:34:04 +0000 (08:34 +0200)]
Merge pull request #5884 from akallabeth/smartcard_ndr_strict
Smartcard tighter input validation
akallabeth [Mon, 30 Mar 2020 09:07:47 +0000 (11:07 +0200)]
Added missing context and handle read.
Armin Novak [Fri, 27 Mar 2020 17:23:33 +0000 (18:23 +0100)]
Pack smartcard channel structs to 1 byte alignment
akallabeth [Fri, 27 Mar 2020 14:03:59 +0000 (15:03 +0100)]
Removed a few magic numbers.
akallabeth [Fri, 27 Mar 2020 13:49:09 +0000 (14:49 +0100)]
Fixed typos, make status comparisons explicit.
akallabeth [Fri, 27 Mar 2020 08:08:32 +0000 (09:08 +0100)]
Formatted patch.
Julian Albrecht [Wed, 25 Mar 2020 15:52:30 +0000 (16:52 +0100)]
Adds touch support to wlfreerdp
LatinSuD [Thu, 26 Mar 2020 17:50:44 +0000 (18:50 +0100)]
Free clipboard respond to fix bug
Fixes #5997 (clipboard stops responding in the middle of a session)
Martin Fleisz [Thu, 26 Mar 2020 08:55:46 +0000 (09:55 +0100)]
Merge pull request #5985 from akallabeth/log_version_debug
Added buildconfig output to debug log level.
akallabeth [Tue, 17 Mar 2020 10:18:54 +0000 (11:18 +0100)]
Treat NULL and empty string as the same for credentials.
Martin Fleisz [Tue, 24 Mar 2020 11:17:05 +0000 (12:17 +0100)]
Merge pull request #5988 from akallabeth/rdp_parser_leak
Fixed memory leak in rdp file parser.