platform/upstream/freerdp.git
4 years agoRefactored parsing of usb dev: command line option
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.

4 years agoFix #6085: Java string comparison should prefer equals
akallabeth [Thu, 16 Apr 2020 06:21:23 +0000 (08:21 +0200)]
Fix #6085: Java string comparison should prefer equals

4 years agoCache the calculated color
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.

4 years agoremoved unnecessary casts, use sizeof for debug printing
Martin Haimberger [Wed, 15 Apr 2020 10:06:41 +0000 (12:06 +0200)]
removed unnecessary casts, use sizeof for debug printing

4 years agofix: server side ntlmv2 implementation
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

4 years agoFixi #6086: smartcard filter early abort.
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.

4 years agoMoved PROGRESSIVE_BLOCK_REGION to heap.
akallabeth [Tue, 14 Apr 2020 15:25:37 +0000 (17:25 +0200)]
Moved PROGRESSIVE_BLOCK_REGION to heap.

4 years agoLanguage fixes for aFreeRDP
Allan Nordhøy [Tue, 14 Apr 2020 11:36:54 +0000 (11:36 +0000)]
Language fixes for aFreeRDP

4 years agoAdd Norwegian Bokmål translation
Allan Nordhøy [Tue, 14 Apr 2020 11:34:56 +0000 (11:34 +0000)]
Add Norwegian Bokmål translation

4 years agoAdds the title options to wlfreerdp
Julian Albrecht [Tue, 14 Apr 2020 09:47:42 +0000 (11:47 +0200)]
Adds the title options to wlfreerdp

4 years agoFixed #6067: Better CMake warning for deactivated image scaling
Armin Novak [Mon, 13 Apr 2020 07:41:55 +0000 (09:41 +0200)]
Fixed #6067: Better CMake warning for deactivated image scaling

4 years agoFix #6066, #6045: Disable spincount by default.
Armin Novak [Mon, 13 Apr 2020 07:38:36 +0000 (09:38 +0200)]
Fix #6066, #6045: Disable spincount by default.

4 years agoFixed data type warnings
Armin Novak [Sat, 11 Apr 2020 07:43:14 +0000 (09:43 +0200)]
Fixed data type warnings

4 years agoFixed format string warnings.
Armin Novak [Sat, 11 Apr 2020 07:42:28 +0000 (09:42 +0200)]
Fixed format string warnings.

4 years agoFixed cups httpConnectEncrypt deprecation warning.
Armin Novak [Sat, 11 Apr 2020 07:41:08 +0000 (09:41 +0200)]
Fixed cups httpConnectEncrypt deprecation warning.

4 years agoMake use of percent scale if available when calculating monitor sizes
Nathan Loewen [Thu, 9 Apr 2020 15:13:19 +0000 (10:13 -0500)]
Make use of percent scale if available when calculating monitor sizes

4 years agoRestrict USBDK to Windows builds
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

4 years agoMade xf_OutputExpose non blocking.
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.

4 years agoMerge pull request #6052 from akallabeth/stable_backport
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

4 years agotls: support non-RSA keys
Linus Heckemann [Fri, 10 Apr 2020 13:06:47 +0000 (15:06 +0200)]
tls: support non-RSA keys

4 years agoMerge pull request #6048 from akallabeth/subsystem_entry_fix
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

4 years agosrc/libuwac/uwac-os.c: fix build with uclibc
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>
4 years agoMerge pull request #6040 from akallabeth/2.1-devel-cycle
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.

4 years agoFixed URBDRC DEVICE_ADD_FLAG definitions
akallabeth [Fri, 10 Apr 2020 12:16:19 +0000 (14:16 +0200)]
Fixed URBDRC DEVICE_ADD_FLAG definitions

4 years agoFixed return type for subsystem entry
akallabeth [Fri, 10 Apr 2020 12:11:15 +0000 (14:11 +0200)]
Fixed return type for subsystem entry

4 years agoStarted 2.1 development cycle.
akallabeth [Fri, 10 Apr 2020 05:40:04 +0000 (07:40 +0200)]
Started 2.1 development cycle.

4 years agonew: update ChangeLog and set version to 2.0.0 2.0.0
Bernhard Miklautz [Thu, 9 Apr 2020 15:07:10 +0000 (17:07 +0200)]
new: update ChangeLog and set version to 2.0.0

