Go to file
ilammy a1128872d3 channels/cliprdr: handle cliprdr 2 GB size limit
The file contents PDUs support 64-bit file sizes and offsets, but
MS-RDPECLIP explicitly says in 2.2.5.3 File Contents Request PDU that
file larger that 4 gigabytes are not supported by the server. It turns
out that the supported size is even lower than that. The server cannot
correctly handle files larger than 2 gigabytes (inclusive). When faced
with such files it correctly retireves the lower part, but fails to
accept any data past that boundary. After receiving a file range reply
the server repeats the file range request with the same offset, and
again, and again, and again, making no progress and blocking the file
transfer indefinitely. This is not the behavior we would like to have.

Microsoft support site acknowledges and documents the issue [1],
suggesting the users to use disk drive redirection instead to transfer
large files. (File transfers via cliprdr are considerably slower than
disk drive redirection so the suggestion makes very much sense.)

However, we would like to avoid the lockdown of the remote session if
the user does attempt to transfer such files so we add a size check.
Putting it into the conversion from FILEDESCRIPTOR to CLIPRDR_FILELIST
is not an ideal place (the clients may not use the common utilities),
but that's good enough currently.

[1]: https://support.microsoft.com/en-us/help/2258090
2017-04-09 03:15:49 +03:00
channels channels/cliprdr: handle cliprdr 2 GB size limit 2017-04-09 03:15:49 +03:00
ci/cmake-preloads Rewrite drive channel using WinPR functions 2017-03-13 14:18:46 -07:00
client x11/cliprdr: negotiate file streaming support 2017-04-09 03:15:49 +03:00
cmake wClipboard: local file subsystem boilerplate 2017-04-09 03:15:48 +03:00
docs Added android release build configurations. 2017-01-16 15:25:20 +01:00
external cmake: added external directory 2012-11-01 13:50:49 -04:00
include channels/cliprdr: fix CLIPRDR_FILECONTENTS_REQUEST 2017-04-09 03:15:49 +03:00
libfreerdp Fixed NEON YUV to RGB conversion issues. 2017-04-05 12:20:29 +02:00
packaging Fix nightly packages 2017-01-23 16:43:00 +01:00
rdtk Fixed argument checks, formatting. 2017-03-03 14:11:28 +01:00
resources Recompressed images with FileOptimizer 6.8 (an open-source mass file recompression tool for Windows) 2014-08-08 20:12:25 -04:00
scripts Update for android scripts, per arch includes. 2017-03-09 11:32:34 +01:00
server Scanbuild warning, argument checks and leak fixes. 2017-03-02 18:13:43 +01:00
third-party cleanup cmake exports and pkg-config files 2016-01-12 17:32:33 +01:00
uwac trivial issue found by cppcheck: 2017-01-25 15:48:49 +05:00
winpr wClipboard: track sequence numbers of file lists 2017-04-09 03:15:49 +03:00
.gitignore Add an environment variables section to the man 2016-06-21 15:28:38 +02:00
buildflags.h.in add parameter buildconfig 2016-01-12 17:32:33 +01:00
ChangeLog changelog: update for 1.0.1 2012-02-09 21:01:42 -05:00
CMakeCPack.cmake Added pdb files to package target. 2015-12-15 12:07:21 +01:00
CMakeCPackOptions.cmake.in cmake: fix package generation on Mac OS X 2013-09-09 21:42:25 -04:00
CMakeLists.txt Fixed RPATH settings for OS X 2017-04-06 08:08:07 +02:00
config.h.in wClipboard: local file subsystem boilerplate 2017-04-09 03:15:48 +03:00
LICENSE FreeRDP 1.0: initial commit 2011-06-30 15:12:51 -04:00
README Updated links in README 2013-05-27 18:29:24 +02:00

FreeRDP: A Remote Desktop Protocol Implementation
=================================================

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license.
Enjoy the freedom of using your software wherever you want, the way you want it, in a world where
interoperability can finally liberate your computing experience.

Resources
---------

Project website: http://www.freerdp.com/
Issue tracker: https://github.com/FreeRDP/FreeRDP/issues
Sources: https://github.com/FreeRDP/FreeRDP/
Wiki: https://github.com/FreeRDP/FreeRDP/wiki
Downloads and other resources: http://pub.freerdp.com
API doc: http://pub.freerdp.com/api/

IRC channel: #freerdp @ irc.freenode.net
Mailing list: https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Microsoft Open Specifications
-----------------------------

Information regarding the Microsoft Open Specifications can be found at:
http://www.microsoft.com/openspecifications/

A list of reference documentation is maintained here:
https://github.com/FreeRDP/FreeRDP/wiki/Reference-Documentation

Compilation
-----------

Instructions on how to get started compiling FreeRDP can be found on the wiki:
https://github.com/FreeRDP/FreeRDP/wiki/Compilation