mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUACAMOLE-1298: Migrate to centralized declarations of common dependencies.
This commit is contained in:
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-cas</name>
|
<name>guacamole-auth-cas</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -152,19 +159,16 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
<artifactId>guava</artifactId>
|
<artifactId>guava</artifactId>
|
||||||
<version>27.0.1-jre</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Guice -->
|
<!-- Guice -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-multibindings</artifactId>
|
<artifactId>guice-multibindings</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Java servlet API -->
|
<!-- Java servlet API -->
|
||||||
@@ -187,19 +191,16 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.junit.jupiter</groupId>
|
<groupId>org.junit.jupiter</groupId>
|
||||||
<artifactId>junit-jupiter-api</artifactId>
|
<artifactId>junit-jupiter-api</artifactId>
|
||||||
<version>5.6.0</version>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.junit.jupiter</groupId>
|
<groupId>org.junit.jupiter</groupId>
|
||||||
<artifactId>junit-jupiter-params</artifactId>
|
<artifactId>junit-jupiter-params</artifactId>
|
||||||
<version>5.6.0</version>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.junit.jupiter</groupId>
|
<groupId>org.junit.jupiter</groupId>
|
||||||
<artifactId>junit-jupiter-engine</artifactId>
|
<artifactId>junit-jupiter-engine</artifactId>
|
||||||
<version>5.6.0</version>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-duo</name>
|
<name>guacamole-auth-duo</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -221,19 +228,16 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
<artifactId>guava</artifactId>
|
<artifactId>guava</artifactId>
|
||||||
<version>27.0.1-jre</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Guice -->
|
<!-- Guice -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-multibindings</artifactId>
|
<artifactId>guice-multibindings</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Java servlet API -->
|
<!-- Java servlet API -->
|
||||||
|
@@ -20,7 +20,6 @@
|
|||||||
package org.apache.guacamole.auth.duo.form;
|
package org.apache.guacamole.auth.duo.form;
|
||||||
|
|
||||||
import org.apache.guacamole.form.Field;
|
import org.apache.guacamole.form.Field;
|
||||||
import org.codehaus.jackson.annotate.JsonProperty;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A custom field type which uses the DuoWeb API to produce a signed response
|
* A custom field type which uses the DuoWeb API to produce a signed response
|
||||||
@@ -81,8 +80,7 @@ public class DuoSignedResponseField extends Field {
|
|||||||
* @return
|
* @return
|
||||||
* The hostname of the DuoWeb API endpoint.
|
* The hostname of the DuoWeb API endpoint.
|
||||||
*/
|
*/
|
||||||
@JsonProperty("apiHost")
|
public String getApiHost() {
|
||||||
public String getAPIHost() {
|
|
||||||
return apiHost;
|
return apiHost;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -26,10 +26,17 @@
|
|||||||
<groupId>org.apache.guacamole</groupId>
|
<groupId>org.apache.guacamole</groupId>
|
||||||
<artifactId>guacamole-auth-header</artifactId>
|
<artifactId>guacamole-auth-header</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>1.2.0</version>
|
<version>1.3.0</version>
|
||||||
<name>guacamole-auth-header</name>
|
<name>guacamole-auth-header</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -130,7 +137,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.guacamole</groupId>
|
<groupId>org.apache.guacamole</groupId>
|
||||||
<artifactId>guacamole-ext</artifactId>
|
<artifactId>guacamole-ext</artifactId>
|
||||||
<version>1.2.0</version>
|
<version>1.3.0</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
@@ -138,12 +145,10 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-multibindings</artifactId>
|
<artifactId>guice-multibindings</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Java servlet API -->
|
<!-- Java servlet API -->
|
||||||
|
@@ -29,10 +29,6 @@
|
|||||||
<name>guacamole-auth-jdbc-base</name>
|
<name>guacamole-auth-jdbc-base</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
<properties>
|
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.apache.guacamole</groupId>
|
<groupId>org.apache.guacamole</groupId>
|
||||||
<artifactId>guacamole-auth-jdbc</artifactId>
|
<artifactId>guacamole-auth-jdbc</artifactId>
|
||||||
@@ -40,6 +36,10 @@
|
|||||||
<relativePath>../../</relativePath>
|
<relativePath>../../</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
|
||||||
@@ -123,19 +123,16 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>4.1.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-multibindings</artifactId>
|
<artifactId>guice-multibindings</artifactId>
|
||||||
<version>4.1.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Guava - Utility Library -->
|
<!-- Guava - Utility Library -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
<artifactId>guava</artifactId>
|
<artifactId>guava</artifactId>
|
||||||
<version>27.0.1-jre</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-jdbc</name>
|
<name>guacamole-auth-jdbc</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-json</name>
|
<name>guacamole-auth-json</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -112,19 +119,22 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-multibindings</artifactId>
|
<artifactId>guice-multibindings</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Jackson for JSON support -->
|
<!-- Jackson for JSON support -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.codehaus.jackson</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-mapper-asl</artifactId>
|
<artifactId>jackson-databind</artifactId>
|
||||||
<version>1.9.2</version>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Guava Base Libraries -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.guava</groupId>
|
||||||
|
<artifactId>guava</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Java servlet API -->
|
<!-- Java servlet API -->
|
||||||
|
@@ -19,12 +19,12 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.auth.json.user;
|
package org.apache.guacamole.auth.json.user;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentMap;
|
import java.util.concurrent.ConcurrentMap;
|
||||||
import org.codehaus.jackson.annotate.JsonIgnore;
|
|
||||||
import org.codehaus.jackson.annotate.JsonProperty;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All data associated with a particular user, as parsed from the JSON supplied
|
* All data associated with a particular user, as parsed from the JSON supplied
|
||||||
|
@@ -19,11 +19,11 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.auth.json.user;
|
package org.apache.guacamole.auth.json.user;
|
||||||
|
|
||||||
|
import com.google.common.io.BaseEncoding;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentMap;
|
import java.util.concurrent.ConcurrentMap;
|
||||||
import javax.xml.bind.DatatypeConverter;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ public class UserDataDenylist {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Add to denylist only if not already present
|
// Add to denylist only if not already present
|
||||||
String signatureHex = DatatypeConverter.printHexBinary(signature);
|
String signatureHex = BaseEncoding.base16().encode(signature);
|
||||||
return denylist.putIfAbsent(signatureHex, data) == null;
|
return denylist.putIfAbsent(signatureHex, data) == null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.auth.json.user;
|
package org.apache.guacamole.auth.json.user;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.google.common.io.BaseEncoding;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
@@ -30,7 +32,6 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.xml.bind.DatatypeConverter;
|
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
import org.apache.guacamole.auth.json.ConfigurationService;
|
import org.apache.guacamole.auth.json.ConfigurationService;
|
||||||
import org.apache.guacamole.auth.json.CryptoService;
|
import org.apache.guacamole.auth.json.CryptoService;
|
||||||
@@ -43,7 +44,6 @@ import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
|
|||||||
import org.apache.guacamole.net.auth.simple.SimpleDirectory;
|
import org.apache.guacamole.net.auth.simple.SimpleDirectory;
|
||||||
import org.apache.guacamole.net.auth.simple.SimpleObjectPermissionSet;
|
import org.apache.guacamole.net.auth.simple.SimpleObjectPermissionSet;
|
||||||
import org.apache.guacamole.net.auth.simple.SimpleUser;
|
import org.apache.guacamole.net.auth.simple.SimpleUser;
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@@ -142,7 +142,7 @@ public class UserDataService {
|
|||||||
// Decrypt using defined encryption key
|
// Decrypt using defined encryption key
|
||||||
byte[] decrypted = cryptoService.decrypt(
|
byte[] decrypted = cryptoService.decrypt(
|
||||||
cryptoService.createEncryptionKey(confService.getSecretKey()),
|
cryptoService.createEncryptionKey(confService.getSecretKey()),
|
||||||
DatatypeConverter.parseBase64Binary(base64)
|
BaseEncoding.base64().decode(base64)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Abort if decrypted value cannot possibly have a signature AND data
|
// Abort if decrypted value cannot possibly have a signature AND data
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-ldap</name>
|
<name>guacamole-auth-ldap</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -158,12 +165,10 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-multibindings</artifactId>
|
<artifactId>guice-multibindings</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-openid</name>
|
<name>guacamole-auth-openid</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -198,12 +205,10 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-multibindings</artifactId>
|
<artifactId>guice-multibindings</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Java servlet API -->
|
<!-- Java servlet API -->
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-quickconnect</name>
|
<name>guacamole-auth-quickconnect</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-radius</name>
|
<name>guacamole-auth-radius</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -186,19 +193,16 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
<artifactId>guava</artifactId>
|
<artifactId>guava</artifactId>
|
||||||
<version>27.0.1-jre</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Guice -->
|
<!-- Guice -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-multibindings</artifactId>
|
<artifactId>guice-multibindings</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Java servlet API -->
|
<!-- Java servlet API -->
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-saml</name>
|
<name>guacamole-auth-saml</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-auth-totp</name>
|
<name>guacamole-auth-totp</name>
|
||||||
<url>http://guacamole.incubator.apache.org/</url>
|
<url>http://guacamole.incubator.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
@@ -225,19 +232,16 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
<artifactId>guava</artifactId>
|
<artifactId>guava</artifactId>
|
||||||
<version>27.0.1-jre</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Guice -->
|
<!-- Guice -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-multibindings</artifactId>
|
<artifactId>guice-multibindings</artifactId>
|
||||||
<version>3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Java servlet API -->
|
<!-- Java servlet API -->
|
||||||
|
@@ -35,7 +35,6 @@ import org.apache.guacamole.auth.totp.user.UserTOTPKey;
|
|||||||
import org.apache.guacamole.auth.totp.conf.ConfigurationService;
|
import org.apache.guacamole.auth.totp.conf.ConfigurationService;
|
||||||
import org.apache.guacamole.form.Field;
|
import org.apache.guacamole.form.Field;
|
||||||
import org.apache.guacamole.totp.TOTPGenerator;
|
import org.apache.guacamole.totp.TOTPGenerator;
|
||||||
import org.codehaus.jackson.annotate.JsonProperty;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Field which prompts the user for an authentication code generated via TOTP.
|
* Field which prompts the user for an authentication code generated via TOTP.
|
||||||
@@ -242,8 +241,7 @@ public class AuthenticationCodeField extends Field {
|
|||||||
* If the configuration information required for generating the key URI
|
* If the configuration information required for generating the key URI
|
||||||
* cannot be read from guacamole.properties.
|
* cannot be read from guacamole.properties.
|
||||||
*/
|
*/
|
||||||
@JsonProperty("keyUri")
|
public URI getKeyUri() throws GuacamoleException {
|
||||||
public URI getKeyURI() throws GuacamoleException {
|
|
||||||
|
|
||||||
// Do not generate a key URI if no key is being exposed
|
// Do not generate a key URI if no key is being exposed
|
||||||
if (key == null)
|
if (key == null)
|
||||||
@@ -276,11 +274,10 @@ public class AuthenticationCodeField extends Field {
|
|||||||
* If the configuration information required for generating the QR code
|
* If the configuration information required for generating the QR code
|
||||||
* cannot be read from guacamole.properties.
|
* cannot be read from guacamole.properties.
|
||||||
*/
|
*/
|
||||||
@JsonProperty("qrCode")
|
public String getQrCode() throws GuacamoleException {
|
||||||
public String getQRCode() throws GuacamoleException {
|
|
||||||
|
|
||||||
// Do not generate a QR code if no key is being exposed
|
// Do not generate a QR code if no key is being exposed
|
||||||
URI keyURI = getKeyURI();
|
URI keyURI = getKeyUri();
|
||||||
if (keyURI == null)
|
if (keyURI == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-common-js</name>
|
<name>guacamole-common-js</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
The base JavaScript API of the Guacamole project, providing JavaScript
|
The base JavaScript API of the Guacamole project, providing JavaScript
|
||||||
support for the Guacamole stack, including a full client
|
support for the Guacamole stack, including a full client
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-common</name>
|
<name>guacamole-common</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
The base Java API of the Guacamole project, providing Java support for
|
The base Java API of the Guacamole project, providing Java support for
|
||||||
the Guacamole stack.
|
the Guacamole stack.
|
||||||
@@ -157,7 +164,6 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
<artifactId>slf4j-api</artifactId>
|
<artifactId>slf4j-api</artifactId>
|
||||||
<version>1.7.7</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- JUnit -->
|
<!-- JUnit -->
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole-ext</name>
|
<name>guacamole-ext</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
The Java API for extending the main Guacamole web application. This
|
The Java API for extending the main Guacamole web application. This
|
||||||
is not needed for authoring a new Guacamole-based web application.
|
is not needed for authoring a new Guacamole-based web application.
|
||||||
@@ -151,14 +158,6 @@
|
|||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- JAXB -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>javax.xml.bind</groupId>
|
|
||||||
<artifactId>jaxb-api</artifactId>
|
|
||||||
<version>2.2.2</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- Guacamole Java API -->
|
<!-- Guacamole Java API -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.guacamole</groupId>
|
<groupId>org.apache.guacamole</groupId>
|
||||||
@@ -175,11 +174,16 @@
|
|||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Guava Base Libraries -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.guava</groupId>
|
||||||
|
<artifactId>guava</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- Jackson for JSON support -->
|
<!-- Jackson for JSON support -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.codehaus.jackson</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-mapper-asl</artifactId>
|
<artifactId>jackson-databind</artifactId>
|
||||||
<version>1.9.2</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.environment;
|
package org.apache.guacamole.environment;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FilenameFilter;
|
import java.io.FilenameFilter;
|
||||||
@@ -27,7 +28,6 @@ import java.io.InputStream;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
import org.apache.guacamole.GuacamoleServerException;
|
import org.apache.guacamole.GuacamoleServerException;
|
||||||
import org.apache.guacamole.net.auth.GuacamoleProxyConfiguration;
|
import org.apache.guacamole.net.auth.GuacamoleProxyConfiguration;
|
||||||
|
@@ -19,8 +19,9 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.form;
|
package org.apache.guacamole.form;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an arbitrary field, such as an HTTP parameter, the parameter of a
|
* Represents an arbitrary field, such as an HTTP parameter, the parameter of a
|
||||||
@@ -30,7 +31,7 @@ import org.codehaus.jackson.map.annotate.JsonSerialize;
|
|||||||
* either through the web application itself (see FormService.js) or through
|
* either through the web application itself (see FormService.js) or through
|
||||||
* extensions.
|
* extensions.
|
||||||
*/
|
*/
|
||||||
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
@JsonInclude(value=Include.NON_NULL)
|
||||||
public class Field {
|
public class Field {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -19,12 +19,13 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.form;
|
package org.apache.guacamole.form;
|
||||||
|
|
||||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Describes an available legal value for an enumerated field.
|
* Describes an available legal value for an enumerated field.
|
||||||
*/
|
*/
|
||||||
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
@JsonInclude(value=Include.NON_NULL)
|
||||||
public class FieldOption {
|
public class FieldOption {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -19,14 +19,15 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.form;
|
package org.apache.guacamole.form;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Information which describes logical set of fields.
|
* Information which describes logical set of fields.
|
||||||
*/
|
*/
|
||||||
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
@JsonInclude(value=Include.NON_NULL)
|
||||||
public class Form {
|
public class Form {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.properties;
|
package org.apache.guacamole.properties;
|
||||||
|
|
||||||
import javax.xml.bind.DatatypeConverter;
|
import com.google.common.io.BaseEncoding;
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
import org.apache.guacamole.GuacamoleServerException;
|
import org.apache.guacamole.GuacamoleServerException;
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ public abstract class ByteArrayProperty implements GuacamoleProperty<byte[]> {
|
|||||||
|
|
||||||
// Return value parsed from hex
|
// Return value parsed from hex
|
||||||
try {
|
try {
|
||||||
return DatatypeConverter.parseHexBinary(value);
|
return BaseEncoding.base16().decode(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fail parse if hex invalid
|
// Fail parse if hex invalid
|
||||||
|
@@ -30,6 +30,13 @@
|
|||||||
<name>guacamole</name>
|
<name>guacamole</name>
|
||||||
<url>http://guacamole.apache.org/</url>
|
<url>http://guacamole.apache.org/</url>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.guacamole</groupId>
|
||||||
|
<artifactId>guacamole-client</artifactId>
|
||||||
|
<version>1.3.0</version>
|
||||||
|
<relativePath>../</relativePath>
|
||||||
|
</parent>
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
The Guacamole web application, providing authentication and an HTML5
|
The Guacamole web application, providing authentication and an HTML5
|
||||||
remote desktop client.
|
remote desktop client.
|
||||||
@@ -252,17 +259,14 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
<artifactId>slf4j-api</artifactId>
|
<artifactId>slf4j-api</artifactId>
|
||||||
<version>1.7.7</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.slf4j</groupId>
|
<groupId>org.slf4j</groupId>
|
||||||
<artifactId>jul-to-slf4j</artifactId>
|
<artifactId>jul-to-slf4j</artifactId>
|
||||||
<version>1.7.7</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ch.qos.logback</groupId>
|
<groupId>ch.qos.logback</groupId>
|
||||||
<artifactId>logback-classic</artifactId>
|
<artifactId>logback-classic</artifactId>
|
||||||
<version>1.2.3</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Guacamole Extension API -->
|
<!-- Guacamole Extension API -->
|
||||||
@@ -440,38 +444,32 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject</groupId>
|
<groupId>com.google.inject</groupId>
|
||||||
<artifactId>guice</artifactId>
|
<artifactId>guice</artifactId>
|
||||||
<version>4.2.3</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-assistedinject</artifactId>
|
<artifactId>guice-assistedinject</artifactId>
|
||||||
<version>4.2.3</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Guice Servlet -->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.inject.extensions</groupId>
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
<artifactId>guice-servlet</artifactId>
|
<artifactId>guice-servlet</artifactId>
|
||||||
<version>4.2.3</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Jersey - JAX-RS Implementation -->
|
<!-- Jersey - JAX-RS Implementation -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.glassfish.jersey.containers</groupId>
|
<groupId>org.glassfish.jersey.containers</groupId>
|
||||||
<artifactId>jersey-container-servlet-core</artifactId>
|
<artifactId>jersey-container-servlet-core</artifactId>
|
||||||
<version>2.31</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.glassfish.jersey.inject</groupId>
|
<groupId>org.glassfish.jersey.inject</groupId>
|
||||||
<artifactId>jersey-hk2</artifactId>
|
<artifactId>jersey-hk2</artifactId>
|
||||||
<version>2.31</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Guice bridge for HK2 - the dependency injection framework integrated with Jersey 2.x -->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.glassfish.hk2</groupId>
|
<groupId>org.glassfish.hk2</groupId>
|
||||||
<artifactId>guice-bridge</artifactId>
|
<artifactId>guice-bridge</artifactId>
|
||||||
<version>2.6.1</version>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.glassfish.jersey.media</groupId>
|
||||||
|
<artifactId>jersey-media-json-jackson</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- JSR-250 annotations -->
|
<!-- JSR-250 annotations -->
|
||||||
@@ -481,27 +479,10 @@
|
|||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Jackson for JSON support -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.glassfish.jersey.media</groupId>
|
|
||||||
<artifactId>jersey-media-json-jackson</artifactId>
|
|
||||||
<version>2.31</version>
|
|
||||||
|
|
||||||
<!-- Exclude StAX API, which is part of Java 6 -->
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>javax.xml.stream</groupId>
|
|
||||||
<artifactId>stax-api</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- Guava Base Libraries -->
|
<!-- Guava Base Libraries -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
<artifactId>guava</artifactId>
|
<artifactId>guava</artifactId>
|
||||||
<version>27.0.1-jre</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- JSTZ for TimeZone Detection -->
|
<!-- JSTZ for TimeZone Detection -->
|
||||||
|
@@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.extension;
|
package org.apache.guacamole.extension;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonParseException;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -30,8 +32,6 @@ import java.util.zip.ZipEntry;
|
|||||||
import java.util.zip.ZipException;
|
import java.util.zip.ZipException;
|
||||||
import java.util.zip.ZipFile;
|
import java.util.zip.ZipFile;
|
||||||
import org.apache.guacamole.net.event.listener.Listener;
|
import org.apache.guacamole.net.event.listener.Listener;
|
||||||
import org.codehaus.jackson.JsonParseException;
|
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
import org.apache.guacamole.GuacamoleServerException;
|
import org.apache.guacamole.GuacamoleServerException;
|
||||||
import org.apache.guacamole.net.auth.AuthenticationProvider;
|
import org.apache.guacamole.net.auth.AuthenticationProvider;
|
||||||
|
@@ -19,9 +19,9 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.extension;
|
package org.apache.guacamole.extension;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.codehaus.jackson.annotate.JsonProperty;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Java representation of the JSON manifest contained within every Guacamole
|
* Java representation of the JSON manifest contained within every Guacamole
|
||||||
|
@@ -19,6 +19,10 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.extension;
|
package org.apache.guacamole.extension;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
||||||
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@@ -29,10 +33,6 @@ import java.util.Set;
|
|||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import javax.servlet.ServletContext;
|
import javax.servlet.ServletContext;
|
||||||
import org.codehaus.jackson.JsonNode;
|
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
|
||||||
import org.codehaus.jackson.node.JsonNodeFactory;
|
|
||||||
import org.codehaus.jackson.node.ObjectNode;
|
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
import org.apache.guacamole.environment.Environment;
|
import org.apache.guacamole.environment.Environment;
|
||||||
import org.apache.guacamole.properties.StringSetProperty;
|
import org.apache.guacamole.properties.StringSetProperty;
|
||||||
@@ -178,17 +178,17 @@ public class LanguageResourceService {
|
|||||||
|
|
||||||
// Create mutable copy of original
|
// Create mutable copy of original
|
||||||
ObjectNode newNode = JsonNodeFactory.instance.objectNode();
|
ObjectNode newNode = JsonNodeFactory.instance.objectNode();
|
||||||
Iterator<String> fieldNames = original.getFieldNames();
|
Iterator<String> fieldNames = original.fieldNames();
|
||||||
while (fieldNames.hasNext()) {
|
while (fieldNames.hasNext()) {
|
||||||
String fieldName = fieldNames.next();
|
String fieldName = fieldNames.next();
|
||||||
newNode.put(fieldName, original.get(fieldName));
|
newNode.set(fieldName, original.get(fieldName));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Merge each field
|
// Merge each field
|
||||||
fieldNames = overlay.getFieldNames();
|
fieldNames = overlay.fieldNames();
|
||||||
while (fieldNames.hasNext()) {
|
while (fieldNames.hasNext()) {
|
||||||
String fieldName = fieldNames.next();
|
String fieldName = fieldNames.next();
|
||||||
newNode.put(fieldName, mergeTranslations(original.get(fieldName), overlay.get(fieldName)));
|
newNode.set(fieldName, mergeTranslations(original.get(fieldName), overlay.get(fieldName)));
|
||||||
}
|
}
|
||||||
|
|
||||||
return newNode;
|
return newNode;
|
||||||
@@ -425,7 +425,7 @@ public class LanguageResourceService {
|
|||||||
|
|
||||||
// Attempt to read language name from node
|
// Attempt to read language name from node
|
||||||
String languageName;
|
String languageName;
|
||||||
if (nameNode == null || (languageName = nameNode.getTextValue()) == null) {
|
if (nameNode == null || (languageName = nameNode.textValue()) == null) {
|
||||||
logger.warn("Root-level \"" + LANGUAGE_DISPLAY_NAME_KEY + "\" string missing or invalid in language \"{}\"", languageKey);
|
logger.warn("Root-level \"" + LANGUAGE_DISPLAY_NAME_KEY + "\" string missing or invalid in language \"{}\"", languageKey);
|
||||||
languageName = languageKey;
|
languageName = languageKey;
|
||||||
}
|
}
|
||||||
|
@@ -19,11 +19,12 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.rest.connection;
|
package org.apache.guacamole.rest.connection;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
|
||||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
import org.apache.guacamole.net.auth.Connection;
|
import org.apache.guacamole.net.auth.Connection;
|
||||||
import org.apache.guacamole.protocol.GuacamoleConfiguration;
|
import org.apache.guacamole.protocol.GuacamoleConfiguration;
|
||||||
@@ -33,7 +34,7 @@ import org.apache.guacamole.rest.sharingprofile.APISharingProfile;
|
|||||||
* A simple connection to expose through the REST endpoints.
|
* A simple connection to expose through the REST endpoints.
|
||||||
*/
|
*/
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
@JsonInclude(value=Include.NON_NULL)
|
||||||
public class APIConnection {
|
public class APIConnection {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -19,10 +19,11 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.rest.connectiongroup;
|
package org.apache.guacamole.rest.connectiongroup;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
|
||||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
|
||||||
import org.apache.guacamole.net.auth.ConnectionGroup;
|
import org.apache.guacamole.net.auth.ConnectionGroup;
|
||||||
import org.apache.guacamole.net.auth.ConnectionGroup.Type;
|
import org.apache.guacamole.net.auth.ConnectionGroup.Type;
|
||||||
import org.apache.guacamole.rest.connection.APIConnection;
|
import org.apache.guacamole.rest.connection.APIConnection;
|
||||||
@@ -31,7 +32,7 @@ import org.apache.guacamole.rest.connection.APIConnection;
|
|||||||
* A simple connection group to expose through the REST endpoints.
|
* A simple connection group to expose through the REST endpoints.
|
||||||
*/
|
*/
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
@JsonInclude(value=Include.NON_NULL)
|
||||||
public class APIConnectionGroup {
|
public class APIConnectionGroup {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -19,14 +19,17 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.rest.sharingprofile;
|
package org.apache.guacamole.rest.sharingprofile;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
|
||||||
import org.apache.guacamole.net.auth.SharingProfile;
|
import org.apache.guacamole.net.auth.SharingProfile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The external representation used by the REST API for sharing profiles.
|
* The external representation used by the REST API for sharing profiles.
|
||||||
*/
|
*/
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
|
@JsonInclude(value=Include.NON_NULL)
|
||||||
public class APISharingProfile {
|
public class APISharingProfile {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -19,17 +19,18 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.rest.user;
|
package org.apache.guacamole.rest.user;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
|
||||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
|
||||||
import org.apache.guacamole.net.auth.User;
|
import org.apache.guacamole.net.auth.User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple User to expose through the REST endpoints.
|
* A simple User to expose through the REST endpoints.
|
||||||
*/
|
*/
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
@JsonInclude(value=Include.NON_NULL)
|
||||||
public class APIUser {
|
public class APIUser {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -19,16 +19,17 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.rest.usergroup;
|
package org.apache.guacamole.rest.usergroup;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
|
|
||||||
import org.codehaus.jackson.map.annotate.JsonSerialize;
|
|
||||||
import org.apache.guacamole.net.auth.UserGroup;
|
import org.apache.guacamole.net.auth.UserGroup;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple UserGroup to expose through the REST endpoints.
|
* A simple UserGroup to expose through the REST endpoints.
|
||||||
*/
|
*/
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
@JsonInclude(value=Include.NON_NULL)
|
||||||
public class APIUserGroup {
|
public class APIUserGroup {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
120
pom.xml
120
pom.xml
@@ -32,6 +32,14 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<guava.version>30.1-jre</guava.version>
|
||||||
|
<guice.version>4.2.3</guice.version>
|
||||||
|
<guice-bridge.version>2.6.1</guice-bridge.version>
|
||||||
|
<jackson.version>2.10.1</jackson.version>
|
||||||
|
<jersey.version>2.31</jersey.version>
|
||||||
|
<junit.version>5.6.0</junit.version>
|
||||||
|
<logback.version>1.2.3</logback.version>
|
||||||
|
<slf4j.version>1.7.30</slf4j.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
@@ -139,4 +147,116 @@
|
|||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
<dependencyManagement>
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
<!-- Guava utility library -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.guava</groupId>
|
||||||
|
<artifactId>guava</artifactId>
|
||||||
|
<version>${guava.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Guice dependency injection -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.inject</groupId>
|
||||||
|
<artifactId>guice</artifactId>
|
||||||
|
<version>${guice.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
|
<artifactId>guice-assistedinject</artifactId>
|
||||||
|
<version>${guice.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
|
<artifactId>guice-multibindings</artifactId>
|
||||||
|
<version>${guice.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.inject.extensions</groupId>
|
||||||
|
<artifactId>guice-servlet</artifactId>
|
||||||
|
<version>${guice.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Jersey JAX-RS implementation -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.glassfish.jersey.containers</groupId>
|
||||||
|
<artifactId>jersey-container-servlet-core</artifactId>
|
||||||
|
<version>${jersey.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.glassfish.jersey.inject</groupId>
|
||||||
|
<artifactId>jersey-hk2</artifactId>
|
||||||
|
<version>${jersey.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.glassfish.hk2</groupId>
|
||||||
|
<artifactId>guice-bridge</artifactId>
|
||||||
|
<version>${guice-bridge.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Jackson JSON mapper -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.glassfish.jersey.media</groupId>
|
||||||
|
<artifactId>jersey-media-json-jackson</artifactId>
|
||||||
|
<version>${jersey.version}</version>
|
||||||
|
|
||||||
|
<!-- Exclude StAX API, which is part of Java 6 -->
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>javax.xml.stream</groupId>
|
||||||
|
<artifactId>stax-api</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
|
<artifactId>jackson-annotations</artifactId>
|
||||||
|
<version>${jackson.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
|
<artifactId>jackson-databind</artifactId>
|
||||||
|
<version>${jackson.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Logging -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>slf4j-api</artifactId>
|
||||||
|
<version>${slf4j.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>jul-to-slf4j</artifactId>
|
||||||
|
<version>${slf4j.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ch.qos.logback</groupId>
|
||||||
|
<artifactId>logback-classic</artifactId>
|
||||||
|
<version>${logback.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- JUnit -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-api</artifactId>
|
||||||
|
<version>${junit.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-params</artifactId>
|
||||||
|
<version>${junit.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.jupiter</groupId>
|
||||||
|
<artifactId>junit-jupiter-engine</artifactId>
|
||||||
|
<version>${junit.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
</dependencyManagement>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
Reference in New Issue
Block a user