4 years agoFixed URBDRC parsing error reported in #6024.
akallabeth [Tue, 7 Apr 2020 06:51:55 +0000 (08:51 +0200)]
Fixed URBDRC parsing error reported in #6024.

4 years agoCheck for int overflow in gdi_InvalidateRegion
akallabeth [Tue, 7 Apr 2020 06:28:11 +0000 (08:28 +0200)]
Check for int overflow in gdi_InvalidateRegion

4 years agoAllow icon info with empty bitmap data.
akallabeth [Mon, 6 Apr 2020 13:09:03 +0000 (15:09 +0200)]
Allow icon info with empty bitmap data.

4 years agoAbort order read on invalid element count.
akallabeth [Mon, 6 Apr 2020 13:08:25 +0000 (15:08 +0200)]
Abort order read on invalid element count.

4 years agoFixed possible NULL access.
akallabeth [Thu, 2 Apr 2020 08:50:16 +0000 (10:50 +0200)]
Fixed possible NULL access.

4 years agoRefactored gdi region
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

4 years agoProper error return from gdi_rect_str and gdi_regn_str
akallabeth [Tue, 31 Mar 2020 12:19:49 +0000 (14:19 +0200)]
Proper error return from gdi_rect_str and gdi_regn_str

4 years agoRefactored order stream manipulation
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

4 years agoFixed CVE-2020-11521: Out of bounds write in planar codec.
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

4 years agoFixed CVE-2020-11522: Limit number of DELTA_RECT to 45.
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

4 years agoFix CVE-2020-11524: out of bounds access in interleaved
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

4 years agoAdded debug logging and claping to all region functions
akallabeth [Mon, 30 Mar 2020 15:57:11 +0000 (17:57 +0200)]
Added debug logging and claping to all region functions

4 years agoFix CVE-2020-11523: clamp invalid rectangles to size 0
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

4 years agoFixed #6012: CVE-2020-11526: Out of bounds read in update_recv_orders
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

4 years agoFixed CVE-2020-11525: Out of bounds read in bitmap_cache_new
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

4 years agoMerge pull request #6034 from akallabeth/addrinfo
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.

4 years agoFix #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.

4 years agoEnforce coding style.
akallabeth [Thu, 9 Apr 2020 10:52:07 +0000 (12:52 +0200)]
Enforce coding style.

4 years agoMoves variable declaration to beginning of scope
Julian Albrecht [Tue, 7 Apr 2020 15:59:12 +0000 (17:59 +0200)]
Moves variable declaration to beginning of scope

4 years agoCheck return value if already a listener is registered
Julian Christian Albrecht [Tue, 7 Apr 2020 08:28:21 +0000 (10:28 +0200)]
Check return value if already a listener is registered

4 years agoAlways copy null terminator when filtering smartcard list
Alex Wilson [Wed, 8 Apr 2020 11:03:02 +0000 (21:03 +1000)]
Always copy null terminator when filtering smartcard list

4 years agoAllow old openssl name in android client.
akallabeth [Thu, 9 Apr 2020 06:51:34 +0000 (08:51 +0200)]
Allow old openssl name in android client.

4 years agoFixed cmake formatting
akallabeth [Thu, 9 Apr 2020 06:17:46 +0000 (08:17 +0200)]
Fixed cmake formatting

4 years agoUse cmake from NDK
akallabeth [Wed, 8 Apr 2020 14:58:19 +0000 (16:58 +0200)]
Use cmake from NDK

4 years agoUsed default openssl library names.
akallabeth [Wed, 8 Apr 2020 14:52:51 +0000 (16:52 +0200)]
Used default openssl library names.

4 years agoUpdated android build scripts for ci.
akallabeth [Wed, 8 Apr 2020 10:37:36 +0000 (12:37 +0200)]
Updated android build scripts for ci.

4 years agoMerge pull request #6019 from akallabeth/bound_access_fixes
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.

4 years agoExport remaining packet length from rdp_read_share_control_header
akallabeth [Mon, 6 Apr 2020 11:01:20 +0000 (13:01 +0200)]
Export remaining packet length from rdp_read_share_control_header

