Go to file
Steve Pronovost 49d9e61884 Fix protocol violation when uploading large ICON
When uploading large ICON (96x96), we end up growing the stream
mid-update. Stream_EnsureCapacity end up reallocating the stream
with a larger capacity to accomodate the large ICON size, but in
doing so, also updating the sealed length for the data currently in
the stream. This breaks the assumption between update_begin_paint
and update_end_paint where the sealed lenght is used to keep track
of the location where we need to update the orders counts after
we're done accumulating update. As a result of the growth and lost
of that location, the number of orders is written to the wrong
location and the resulting stream is invalid which result in a
protocol violation and a connection drop.

The current fix uses a new offsetOrder in the update object to
keep track of where update_end_paint needs to write the number
of orders contained. I think a better fix would be for
Stream_EnsureCapacity to preserve the sealead length of the
stream on growth, but this has a much more significant impact and
careful analysis needs to be done to ensure this doesn't violate
other assumption. Need to follow up with FreeRDP developer to get
their take on this one.
2021-10-21 13:11:21 +02:00
.github Updated chat addresses. 2021-06-07 14:44:09 +02:00
channels Fixed broken message queue free function 2021-10-18 12:49:38 +02:00
ci/cmake-preloads Refactored proxy and proxy-modules: 2021-09-09 08:53:20 +02:00
client enable support for /video and /geometry for win32 2021-10-20 19:19:49 +02:00
cmake Add cmake function ShowCMakeVars and display configured paths in build 2021-10-11 08:38:53 +02:00
compat/stdbool Added stdbool.h compat header 2021-06-18 11:32:16 +02:00
docs Update README.android 2020-12-08 14:11:42 +01:00
external cmake: added external directory 2012-11-01 13:50:49 -04:00
include Fix protocol violation when uploading large ICON 2021-10-21 13:11:21 +02:00
libfreerdp Fix protocol violation when uploading large ICON 2021-10-21 13:11:21 +02:00
packaging Do not install *.so in -dev package. 2021-09-20 09:42:37 +02:00
rdtk WINPR_UNUSED argc, argv for unit tests 2021-08-24 10:45:57 +02:00
resources Reformatted to new style 2019-11-07 10:53:54 +01:00
scripts Fixed const cast warnings in generated settings setter 2021-10-14 13:04:59 +02:00
server Fixed StreamStaticInit warnings. 2021-10-18 10:53:05 +02:00
third-party cleanup cmake exports and pkg-config files 2016-01-12 17:32:33 +01:00
tools/wireshark RDPUDP dissector: cookie hash is present in SYN packet instead of SYN/ACK 2021-05-20 15:10:11 +02:00
uwac Removed duplicate HAVE_PIXMAN_REGION definition 2021-10-14 13:04:59 +02:00
winpr Fixed struct alignment 2021-10-18 16:09:13 +02:00
.clang-format Updated format file. 2019-11-07 10:51:42 +01:00
.gitignore ignore .vs and out dir created by Visual Studio 2021-10-14 08:05:54 +02:00
.travis.yml Remove unused codec x264 2021-09-14 12:38:14 +02:00
buildflags.h.in Fixed use of reserved keywords for include guards. 2017-07-20 09:35:41 +02:00
ChangeLog new: update ChangeLog for 2.2.0 2020-07-20 14:23:01 +02:00
CMakeCPack.cmake Replaced CMAKE_[SOURCE|BINARY]_DIR with PROJECT_[SOURCE|BINARY]_DIR 2021-06-22 08:54:18 +02:00
CMakeCPackOptions.cmake.in cmake: fix package generation on Mac OS X 2013-09-09 21:42:25 -04:00
CMakeLists.txt Add cmake function ShowCMakeVars and display configured paths in build 2021-10-11 08:38:53 +02:00
config.h.in Include winpr/config.h in freerdp/config.h 2021-09-20 10:59:59 +02:00
LICENSE FreeRDP 1.0: initial commit 2011-06-30 15:12:51 -04:00
README.md Updated chat addresses. 2021-06-07 14:44:09 +02:00
SECURITY.md Create SECURITY.md 2021-04-12 10:21:13 +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: https://www.freerdp.com/
Issue tracker: https://github.com/FreeRDP/FreeRDP/issues
Sources: https://github.com/FreeRDP/FreeRDP/
Downloads: https://pub.freerdp.com/releases/
Wiki: https://github.com/FreeRDP/FreeRDP/wiki
API documentation: https://pub.freerdp.com/api/

Matrix room : #FreeRDP:matrix.org (main) XMPP channel: #FreeRDP#matrix.org@matrix.org (bridged) IRC channel : #freerdp @ irc.oftc.net (bridged) 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