GUACAMOLE-962: Request relaxed RDP order checks if supported by FreeRDP.

This commit is contained in:
Michael Jumper 2020-02-24 16:31:28 -08:00
parent 090bb3bbea
commit 3b0abe376e
2 changed files with 20 additions and 0 deletions

View File

@ -722,6 +722,21 @@ then
fi
# Support for receiving unannounced orders from the RDP server
if test "x${have_freerdp2}" = "xyes"
then
AC_CHECK_MEMBERS([rdpSettings.AllowUnanouncedOrdersFromServer],,
[AC_MSG_WARN([
--------------------------------------------
This version of FreeRDP does not support relaxed order checks. RDP servers
that send orders that the client did not announce as supported (such as the
VirtualBox RDP server) will likely not be usable.
See: https://issues.apache.org/jira/browse/GUACAMOLE-962
--------------------------------------------])],
[[#include <freerdp/freerdp.h>]])
fi
# Restore CPPFLAGS, removing FreeRDP-specific options needed for testing
CPPFLAGS="$OLDCPPFLAGS"

View File

@ -1356,5 +1356,10 @@ void guac_rdp_push_settings(guac_client* client,
rdp_settings->OrderSupport[NEG_FAST_INDEX_INDEX] = !guac_settings->disable_glyph_caching;
rdp_settings->OrderSupport[NEG_FAST_GLYPH_INDEX] = !guac_settings->disable_glyph_caching;
#ifdef HAVE_RDPSETTINGS_ALLOWUNANOUNCEDORDERSFROMSERVER
/* Do not consider server use of unannounced orders to be a fatal error */
rdp_settings->AllowUnanouncedOrdersFromServer = TRUE;
#endif
}