4 years agoFixed substream read in rdp_recv_tpkt_pdu
akallabeth [Mon, 6 Apr 2020 09:58:48 +0000 (11:58 +0200)]
Fixed substream read in rdp_recv_tpkt_pdu

4 years agoFixed rdp_recv_tpkt_pdu parsing, use substream.
akallabeth [Mon, 6 Apr 2020 09:22:18 +0000 (11:22 +0200)]
Fixed rdp_recv_tpkt_pdu parsing, use substream.

4 years agoFixed incorrect parser error message.
akallabeth [Mon, 6 Apr 2020 08:42:06 +0000 (10:42 +0200)]
Fixed incorrect parser error message.

4 years agoBetter error message for partial parsed capability
akallabeth [Fri, 3 Apr 2020 13:10:49 +0000 (15:10 +0200)]
Better error message for partial parsed capability

4 years agoserver: fix surface command types
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

4 years agoMerge pull request #5982 from akallabeth/surface_stream_set_bits
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.

4 years agoAdded fallback to CMDTYPE_STREAM_SURFACE_BITS
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.

4 years agoFix sending/receiving surface bits command.
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.

4 years agoFixed invalid seek size in patrial pdu parse case
akallabeth [Wed, 1 Apr 2020 07:52:47 +0000 (09:52 +0200)]
Fixed invalid seek size in patrial pdu parse case

4 years agoUse safe seek for capability parsing
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.

4 years agoUse substreams to parse gcc_read_server_data_blocks
akallabeth [Wed, 1 Apr 2020 07:56:13 +0000 (09:56 +0200)]
Use substreams to parse gcc_read_server_data_blocks

4 years agoFix #6010: Check length in read_icon_info
akallabeth [Tue, 31 Mar 2020 07:06:05 +0000 (09:06 +0200)]
Fix #6010: Check length in read_icon_info

4 years agoFixed #6013: Check new length is > 0
akallabeth [Tue, 31 Mar 2020 12:36:40 +0000 (14:36 +0200)]
Fixed #6013: Check new length is > 0

4 years agoFixed #6011: Bounds check in rdp_read_font_capability_set
akallabeth [Tue, 31 Mar 2020 12:32:01 +0000 (14:32 +0200)]
Fixed #6011: Bounds check in rdp_read_font_capability_set

4 years agoFixed #6005: Bounds checks in update_read_bitmap_data
akallabeth [Tue, 31 Mar 2020 07:23:42 +0000 (09:23 +0200)]
Fixed #6005: Bounds checks in update_read_bitmap_data

4 years agoFixed #6006: bounds checks in update_read_synchronize
akallabeth [Tue, 31 Mar 2020 07:21:43 +0000 (09:21 +0200)]
Fixed #6006: bounds checks in update_read_synchronize

4 years agoFixed #6009: Bounds checks in autodetect_recv_bandwidth_measure_results
akallabeth [Tue, 31 Mar 2020 07:19:17 +0000 (09:19 +0200)]
Fixed #6009: Bounds checks in autodetect_recv_bandwidth_measure_results

4 years agoFixed #6007: Boundary checks in rdp_read_flow_control_pdu
akallabeth [Tue, 31 Mar 2020 07:14:55 +0000 (09:14 +0200)]
Fixed #6007: Boundary checks in rdp_read_flow_control_pdu

4 years agoFixed possible NULL dereference
akallabeth [Thu, 2 Apr 2020 08:33:44 +0000 (10:33 +0200)]
Fixed possible NULL dereference

4 years agoMerge pull request #5974 from akallabeth/cmd_avc420_fix
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

4 years agoMerge pull request #5884 from akallabeth/smartcard_ndr_strict
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

4 years agoAdded missing context and handle read.
akallabeth [Mon, 30 Mar 2020 09:07:47 +0000 (11:07 +0200)]
Added missing context and handle read.

4 years agoPack smartcard channel structs to 1 byte alignment
Armin Novak [Fri, 27 Mar 2020 17:23:33 +0000 (18:23 +0100)]
Pack smartcard channel structs to 1 byte alignment

4 years agoRemoved a few magic numbers.
akallabeth [Fri, 27 Mar 2020 14:03:59 +0000 (15:03 +0100)]
Removed a few magic numbers.

