You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by mj...@apache.org on 2018/02/22 08:40:35 UTC

[1/3] guacamole-server git commit: GUACAMOLE-448: Add support for configuring bitmap caching.

Repository: guacamole-server
Updated Branches:
  refs/heads/master 3187a641c -> bc5b01d4d


GUACAMOLE-448: Add support for configuring bitmap caching.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-server/commit/66ffda24
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-server/tree/66ffda24
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-server/diff/66ffda24

Branch: refs/heads/master
Commit: 66ffda24f007b6e8b8a52c794a8a3296f0c4f0e0
Parents: 5295886
Author: Nick Couchman <vn...@apache.org>
Authored: Tue Jan 2 18:26:29 2018 -0500
Committer: Nick Couchman <vn...@apache.org>
Committed: Tue Jan 2 18:26:29 2018 -0500

----------------------------------------------------------------------
 src/protocols/rdp/rdp_settings.c | 30 ++++++++++++++++++++++++++++--
 src/protocols/rdp/rdp_settings.h | 12 ++++++++++++
 2 files changed, 40 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/66ffda24/src/protocols/rdp/rdp_settings.c
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/rdp_settings.c b/src/protocols/rdp/rdp_settings.c
index 57e6016..b7062dd 100644
--- a/src/protocols/rdp/rdp_settings.c
+++ b/src/protocols/rdp/rdp_settings.c
@@ -72,6 +72,8 @@ const char* GUAC_RDP_CLIENT_ARGS[] = {
     "enable-full-window-drag",
     "enable-desktop-composition",
     "enable-menu-animations",
+    "disable-bitmap-caching",
+    "disable-offscreen-caching",
     "preconnection-id",
     "preconnection-blob",
 
@@ -306,6 +308,18 @@ enum RDP_ARGS_IDX {
     IDX_ENABLE_MENU_ANIMATIONS,
 
     /**
+     * "true" if bitmap caching should be disabled, "false" if bitmap caching
+     * should remain enabled.
+     */
+    IDX_DISABLE_BITMAP_CACHING,
+
+    /**
+     * "true" if the offscreen caching should be disabled, false if offscren
+     * caching should remain enabled.
+     */
+    IDX_DISABLE_OFFSCREEN_CACHING,
+
+    /**
      * The preconnection ID to send within the preconnection PDU when
      * initiating an RDP connection, if any.
      */
@@ -672,6 +686,14 @@ guac_rdp_settings* guac_rdp_parse_args(guac_user* user,
         guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv,
                 IDX_ENABLE_MENU_ANIMATIONS, 0);
 
+    settings->disable_bitmap_caching =
+        guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv,
+                IDX_DISABLE_BITMAP_CACHING, 0);
+
+    settings->disable_offscreen_caching =
+        guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv,
+                IDX_DISABLE_OFFSCREEN_CACHING, 0);
+
     /* Session color depth */
     settings->color_depth = 
         guac_user_parse_args_int(user, GUAC_RDP_CLIENT_ARGS, argv,
@@ -1305,7 +1327,9 @@ void guac_rdp_push_settings(guac_rdp_settings* guac_settings, freerdp* rdp) {
 
     /* Order support */
 #ifdef LEGACY_RDPSETTINGS
-    bitmap_cache = rdp_settings->bitmap_cache;
+    rdp_settings->bitmap_cache = !guac_settings->disable_bitmap_caching;
+    bitmap_cache = !guac_settings->disable_bitmap_caching;
+    rdp_settings->offscreen_bitmap_cache = !guac_settings->disable_offscreen_caching;
     rdp_settings->os_major_type = OSMAJORTYPE_UNSPECIFIED;
     rdp_settings->os_minor_type = OSMINORTYPE_UNSPECIFIED;
     rdp_settings->desktop_resize = TRUE;
@@ -1334,7 +1358,9 @@ void guac_rdp_push_settings(guac_rdp_settings* guac_settings, freerdp* rdp) {
     rdp_settings->order_support[NEG_ELLIPSE_SC_INDEX] = FALSE;
     rdp_settings->order_support[NEG_ELLIPSE_CB_INDEX] = FALSE;
 #else
-    bitmap_cache = rdp_settings->BitmapCacheEnabled;
+    rdp_settings->BitmapCacheEnabled = !guac_settings->disable_bitmap_caching;
+    bitmap_cache = !guac_settings->disable_bitmap_caching;
+    rdp_settings->OffscreenSupportLevel = !guac_settings->disable_offscreen_caching;
     rdp_settings->OsMajorType = OSMAJORTYPE_UNSPECIFIED;
     rdp_settings->OsMinorType = OSMINORTYPE_UNSPECIFIED;
     rdp_settings->DesktopResize = TRUE;

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/66ffda24/src/protocols/rdp/rdp_settings.h
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/rdp_settings.h b/src/protocols/rdp/rdp_settings.h
index ec540ef..f0f9137 100644
--- a/src/protocols/rdp/rdp_settings.h
+++ b/src/protocols/rdp/rdp_settings.h
@@ -300,6 +300,18 @@ typedef struct guac_rdp_settings {
     int menu_animations_enabled;
 
     /**
+     * Whether bitmap caching should be disabled.  By default it is
+     * enabled - this allows users to explicitly disable it.
+     */
+    int disable_bitmap_caching;
+
+    /**
+     * Whether offscreen caching should be disabled.  By default it is
+     * enabled - this allows users to explicitly disable it.
+     */
+    int disable_offscreen_caching;
+
+    /**
      * The preconnection ID to send within the preconnection PDU when
      * initiating an RDP connection, if any. If no preconnection ID is
      * specified, this will be -1.


[2/3] guacamole-server git commit: GUACAMOLE-448: Add support for configuring glyph caching.

Posted by mj...@apache.org.
GUACAMOLE-448: Add support for configuring glyph caching.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-server/commit/d239207f
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-server/tree/d239207f
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-server/diff/d239207f

Branch: refs/heads/master
Commit: d239207f0f32ac1534b0550947a83b8f649bf653
Parents: 66ffda2
Author: Nick Couchman <vn...@apache.org>
Authored: Tue Feb 20 15:35:50 2018 -0500
Committer: Nick Couchman <vn...@apache.org>
Committed: Tue Feb 20 15:35:50 2018 -0500

----------------------------------------------------------------------
 src/protocols/rdp/rdp_settings.c | 21 ++++++++++++++++-----
 src/protocols/rdp/rdp_settings.h |  6 ++++++
 2 files changed, 22 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/d239207f/src/protocols/rdp/rdp_settings.c
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/rdp_settings.c b/src/protocols/rdp/rdp_settings.c
index b7062dd..beaa499 100644
--- a/src/protocols/rdp/rdp_settings.c
+++ b/src/protocols/rdp/rdp_settings.c
@@ -74,6 +74,7 @@ const char* GUAC_RDP_CLIENT_ARGS[] = {
     "enable-menu-animations",
     "disable-bitmap-caching",
     "disable-offscreen-caching",
+    "disable-glyph-caching",
     "preconnection-id",
     "preconnection-blob",
 
@@ -320,6 +321,12 @@ enum RDP_ARGS_IDX {
     IDX_DISABLE_OFFSCREEN_CACHING,
 
     /**
+     * "true" if glyph caching should be disabled, false if glyph caching should
+     * remain enabled.
+     */
+    IDX_DISABLE_GLYPH_CACHING,
+
+    /**
      * The preconnection ID to send within the preconnection PDU when
      * initiating an RDP connection, if any.
      */
@@ -694,6 +701,10 @@ 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);
+
     /* Session color depth */
     settings->color_depth = 
         guac_user_parse_args_int(user, GUAC_RDP_CLIENT_ARGS, argv,
@@ -1063,7 +1074,7 @@ static char* guac_rdp_strdup(const char* str) {
 
 void guac_rdp_push_settings(guac_rdp_settings* guac_settings, freerdp* rdp) {
 
-    BOOL bitmap_cache;
+    BOOL bitmap_cache = !guac_settings->disable_bitmap_caching;
     rdpSettings* rdp_settings = rdp->settings;
 
     /* Authentication */
@@ -1327,9 +1338,9 @@ void guac_rdp_push_settings(guac_rdp_settings* guac_settings, freerdp* rdp) {
 
     /* Order support */
 #ifdef LEGACY_RDPSETTINGS
-    rdp_settings->bitmap_cache = !guac_settings->disable_bitmap_caching;
-    bitmap_cache = !guac_settings->disable_bitmap_caching;
+    rdp_settings->bitmap_cache = bitmap_cache;
     rdp_settings->offscreen_bitmap_cache = !guac_settings->disable_offscreen_caching;
+    rdp_settings->glyph_cache = !guac_settings->disable_glyph_caching;
     rdp_settings->os_major_type = OSMAJORTYPE_UNSPECIFIED;
     rdp_settings->os_minor_type = OSMINORTYPE_UNSPECIFIED;
     rdp_settings->desktop_resize = TRUE;
@@ -1358,9 +1369,9 @@ void guac_rdp_push_settings(guac_rdp_settings* guac_settings, freerdp* rdp) {
     rdp_settings->order_support[NEG_ELLIPSE_SC_INDEX] = FALSE;
     rdp_settings->order_support[NEG_ELLIPSE_CB_INDEX] = FALSE;
 #else
-    rdp_settings->BitmapCacheEnabled = !guac_settings->disable_bitmap_caching;
-    bitmap_cache = !guac_settings->disable_bitmap_caching;
+    rdp_settings->BitmapCacheEnabled = bitmap_cache;
     rdp_settings->OffscreenSupportLevel = !guac_settings->disable_offscreen_caching;
+    rdp_settings->GlyphSupportLevel = !guac_settings->disable_glyph_caching ? GLYPH_SUPPORT_FULL : GLYPH_SUPPORT_NONE;
     rdp_settings->OsMajorType = OSMAJORTYPE_UNSPECIFIED;
     rdp_settings->OsMinorType = OSMINORTYPE_UNSPECIFIED;
     rdp_settings->DesktopResize = TRUE;

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/d239207f/src/protocols/rdp/rdp_settings.h
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/rdp_settings.h b/src/protocols/rdp/rdp_settings.h
index f0f9137..61ecb38 100644
--- a/src/protocols/rdp/rdp_settings.h
+++ b/src/protocols/rdp/rdp_settings.h
@@ -312,6 +312,12 @@ typedef struct guac_rdp_settings {
     int disable_offscreen_caching;
 
     /**
+     * Whether glyph caching should be disabled.  By default it is enabled
+     * - this allows users to explicitly disable it.
+     */
+    int disable_glyph_caching;
+
+    /**
      * The preconnection ID to send within the preconnection PDU when
      * initiating an RDP connection, if any. If no preconnection ID is
      * specified, this will be -1.


[3/3] guacamole-server git commit: GUACAMOLE-448: Merge support for configuring the level of caching used by RDP.

Posted by mj...@apache.org.
GUACAMOLE-448: Merge support for configuring the level of caching used by RDP.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-server/commit/bc5b01d4
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-server/tree/bc5b01d4
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-server/diff/bc5b01d4

Branch: refs/heads/master
Commit: bc5b01d4d8ab0c3c89a08007316d33012261f6b3
Parents: 3187a64 d239207
Author: Michael Jumper <mj...@apache.org>
Authored: Thu Feb 22 00:39:31 2018 -0800
Committer: Michael Jumper <mj...@apache.org>
Committed: Thu Feb 22 00:39:31 2018 -0800

----------------------------------------------------------------------
 src/protocols/rdp/rdp_settings.c | 43 ++++++++++++++++++++++++++++++++---
 src/protocols/rdp/rdp_settings.h | 18 +++++++++++++++
 2 files changed, 58 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/bc5b01d4/src/protocols/rdp/rdp_settings.c
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/bc5b01d4/src/protocols/rdp/rdp_settings.h
----------------------------------------------------------------------