Repository: incubator-guacamole-client
Updated Branches:
  refs/heads/master 8bb6e8921 -> ef9ba688c


GUACAMOLE-335: Use /etc/guacamole for GUACAMOLE_HOME if not overridden and 
~/.guacamole does not exist.


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

Branch: refs/heads/master
Commit: b2b60fbd5e7ee4a87b21df703572dc0c82b73fc6
Parents: 8bb6e89
Author: Michael Jumper <[email protected]>
Authored: Tue Apr 25 10:40:17 2017 -0700
Committer: Michael Jumper <[email protected]>
Committed: Mon Jun 26 13:06:08 2017 -0700

----------------------------------------------------------------------
 .../guacamole/environment/LocalEnvironment.java    | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/b2b60fbd/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java
----------------------------------------------------------------------
diff --git 
a/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java
 
b/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java
index 0b7ffad..f45bcaa 100644
--- 
a/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java
+++ 
b/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java
@@ -103,6 +103,7 @@ public class LocalEnvironment implements Environment {
 
         // Determine location of GUACAMOLE_HOME
         guacHome = findGuacamoleHome();
+        logger.info("GUACAMOLE_HOME is \"{}\".", guacHome.getAbsolutePath());
 
         // Read properties
         properties = new Properties();
@@ -146,7 +147,8 @@ public class LocalEnvironment implements Environment {
      * Locates the Guacamole home directory by checking, in order:
      * the guacamole.home system property, the GUACAMOLE_HOME environment
      * variable, and finally the .guacamole directory in the home directory of
-     * the user running the servlet container.
+     * the user running the servlet container. If even the .guacamole directory
+     * doesn't exist, then /etc/guacamole will be used.
      *
      * @return The File representing the Guacamole home directory, which may
      *         or may not exist, and may turn out to not be a directory.
@@ -166,10 +168,19 @@ public class LocalEnvironment implements Environment {
         if (desiredDir != null)
             guacHome = new File(desiredDir);
 
-        // If not explicitly specified, use ~/.guacamole
-        else
+        // If not explicitly specified, use standard locations
+        else {
+
+            // Try ~/.guacamole first
             guacHome = new File(System.getProperty("user.home"), ".guacamole");
 
+            // If that doesn't exist, try /etc/guacamole if the /etc directory
+            // exists on this system
+            if (!guacHome.exists() && new File("/etc").exists())
+                guacHome = new File("/etc/guacamole");
+
+        }
+
         // Return discovered directory
         return guacHome;
 

Reply via email to