4 years agoFixed typos, make status comparisons explicit.
akallabeth [Fri, 27 Mar 2020 13:49:09 +0000 (14:49 +0100)]
Fixed typos, make status comparisons explicit.

4 years agoFormatted patch.
akallabeth [Fri, 27 Mar 2020 08:08:32 +0000 (09:08 +0100)]
Formatted patch.

4 years agoAdds touch support to wlfreerdp
Julian Albrecht [Wed, 25 Mar 2020 15:52:30 +0000 (16:52 +0100)]
Adds touch support to wlfreerdp

4 years agoFree clipboard respond to fix bug
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)

4 years agoMerge pull request #5985 from akallabeth/log_version_debug
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.

4 years agoTreat NULL and empty string as the same for credentials.
akallabeth [Tue, 17 Mar 2020 10:18:54 +0000 (11:18 +0100)]
Treat NULL and empty string as the same for credentials.

4 years agoMerge pull request #5988 from akallabeth/rdp_parser_leak
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.

4 years agoMerge pull request #5987 from akallabeth/manual_ack_timeout
Martin Fleisz [Tue, 24 Mar 2020 11:16:08 +0000 (12:16 +0100)]
Merge pull request #5987 from akallabeth/manual_ack_timeout

Add option to adjust the tcp ack timeout

4 years agoFixed memory leak in rdp file parser.
akallabeth [Mon, 23 Mar 2020 14:21:47 +0000 (15:21 +0100)]
Fixed memory leak in rdp file parser.

4 years agoAdd option to adjust the tcp ack timeout
akallabeth [Mon, 23 Mar 2020 07:51:35 +0000 (08:51 +0100)]
Add option to adjust the tcp ack timeout

On high latency links the default of 9 second timeout might be too
strict. Adjusting this for all users will result in a long time
for connections to fail, so let these with high latency links
adjust the value manually.

4 years agoAdded buildconfig output to debug log level.
akallabeth [Fri, 20 Mar 2020 12:05:01 +0000 (13:05 +0100)]
Added buildconfig output to debug log level.

4 years agoInitialize KeyboardHook with define instead of magic number
akallabeth [Wed, 18 Mar 2020 15:36:23 +0000 (16:36 +0100)]
Initialize KeyboardHook with define instead of magic number

4 years agoAllow externally supplied FREERDP_INSTALL_PREFIX
akallabeth [Wed, 18 Mar 2020 12:59:43 +0000 (13:59 +0100)]
Allow externally supplied FREERDP_INSTALL_PREFIX

4 years agoAdded deprecation warning to gfx-h264
akallabeth [Sun, 15 Mar 2020 09:33:53 +0000 (10:33 +0100)]
Added deprecation warning to gfx-h264

4 years agoFixed gfx-h264 option parsing.
akallabeth [Sun, 15 Mar 2020 09:33:34 +0000 (10:33 +0100)]
Fixed gfx-h264 option parsing.

4 years agoserver: proxy: fix wrong log level used in pf_modules_run_filter
Kobi Mizrachi [Thu, 12 Mar 2020 06:43:00 +0000 (08:43 +0200)]
server: proxy: fix wrong log level used in pf_modules_run_filter

4 years agoserver: proxy: removed unnecessary cast after #5955
Kobi Mizrachi [Thu, 12 Mar 2020 06:42:13 +0000 (08:42 +0200)]
server: proxy: removed unnecessary cast after #5955

4 years agoserver: proxy: use config path from argv if provided
Kobi Mizrachi [Thu, 12 Mar 2020 06:41:07 +0000 (08:41 +0200)]
server: proxy: use config path from argv if provided

4 years agoMerge pull request #5943 from akallabeth/x11_lock
Martin Fleisz [Tue, 10 Mar 2020 15:03:54 +0000 (16:03 +0100)]
Merge pull request #5943 from akallabeth/x11_lock

X11 lock recursion checks

4 years agoFixed length checks for compressed rdp data.
Armin Novak [Tue, 10 Mar 2020 09:52:28 +0000 (10:52 +0100)]
Fixed length checks for compressed rdp data.

4 years agoCleaned up bulk_compress/decompress, prettified log.
Armin Novak [Tue, 10 Mar 2020 09:46:13 +0000 (10:46 +0100)]
Cleaned up bulk_compress/decompress, prettified log.