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/07/06 05:54:51 UTC

[1/5] guacamole-server git commit: GUACAMOLE-446: Add settings for drive name.

Repository: guacamole-server
Updated Branches:
  refs/heads/master 83f8dd50d -> f5b5ac718


GUACAMOLE-446: Add settings for drive name.

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

Branch: refs/heads/master
Commit: cfcfe8866cc1ab8e2ece21e4f8b56eca6c165d1d
Parents: da1e078
Author: Nick Couchman <vn...@apache.org>
Authored: Tue Jul 3 22:59:30 2018 -0400
Committer: Nick Couchman <vn...@apache.org>
Committed: Tue Jul 3 22:59:30 2018 -0400

----------------------------------------------------------------------
 src/protocols/rdp/rdp_settings.c | 13 +++++++++++++
 src/protocols/rdp/rdp_settings.h |  5 +++++
 2 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/cfcfe886/src/protocols/rdp/rdp_settings.c
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/rdp_settings.c b/src/protocols/rdp/rdp_settings.c
index 62fa1e2..258ca62 100644
--- a/src/protocols/rdp/rdp_settings.c
+++ b/src/protocols/rdp/rdp_settings.c
@@ -54,6 +54,7 @@ const char* GUAC_RDP_CLIENT_ARGS[] = {
     "enable-printing",
     "printer-name",
     "enable-drive",
+    "drive-name",
     "drive-path",
     "create-drive-path",
     "console",
@@ -198,6 +199,12 @@ enum RDP_ARGS_IDX {
      * otherwise.
      */
     IDX_ENABLE_DRIVE,
+    
+    /**
+     * The name of the virtual driver that will be passed through to the
+     * RDP connection.
+     */
+    IDX_DRIVE_NAME,
 
     /**
      * The local system path which will be used to persist the
@@ -809,6 +816,11 @@ guac_rdp_settings* guac_rdp_parse_args(guac_user* user,
     settings->drive_enabled =
         guac_user_parse_args_boolean(user, GUAC_RDP_CLIENT_ARGS, argv,
                 IDX_ENABLE_DRIVE, 0);
+    
+    /* Name of the drive being passed through */
+    settings->drive_name =
+        guac_user_parse_args_string(user, GUAC_RDP_CLIENT_ARGS, argv,
+                IDX_DRIVE_NAME, 0);
 
     settings->drive_path =
         guac_user_parse_args_string(user, GUAC_RDP_CLIENT_ARGS, argv,
@@ -990,6 +1002,7 @@ void guac_rdp_settings_free(guac_rdp_settings* settings) {
     /* Free settings strings */
     free(settings->client_name);
     free(settings->domain);
+    free(settings->drive_name);
     free(settings->drive_path);
     free(settings->hostname);
     free(settings->initial_program);

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/cfcfe886/src/protocols/rdp/rdp_settings.h
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/rdp_settings.h b/src/protocols/rdp/rdp_settings.h
index 5caffe9..d521a87 100644
--- a/src/protocols/rdp/rdp_settings.h
+++ b/src/protocols/rdp/rdp_settings.h
@@ -186,6 +186,11 @@ typedef struct guac_rdp_settings {
      * Whether the virtual drive is enabled.
      */
     int drive_enabled;
+    
+    /**
+     * The name of the virtual drive to pass through to the RDP connection.
+     */
+    char* drive_name;
 
     /**
      * The local system path which will be used to persist the


[5/5] guacamole-server git commit: Merge 1.0.0 changes back to master.

Posted by mj...@apache.org.
Merge 1.0.0 changes back to master.


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

Branch: refs/heads/master
Commit: f5b5ac718396b24352290d2fac976260f4b3829e
Parents: 83f8dd5 71f993b
Author: Michael Jumper <mj...@apache.org>
Authored: Thu Jul 5 22:54:36 2018 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Thu Jul 5 22:54:36 2018 -0700

----------------------------------------------------------------------
 .../rdp/guac_rdpdr/rdpdr_fs_messages_vol_info.c        | 12 +++++++-----
 src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.c        |  4 ++--
 src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.h        |  8 +++++++-
 src/protocols/rdp/guac_rdpdr/rdpdr_messages.h          |  6 ------
 src/protocols/rdp/guac_rdpdr/rdpdr_service.c           |  2 +-
 src/protocols/rdp/rdp_settings.c                       | 13 +++++++++++++
 src/protocols/rdp/rdp_settings.h                       |  5 +++++
 7 files changed, 35 insertions(+), 15 deletions(-)
----------------------------------------------------------------------



[2/5] guacamole-server git commit: GUACAMOLE-446: Pass through drive name to RDPDR stream.

Posted by mj...@apache.org.
GUACAMOLE-446: Pass through drive name to RDPDR stream.


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

Branch: refs/heads/master
Commit: 958fb4c8e0747fe91935d0885b43de484fe198df
Parents: cfcfe88
Author: Nick Couchman <vn...@apache.org>
Authored: Tue Jul 3 23:10:05 2018 -0400
Committer: Nick Couchman <vn...@apache.org>
Committed: Tue Jul 3 23:20:11 2018 -0400

----------------------------------------------------------------------
 .../rdp/guac_rdpdr/rdpdr_fs_messages_vol_info.c         | 12 +++++++-----
 src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.c         |  4 ++--
 src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.h         |  8 +++++++-
 src/protocols/rdp/guac_rdpdr/rdpdr_messages.h           |  6 ------
 src/protocols/rdp/guac_rdpdr/rdpdr_service.c            |  2 +-
 5 files changed, 17 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/958fb4c8/src/protocols/rdp/guac_rdpdr/rdpdr_fs_messages_vol_info.c
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/guac_rdpdr/rdpdr_fs_messages_vol_info.c b/src/protocols/rdp/guac_rdpdr/rdpdr_fs_messages_vol_info.c
index 74e27fd..c107295 100644
--- a/src/protocols/rdp/guac_rdpdr/rdpdr_fs_messages_vol_info.c
+++ b/src/protocols/rdp/guac_rdpdr/rdpdr_fs_messages_vol_info.c
@@ -25,6 +25,7 @@
 #include "rdp_status.h"
 
 #include <freerdp/utils/svc_plugin.h>
+#include <guacamole/unicode.h>
 
 #ifdef ENABLE_WINPR
 #include <winpr/stream.h>
@@ -100,22 +101,23 @@ void guac_rdpdr_fs_process_query_device_info(guac_rdpdr_device* device, wStream*
 void guac_rdpdr_fs_process_query_attribute_info(guac_rdpdr_device* device, wStream* input_stream,
         int file_id, int completion_id) {
 
+    int name_len = guac_utf8_strlen(device->device_name);
+    
     wStream* output_stream = guac_rdpdr_new_io_completion(device,
-            completion_id, STATUS_SUCCESS, 16 + GUAC_FILESYSTEM_NAME_LENGTH);
+            completion_id, STATUS_SUCCESS, 16 + name_len);
 
     guac_client_log(device->rdpdr->client, GUAC_LOG_DEBUG,
             "%s: [file_id=%i]",
             __func__, file_id);
 
-    Stream_Write_UINT32(output_stream, 12 + GUAC_FILESYSTEM_NAME_LENGTH);
+    Stream_Write_UINT32(output_stream, 12 + name_len);
     Stream_Write_UINT32(output_stream,
               FILE_UNICODE_ON_DISK
             | FILE_CASE_SENSITIVE_SEARCH
             | FILE_CASE_PRESERVED_NAMES); /* FileSystemAttributes */
     Stream_Write_UINT32(output_stream, GUAC_RDP_FS_MAX_PATH ); /* MaximumComponentNameLength */
-    Stream_Write_UINT32(output_stream, GUAC_FILESYSTEM_NAME_LENGTH);
-    Stream_Write(output_stream, GUAC_FILESYSTEM_NAME,
-            GUAC_FILESYSTEM_NAME_LENGTH);
+    Stream_Write_UINT32(output_stream, name_len);
+    Stream_Write(output_stream, device->device_name, name_len);
 
     svc_plugin_send((rdpSvcPlugin*) device->rdpdr, output_stream);
 

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/958fb4c8/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.c
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.c b/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.c
index 85787db..e064d4d 100644
--- a/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.c
+++ b/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.c
@@ -119,7 +119,7 @@ static void guac_rdpdr_device_fs_free_handler(guac_rdpdr_device* device) {
     
 }
 
-void guac_rdpdr_register_fs(guac_rdpdrPlugin* rdpdr) {
+void guac_rdpdr_register_fs(guac_rdpdrPlugin* rdpdr, char* drive_name) {
 
     guac_client* client = rdpdr->client;
     guac_rdp_client* rdp_client = (guac_rdp_client*) client->data;
@@ -131,7 +131,7 @@ void guac_rdpdr_register_fs(guac_rdpdrPlugin* rdpdr) {
     /* Init device */
     device->rdpdr       = rdpdr;
     device->device_id   = id;
-    device->device_name = "Guacamole Filesystem";
+    device->device_name = drive_name;
     int device_name_len = guac_utf8_strlen(device->device_name);
     device->device_type = RDPDR_DTYP_FILESYSTEM;
     device->dos_name = "GUACFS\0\0";

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/958fb4c8/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.h
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.h b/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.h
index ca3dd30..f990806 100644
--- a/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.h
+++ b/src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.h
@@ -41,8 +41,14 @@
 /**
  * Registers a new filesystem device within the RDPDR plugin. This must be done
  * before RDPDR connection finishes.
+ * 
+ * @param rdpdr
+ *     The RDP device redirection plugin with which to register the device.
+ * 
+ * @param drive_name
+ *     The name of the redirected drive to display in the RDP connection.
  */
-void guac_rdpdr_register_fs(guac_rdpdrPlugin* rdpdr);
+void guac_rdpdr_register_fs(guac_rdpdrPlugin* rdpdr, char* drive_name);
 
 #endif
 

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/958fb4c8/src/protocols/rdp/guac_rdpdr/rdpdr_messages.h
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/guac_rdpdr/rdpdr_messages.h b/src/protocols/rdp/guac_rdpdr/rdpdr_messages.h
index 8f27652..1e48924 100644
--- a/src/protocols/rdp/guac_rdpdr/rdpdr_messages.h
+++ b/src/protocols/rdp/guac_rdpdr/rdpdr_messages.h
@@ -77,12 +77,6 @@
 #define GUAC_PRINTER_DRIVER_LENGTH 50
 
 /**
- * Name of the filesystem.
- */
-#define GUAC_FILESYSTEM_NAME          "G\0u\0a\0c\0a\0m\0o\0l\0e\0\0\0"
-#define GUAC_FILESYSTEM_NAME_LENGTH   20
-
-/**
  * Label of the filesystem.
  */
 #define GUAC_FILESYSTEM_LABEL          "G\0U\0A\0C\0F\0I\0L\0E\0"

http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/958fb4c8/src/protocols/rdp/guac_rdpdr/rdpdr_service.c
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/guac_rdpdr/rdpdr_service.c b/src/protocols/rdp/guac_rdpdr/rdpdr_service.c
index 611d21a..4901dec 100644
--- a/src/protocols/rdp/guac_rdpdr/rdpdr_service.c
+++ b/src/protocols/rdp/guac_rdpdr/rdpdr_service.c
@@ -100,7 +100,7 @@ void guac_rdpdr_process_connect(rdpSvcPlugin* plugin) {
 
     /* Register drive if enabled */
     if (rdp_client->settings->drive_enabled)
-        guac_rdpdr_register_fs(rdpdr);
+        guac_rdpdr_register_fs(rdpdr, rdp_client->settings->drive_name);
 
     /* Log that printing, etc. has been loaded */
     guac_client_log(client, GUAC_LOG_INFO, "guacdr connected.");


[4/5] guacamole-server git commit: GUACAMOLE-446: Merge changes adding support for overriding default RDP virtual drive name.

Posted by mj...@apache.org.
GUACAMOLE-446: Merge changes adding support for overriding default RDP virtual drive name.


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

Branch: refs/heads/master
Commit: 71f993b25d8942c088c4f174e6aa681b49723c2d
Parents: f980d4b 5e942c9
Author: Michael Jumper <mj...@apache.org>
Authored: Thu Jul 5 22:53:29 2018 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Thu Jul 5 22:53:29 2018 -0700

----------------------------------------------------------------------
 .../rdp/guac_rdpdr/rdpdr_fs_messages_vol_info.c        | 12 +++++++-----
 src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.c        |  4 ++--
 src/protocols/rdp/guac_rdpdr/rdpdr_fs_service.h        |  8 +++++++-
 src/protocols/rdp/guac_rdpdr/rdpdr_messages.h          |  6 ------
 src/protocols/rdp/guac_rdpdr/rdpdr_service.c           |  2 +-
 src/protocols/rdp/rdp_settings.c                       | 13 +++++++++++++
 src/protocols/rdp/rdp_settings.h                       |  5 +++++
 7 files changed, 35 insertions(+), 15 deletions(-)
----------------------------------------------------------------------



[3/5] guacamole-server git commit: GUACAMOLE-446: Valid default value for the filesystem name.

Posted by mj...@apache.org.
GUACAMOLE-446: Valid default value for the filesystem name.

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

Branch: refs/heads/master
Commit: 5e942c9a67eba87c1b77e8c04db0433b13d5773b
Parents: 958fb4c
Author: Nick Couchman <vn...@apache.org>
Authored: Tue Jul 3 23:23:38 2018 -0400
Committer: Nick Couchman <vn...@apache.org>
Committed: Tue Jul 3 23:23:38 2018 -0400

----------------------------------------------------------------------
 src/protocols/rdp/rdp_settings.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/5e942c9a/src/protocols/rdp/rdp_settings.c
----------------------------------------------------------------------
diff --git a/src/protocols/rdp/rdp_settings.c b/src/protocols/rdp/rdp_settings.c
index 258ca62..a3bd348 100644
--- a/src/protocols/rdp/rdp_settings.c
+++ b/src/protocols/rdp/rdp_settings.c
@@ -820,7 +820,7 @@ guac_rdp_settings* guac_rdp_parse_args(guac_user* user,
     /* Name of the drive being passed through */
     settings->drive_name =
         guac_user_parse_args_string(user, GUAC_RDP_CLIENT_ARGS, argv,
-                IDX_DRIVE_NAME, 0);
+                IDX_DRIVE_NAME, "Guacamole Filesystem");
 
     settings->drive_path =
         guac_user_parse_args_string(user, GUAC_RDP_CLIENT_ARGS, argv,