diff --git a/src/protocols/rdp/settings.c b/src/protocols/rdp/settings.c index dd8a96fb..e12e8c12 100644 --- a/src/protocols/rdp/settings.c +++ b/src/protocols/rdp/settings.c @@ -850,9 +850,24 @@ guac_rdp_settings* guac_rdp_parse_args(guac_user* user, guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv, IDX_DISABLE_OFFSCREEN_CACHING, 0); - settings->disable_glyph_caching = - guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv, - IDX_DISABLE_GLYPH_CACHING, 0); + /* FreeRDP does not consider the glyph cache implementation to be stable as + * of 2.0.0, and it MUST NOT be used. Usage of the glyph cache results in + * unexpected disconnects when using older versions of Windows and recent + * versions of FreeRDP. See: https://issues.apache.org/jira/browse/GUACAMOLE-1191 */ + settings->disable_glyph_caching = 1; + + /* In case the user expects glyph caching to be enabled, either explicitly + * or by default, warn that this will not be the case as the glyph cache + * is not considered stable. */ + if (!guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv, + IDX_DISABLE_GLYPH_CACHING, 0)) { + guac_user_log(user, GUAC_LOG_DEBUG, "Glyph caching is currently " + "universally disabled, regardless of the value of the \"%s\" " + "parameter, as glyph caching support is not considered stable " + "by FreeRDP as of the FreeRDP 2.0.0 release. See: " + "https://issues.apache.org/jira/browse/GUACAMOLE-1191", + GUAC_RDP_CLIENT_ARGS[IDX_DISABLE_GLYPH_CACHING]); + } /* Session color depth */ settings->color_depth =