Norbert Federa [Fri, 27 Dec 2019 10:58:27 +0000 (11:58 +0100)]
transport: check if layer was set to closed
There are several code paths and error conditions where
transport->layer is correctly set to TRANSPORT_LAYER_CLOSED but
the required code for checking that state was missing.
E.g. write errors in the rdg code resulted in marking the transport
layer as closed but the transport code would indefinitely continue
to read from the receiving socket.
David Fort [Fri, 20 Dec 2019 07:00:03 +0000 (08:00 +0100)]
Merge pull request #5795 from akallabeth/swscale_find_fix
Fixed SWScale cmake find script.
Armin Novak [Thu, 19 Dec 2019 07:43:33 +0000 (08:43 +0100)]
Fixed SWScale cmake find script.
* Wrong name for pkg-config (thanks @floppym for pointing that out)
* Formatting issues, there were spaces in path and variables that
should not have been there.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
David Fort [Wed, 18 Dec 2019 21:09:52 +0000 (22:09 +0100)]
Merge pull request #5790 from akallabeth/rdpei_no_thread
Removed touch input channel thread
Martin Fleisz [Wed, 18 Dec 2019 14:11:35 +0000 (15:11 +0100)]
Merge pull request #5793 from akallabeth/smartcard_cherry_pick
Tell the server that smartcard is redirected
Armin Novak [Wed, 18 Dec 2019 11:20:17 +0000 (12:20 +0100)]
Increased client build number
According to [MS-RDPESC] 1.7 Versioning and Capability Negotiation
the client build is used to determine feature / behaviour.
Announce something more modern than Windows XP SP3.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
Ondrej Holy [Tue, 26 Nov 2019 15:57:21 +0000 (16:57 +0100)]
Tell the server that smartcard is redirected
There were server-side changes on Windows 2012 and newer regarding
smartcards, namely the Smart Card Service start and stop behavior:
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh849637(v%3Dws.11)#smart-card-service-start-and-stop-behavior
Some people see "No valid certificates were found on this smart card",
when the Smart Card Service is not running and has to use various
workarounds to start the service manually, e.g.:
http://blogs.danosaab.com/2016/12/using-smart-card-with-remote-desktop-connection-on-mac-osx/
http://www.edugeek.net/forums/windows-server-2012/161255-smart-card-service-issue-windows-server-2012r2-terminal-services-hyperv.html
I've been looking at RDP specifications and found that
REDIRECTED_SMARTCARD should be probably specified in TS_UD_CS_CLUSTER
block flags when the smartcard is redirected, but it is not currently:
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/
d68c629f-36a1-4a40-afd0-
8b3e56d29aac
This might be the reason, why the Smart Card Service is not
autostarted for some people. Let's try to set this flag and see what
will happens...
https://github.com/FreeRDP/FreeRDP/issues/4743
Signed-off-by: Armin Novak <armin.novak@thincast.com>
Armin Novak [Wed, 18 Dec 2019 10:31:40 +0000 (11:31 +0100)]
Removed touch input channel thread
The touch input channel only sends small events (touch points et al)
and therefore does not require a heavy processing thread.
Kobi Mizrachi [Tue, 17 Dec 2019 14:16:52 +0000 (16:16 +0200)]
server: proxy: proxy keyboard leds and imei
Martin Fleisz [Tue, 17 Dec 2019 13:11:40 +0000 (14:11 +0100)]
Merge pull request #5768 from akallabeth/timezone_update
Timezone update
Kobi Mizrachi [Tue, 17 Dec 2019 09:16:54 +0000 (11:16 +0200)]
update: add proper stream checks
Kobi Mizrachi [Tue, 17 Dec 2019 08:17:11 +0000 (10:17 +0200)]
winpr: SetWaitableTimer should not free the handle if it fails
xie.kunming [Mon, 16 Dec 2019 10:09:18 +0000 (18:09 +0800)]
rdp.c : fix DATA_PDU_TYPE_STRINGS mismatch declaration when WITH_DEBUG_ALL=ON
Bernhard Miklautz [Mon, 16 Dec 2019 08:57:16 +0000 (09:57 +0100)]
Merge pull request #5778 from akallabeth/shadow_warnings
Added warning to win shadow server
xie.kunming [Mon, 16 Dec 2019 03:55:35 +0000 (11:55 +0800)]
fix typo of jpeg
Kobi Mizrachi [Wed, 11 Dec 2019 13:09:01 +0000 (15:09 +0200)]
rdpgfx: surface_to_scaled_window: fix pdu type
Kobi Mizrachi [Wed, 11 Dec 2019 13:08:10 +0000 (15:08 +0200)]
core: server: update: fix update_send_new_or_existing_notification_icons
Kobi Mizrachi [Tue, 10 Dec 2019 11:59:10 +0000 (13:59 +0200)]
core: server: add missing NULL check in FreeRDP_WTSVirtualChannelRead
Kobi Mizrachi [Tue, 10 Dec 2019 10:03:30 +0000 (12:03 +0200)]
rail: keep extendedSpiSupported flag synced
Kobi Mizrachi [Wed, 4 Dec 2019 14:25:08 +0000 (15:25 +0100)]
rail: stream size checks and rail_read_sysparam_order fixes
Armin Novak [Wed, 4 Dec 2019 14:25:08 +0000 (15:25 +0100)]
Stream size checks for rail_write_sysparam_order
Ensure the stream is large enough to hold the data
in rail_write_sysparam_order, rail_write_high_contrast and
rail_write_filterkeys.
Mati Shabtay [Tue, 6 Aug 2019 13:46:18 +0000 (16:46 +0300)]
proxy: Implement RAIL support in proxy
Mati Shabtay [Thu, 4 Jul 2019 07:58:08 +0000 (10:58 +0300)]
rail server: implement channel code for rail server
* Split common functionality from client code
* Clean up client code and use proper defines for constants
* Implements the channel code to read/write server side
messages.
Mati Shabtay [Mon, 8 Jul 2019 10:14:49 +0000 (13:14 +0300)]
channels.c: Send the CHANNEL_OPTION_SHOW_PROTOCOL option only in client mode
According to MS-RDPBCGR section 2.2.1.3.4.1, this option should only be
sent as a client. If set by a server, mstsc will crash.
Mati Shabtay [Mon, 8 Jul 2019 08:44:41 +0000 (11:44 +0300)]
info.c: Set hidef Remote App flag on info packet read
Mati Shabtay [Mon, 8 Jul 2019 08:42:51 +0000 (11:42 +0300)]
update.c: Implement rail server altsec window orders
Armin Novak [Thu, 12 Dec 2019 08:19:23 +0000 (09:19 +0100)]
Added warning to win shadow server
Currently the windows shadow server does not support authentication.
Log that fact so everyone using it is notified on each login.
ajlex140 [Fri, 6 Dec 2019 14:14:43 +0000 (17:14 +0300)]
reply with empty irp package with error code, if irp device is unavailable
Armin Novak [Fri, 6 Dec 2019 10:01:36 +0000 (11:01 +0100)]
update timezones.
Armin Novak [Fri, 6 Dec 2019 08:58:04 +0000 (09:58 +0100)]
Update WindowsZones.c
Armin Novak [Fri, 6 Dec 2019 08:56:59 +0000 (09:56 +0100)]
New python script for zone generation
Replace the old C# script with a python script to generate
WindowsZones.c, update to new location of XML
Martin Fleisz [Fri, 6 Dec 2019 06:53:37 +0000 (07:53 +0100)]
Merge pull request #5766 from akallabeth/rdpsnd_no_thread
Rdpsnd no thread
Armin Novak [Thu, 5 Dec 2019 10:37:54 +0000 (11:37 +0100)]
Removed some unnecessary casts.
Armin Novak [Thu, 5 Dec 2019 10:37:07 +0000 (11:37 +0100)]
Removed rdpsnd client thread
The thread used to process audio data is not really required
and just produces overhead.
David Fort [Wed, 4 Dec 2019 23:09:47 +0000 (00:09 +0100)]
Merge pull request #5765 from akallabeth/add_missing_stream_write
Added missing Stream_Write_INT32
Armin Novak [Wed, 4 Dec 2019 12:42:06 +0000 (13:42 +0100)]
Added missing Stream_Write_INT32
Martin Fleisz [Mon, 2 Dec 2019 10:31:35 +0000 (11:31 +0100)]
Merge pull request #5739 from akallabeth/improve_function_hiding
Improve function hiding
Armin Novak [Wed, 20 Nov 2019 10:30:14 +0000 (11:30 +0100)]
Remove symbols exported by accident.
Martin Fleisz [Fri, 29 Nov 2019 11:10:49 +0000 (12:10 +0100)]
Merge pull request #5762 from akallabeth/rdp_file_smart_sizing
SmartSizingWidth and SmartSizingHeight in RDP file:
David Fort [Fri, 29 Nov 2019 07:52:37 +0000 (08:52 +0100)]
primitives: use host pointers for openCL
Using host pointers may skip the need for copying buffers.
Pål Håland [Thu, 28 Nov 2019 17:59:15 +0000 (18:59 +0100)]
SmartSizingWidth and SmartSizingHeight in RDP file:
Adding this option to use the DesktopHeight and DesktopWidth as
parameters for the SmartSizingWidth and SmartSizingHeight, as there
are no options for that in standard RDP files.
Equivalent of doing /smart-sizing:WxH
Martin Fleisz [Fri, 29 Nov 2019 08:55:48 +0000 (09:55 +0100)]
Merge pull request #5761 from akallabeth/rdp_file_add_option
Added RDP file option 'desktop size id:i:' support.
Armin Novak [Fri, 29 Nov 2019 08:09:30 +0000 (09:09 +0100)]
Added RDP file option 'desktop size id:i:' support.
Martin Fleisz [Fri, 29 Nov 2019 07:19:24 +0000 (08:19 +0100)]
Merge pull request #5748 from akallabeth/mac_sound_no_mic
Fix #5747: Only open output device in rdpsnd for mac.
Martin Fleisz [Fri, 29 Nov 2019 07:18:31 +0000 (08:18 +0100)]
Merge pull request #5753 from akallabeth/win_clipboard_ignore_open_fail
Fix #5749: Retry to open the clipboard.
David Fort [Thu, 28 Nov 2019 09:17:25 +0000 (10:17 +0100)]
Merge pull request #5756 from akallabeth/nocodec_length_check
Added data length check for RDP_CODEC_ID_NONE
Armin Novak [Thu, 28 Nov 2019 07:08:30 +0000 (08:08 +0100)]
Added data length check for RDP_CODEC_ID_NONE
Armin Novak [Tue, 26 Nov 2019 06:57:32 +0000 (07:57 +0100)]
Fix #5749: Retry to open the clipboard.
On windows the clipboard is shared and other applications
or windows might lock the clipboard.
For this reason, retry opening if it fails and ignore
failure to open during normal operation.
David Fort [Mon, 25 Nov 2019 12:05:09 +0000 (13:05 +0100)]
winpr: fix anonymous enum members and menbers without a size
Armin Novak [Mon, 25 Nov 2019 07:03:19 +0000 (08:03 +0100)]
Fix #5747: Only open output device in rdpsnd for mac.
Armin Novak [Fri, 22 Nov 2019 11:32:45 +0000 (12:32 +0100)]
Updated primitive function const correctness.
Armin Novak [Wed, 13 Nov 2019 15:37:28 +0000 (16:37 +0100)]
Added YUV444 kernel
Armin Novak [Wed, 13 Nov 2019 15:35:03 +0000 (16:35 +0100)]
Fixed intialization of opencl primitives and warnings.
David Fort [Wed, 13 Nov 2019 07:28:14 +0000 (08:28 +0100)]
opencl: inline the openCL program in the source code
Armin Novak [Thu, 7 Nov 2019 15:04:48 +0000 (16:04 +0100)]
Fixed init code.
Armin Novak [Thu, 7 Nov 2019 14:44:41 +0000 (15:44 +0100)]
Fixed primitives cleanup code.
Armin Novak [Thu, 7 Nov 2019 14:19:49 +0000 (15:19 +0100)]
Cleaned up primitives code.
David Fort [Mon, 29 Jan 2018 15:20:59 +0000 (16:20 +0100)]
primitives: add openCL support
This patch adds the basic infrastructure to have openCL acceleration.
For now only YUV2RGB is implemented but other operations could be
implemented.
The primitives have been massively reworked so that we have an autodetect
mode that will pick the best implementation automatically by performing a
benchmark.
Sponsored-by: Rangee Gmbh(http://www.rangee.com)
David Fort [Fri, 14 Jun 2019 21:00:00 +0000 (23:00 +0200)]
rails: shorten logs
Bernhard Miklautz [Thu, 21 Nov 2019 14:23:19 +0000 (15:23 +0100)]
Merge pull request #5743 from akallabeth/32bit_warn_fix
Fix #5741: Limit strnlen checks to INT_MAX to silence compile on 32bi…
Armin Novak [Thu, 21 Nov 2019 09:33:45 +0000 (10:33 +0100)]
Fixed GetEnvironmentStrings test
Some os return an invalid/wrong character count if a string with
unknown symbols is printed to stdout.
Instead use the sprintf family and print to a buffer / determine
the required buffer size.
Martin Fleisz [Thu, 21 Nov 2019 07:29:00 +0000 (08:29 +0100)]
Merge pull request #5738 from akallabeth/hide_unexported_functions
Do not export functions that are purely internal.
Armin Novak [Thu, 21 Nov 2019 07:08:46 +0000 (08:08 +0100)]
Fix #5741: Limit strnlen checks to INT_MAX to silence compile on 32bit builds.
David Fort [Wed, 20 Nov 2019 22:26:31 +0000 (23:26 +0100)]
Merge pull request #5736 from akallabeth/makecert_cleanups
Cleaned up code for makecert.
Armin Novak [Wed, 20 Nov 2019 10:07:42 +0000 (11:07 +0100)]
Do not export functions that are purely internal.
Armin Novak [Wed, 20 Nov 2019 08:16:12 +0000 (09:16 +0100)]
Fixed scanbuild warnings.
Martin Fleisz [Wed, 20 Nov 2019 07:55:46 +0000 (08:55 +0100)]
Merge pull request #5729 from akallabeth/drive_redirect_space_fix
Drive redirect space fix
Armin Novak [Wed, 20 Nov 2019 07:32:19 +0000 (08:32 +0100)]
Cleaned up code for makecert.
Armin Novak [Tue, 19 Nov 2019 09:48:25 +0000 (10:48 +0100)]
Fixed path NULL checks.
Martin Fleisz [Tue, 19 Nov 2019 09:03:00 +0000 (10:03 +0100)]
Merge pull request #5706 from akallabeth/tcp_keepalive
Configurable Tcp keepalive
Martin Fleisz [Tue, 19 Nov 2019 08:32:24 +0000 (09:32 +0100)]
Merge pull request #5724 from akallabeth/opaque
Opaqueified structs
Armin Novak [Mon, 18 Nov 2019 13:30:15 +0000 (14:30 +0100)]
Fixed #5727: drive_process_irp_create set path to NULL if not provided.
Armin Novak [Mon, 18 Nov 2019 13:28:39 +0000 (14:28 +0100)]
Fixed #5727: use getmntent to read /proc/mounts
Armin Novak [Mon, 18 Nov 2019 11:12:04 +0000 (12:12 +0100)]
Fixed #5727: Remove forbidden symbols from drive name
Armin Novak [Thu, 14 Nov 2019 14:15:30 +0000 (15:15 +0100)]
rdpNineGridCache now opaque
Armin Novak [Thu, 14 Nov 2019 14:14:59 +0000 (15:14 +0100)]
MPPC_CONTEXT now opaque
Armin Novak [Thu, 14 Nov 2019 14:14:39 +0000 (15:14 +0100)]
NCRUSH_CONTEXT now opaque
Armin Novak [Thu, 14 Nov 2019 14:14:09 +0000 (15:14 +0100)]
XCRUSH_CONTEXT now opaque
Armin Novak [Thu, 14 Nov 2019 14:10:44 +0000 (15:10 +0100)]
rdpOffscreenCache now opaque
Armin Novak [Thu, 14 Nov 2019 14:10:03 +0000 (15:10 +0100)]
rdpBrushCache now opaque
Bernhard Miklautz [Thu, 14 Nov 2019 14:01:07 +0000 (15:01 +0100)]
Merge pull request #5715 from akallabeth/table_gen
Fixed #5713: Use proper types to generate tables.c where possible.
Armin Novak [Tue, 12 Nov 2019 10:04:11 +0000 (11:04 +0100)]
Fixed #5713: Use proper types to generate tables.c where possible.
Use the correct type for function arguments of DVCPluginEntry type
and void* for type DeviceServiceEntry when generating tables.c
David Fort [Thu, 14 Nov 2019 10:30:40 +0000 (11:30 +0100)]
Merge pull request #5722 from akallabeth/primitives_const_source
Modified primitives function pointer to take const pointer to const data
Armin Novak [Thu, 14 Nov 2019 09:43:38 +0000 (10:43 +0100)]
Modified primitives function pointer to take const pointer to const data
Bernhard Miklautz [Wed, 13 Nov 2019 13:51:27 +0000 (14:51 +0100)]
fix [build]: don't export rdp2tcp as cmake target
rdp2tcp was wrongly exposed as cmake target. This could lead to errors
like the following when the FreeRDP2 cmake file was required:
CMake Error at ../lib/cmake/FreeRDP2/FreeRDPTargets.cmake:73 (message):
The imported target "rdp2tcp-client" references the file
".../lib/freerdp2/librdp2tcp-client.a"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
".../lib/cmake/FreeRDP2/FreeRDPTargets.cmake"
but not all the files it references.
Martin Fleisz [Wed, 13 Nov 2019 14:32:42 +0000 (15:32 +0100)]
Merge pull request #5718 from akallabeth/remdesk_fix
Fixed cleanup of remdesk in CHANNEL_EVENT_WRITE_COMPLETE
Armin Novak [Wed, 13 Nov 2019 10:42:27 +0000 (11:42 +0100)]
Fixed cleanup of remdesk in CHANNEL_EVENT_WRITE_COMPLETE
kubistika [Tue, 12 Nov 2019 11:22:45 +0000 (13:22 +0200)]
cliprdr: common: fix validation of file contents request pdu
kubistika [Tue, 12 Nov 2019 08:42:28 +0000 (10:42 +0200)]
server: proxy: fix sync issue in gfx opening
Martin Fleisz [Mon, 11 Nov 2019 12:23:00 +0000 (13:23 +0100)]
Merge pull request #5711 from akallabeth/diff
Fixed broken strnlen checks
Armin Novak [Mon, 11 Nov 2019 09:01:19 +0000 (10:01 +0100)]
Fixed broken strnlen checks
Bernhard Miklautz [Mon, 11 Nov 2019 08:52:46 +0000 (09:52 +0100)]
Merge pull request #5709 from akallabeth/diff
Fixed broken length calculation in rdp_write_extended_info_packet
Armin Novak [Mon, 11 Nov 2019 08:30:16 +0000 (09:30 +0100)]
Fixed broken length calculation in rdp_write_extended_info_packet
Armin Novak [Thu, 7 Nov 2019 12:15:44 +0000 (13:15 +0100)]
Added configurable TcpKeepAliveDelay setting.
Armin Novak [Thu, 7 Nov 2019 12:02:57 +0000 (13:02 +0100)]
Implemented configurable tcp keepalive and timeout detection
Armin Novak [Thu, 7 Nov 2019 11:45:05 +0000 (12:45 +0100)]
Added additional tcp keep alive settings.
Armin Novak [Thu, 7 Nov 2019 11:39:22 +0000 (12:39 +0100)]
Added TcpKeepalive setting, use settings getter const arguments.
Bernhard Miklautz [Thu, 7 Nov 2019 11:13:19 +0000 (12:13 +0100)]
Merge pull request #5703 from akallabeth/reformat
Reformatted to new style
Armin Novak [Thu, 7 Nov 2019 06:59:34 +0000 (07:59 +0100)]
Added cast and checks for info packet.
Armin Novak [Thu, 7 Nov 2019 06:41:48 +0000 (07:41 +0100)]
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.