Merge patch branch changes to main.

This commit is contained in:
Virtually Nick committed 2025-12-26 19:36:30 -05:00
commit 8df2d3d8a6
61 files changed
+538 -222

No files matched your search

+1
View File
@@ -1,2 +1,3 @@
*~ *~
target/ target/
.flattened-pom.xml
+3 -3
View File
@@ -26,7 +26,7 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-example</artifactId> <artifactId>guacamole-example</artifactId>
<packaging>war</packaging> <packaging>war</packaging>
<version>1.6.0</version> <version>1.6.1</version>
<name>guacamole-example</name> <name>guacamole-example</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
@@ -106,7 +106,7 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common</artifactId> <artifactId>guacamole-common</artifactId>
<version>1.6.0</version> <version>1.6.1</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
@@ -114,7 +114,7 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common-js</artifactId> <artifactId>guacamole-common-js</artifactId>
<version>1.6.0</version> <version>1.6.1</version>
<type>zip</type> <type>zip</type>
<scope>runtime</scope> <scope>runtime</scope>
</dependency> </dependency>
+2 -2
View File
@@ -26,7 +26,7 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-playback-example</artifactId> <artifactId>guacamole-playback-example</artifactId>
<packaging>war</packaging> <packaging>war</packaging>
<version>1.6.0</version> <version>1.6.1</version>
<name>guacamole-playback-example</name> <name>guacamole-playback-example</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
@@ -88,7 +88,7 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common-js</artifactId> <artifactId>guacamole-common-js</artifactId>
<version>1.6.0</version> <version>1.6.1</version>
<type>zip</type> <type>zip</type>
<scope>runtime</scope> <scope>runtime</scope>
</dependency> </dependency>
+1 -5
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-ban</artifactId> <artifactId>guacamole-auth-ban</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-ban</name> <name>guacamole-auth-ban</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<dependencies> <dependencies>
@@ -51,8 +49,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
<!-- Exclude transitive dependencies that will be overridden by <!-- Exclude transitive dependencies that will be overridden by
newer versions required by Caffeine --> newer versions required by Caffeine -->
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "Brute-force Authentication Detection/Prevention", "name" : "Brute-force Authentication Detection/Prevention",
"namespace" : "ban", "namespace" : "ban",
+1 -5
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-duo</artifactId> <artifactId>guacamole-auth-duo</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-duo</name> <name>guacamole-auth-duo</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<properties> <properties>
@@ -49,8 +47,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guava - Utility Library --> <!-- Guava - Utility Library -->
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "Duo TFA Authentication Backend", "name" : "Duo TFA Authentication Backend",
"namespace" : "duo", "namespace" : "duo",
+1 -5
View File
@@ -26,15 +26,13 @@
<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.6.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> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<dependencies> <dependencies>
@@ -43,8 +41,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guice --> <!-- Guice -->
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "HTTP Header Authentication Extension", "name" : "HTTP Header Authentication Extension",
"namespace" : "header", "namespace" : "header",
@@ -32,7 +32,7 @@
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId> <artifactId>guacamole-auth-jdbc</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -50,7 +50,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<!-- MyBatis --> <!-- MyBatis -->
@@ -32,7 +32,7 @@
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId> <artifactId>guacamole-auth-jdbc</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -42,21 +42,21 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-mysql</artifactId> <artifactId>guacamole-auth-jdbc-mysql</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
<!-- PostgreSQL Authentication Extension --> <!-- PostgreSQL Authentication Extension -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-postgresql</artifactId> <artifactId>guacamole-auth-jdbc-postgresql</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
<!-- SQL Server Authentication Extension --> <!-- SQL Server Authentication Extension -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-sqlserver</artifactId> <artifactId>guacamole-auth-jdbc-sqlserver</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
</dependencies> </dependencies>
@@ -32,7 +32,7 @@
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId> <artifactId>guacamole-auth-jdbc</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -42,14 +42,13 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guacamole JDBC Authentication --> <!-- Guacamole JDBC Authentication -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-base</artifactId> <artifactId>guacamole-auth-jdbc-base</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
</dependencies> </dependencies>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "MySQL Authentication", "name" : "MySQL Authentication",
"namespace" : "mysql", "namespace" : "mysql",
@@ -32,7 +32,7 @@
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId> <artifactId>guacamole-auth-jdbc</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -42,14 +42,13 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guacamole JDBC Authentication --> <!-- Guacamole JDBC Authentication -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-base</artifactId> <artifactId>guacamole-auth-jdbc-base</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
</dependencies> </dependencies>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "PostgreSQL Authentication", "name" : "PostgreSQL Authentication",
"namespace" : "postgresql", "namespace" : "postgresql",
@@ -32,7 +32,7 @@
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId> <artifactId>guacamole-auth-jdbc</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -42,14 +42,13 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guacamole JDBC Authentication --> <!-- Guacamole JDBC Authentication -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-base</artifactId> <artifactId>guacamole-auth-jdbc-base</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
</dependencies> </dependencies>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "SQLServer Authentication", "name" : "SQLServer Authentication",
"namespace" : "sqlserver", "namespace" : "sqlserver",
+1 -17
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId> <artifactId>guacamole-auth-jdbc</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>1.6.0</version>
<name>guacamole-auth-jdbc</name> <name>guacamole-auth-jdbc</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<modules> <modules>
@@ -52,18 +50,4 @@
</modules> </modules>
<dependencyManagement>
<dependencies>
<!-- Guacamole Extension API -->
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project> </project>
+1 -5
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-json</artifactId> <artifactId>guacamole-auth-json</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-json</name> <name>guacamole-auth-json</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<dependencies> <dependencies>
@@ -43,8 +41,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guice --> <!-- Guice -->
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "Encrypted JSON Authentication", "name" : "Encrypted JSON Authentication",
"namespace" : "json", "namespace" : "json",
+1 -5
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-ldap</artifactId> <artifactId>guacamole-auth-ldap</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-ldap</name> <name>guacamole-auth-ldap</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<dependencies> <dependencies>
@@ -43,8 +41,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency> </dependency>
<!-- Apache Directory LDAP API --> <!-- Apache Directory LDAP API -->
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "LDAP Authentication", "name" : "LDAP Authentication",
"namespace" : "ldap", "namespace" : "ldap",
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-quickconnect</artifactId> <artifactId>guacamole-auth-quickconnect</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-quickconnect</name> <name>guacamole-auth-quickconnect</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<build> <build>
@@ -98,8 +96,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guice --> <!-- Guice -->
@@ -1,5 +1,5 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "Adhoc Guacamole Connections", "name" : "Adhoc Guacamole Connections",
"namespace" : "quickconnect", "namespace" : "quickconnect",
+1 -5
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-radius</artifactId> <artifactId>guacamole-auth-radius</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-radius</name> <name>guacamole-auth-radius</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<build> <build>
@@ -115,8 +113,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guava - Utility Library --> <!-- Guava - Utility Library -->
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "RADIUS Authentication Backend", "name" : "RADIUS Authentication Backend",
"namespace" : "radius", "namespace" : "radius",
+1 -5
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-restrict</artifactId> <artifactId>guacamole-auth-restrict</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-restrict</name> <name>guacamole-auth-restrict</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<build> <build>
@@ -127,8 +125,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guava - Utility Library --> <!-- Guava - Utility Library -->
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "Restriction Authentication Backend", "name" : "Restriction Authentication Backend",
"namespace" : "restrict", "namespace" : "restrict",
@@ -32,7 +32,7 @@
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso</artifactId> <artifactId>guacamole-auth-sso</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -26,14 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso-cas</artifactId> <artifactId>guacamole-auth-sso-cas</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-sso-cas</name> <name>guacamole-auth-sso-cas</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso</artifactId> <artifactId>guacamole-auth-sso</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "CAS Authentication Extension", "name" : "CAS Authentication Extension",
"namespace" : "cas", "namespace" : "cas",
@@ -32,7 +32,7 @@
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso</artifactId> <artifactId>guacamole-auth-sso</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -42,28 +42,28 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso-cas</artifactId> <artifactId>guacamole-auth-sso-cas</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
<!-- OpenID Authentication Extension --> <!-- OpenID Authentication Extension -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso-openid</artifactId> <artifactId>guacamole-auth-sso-openid</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
<!-- SAML Authentication Extension --> <!-- SAML Authentication Extension -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso-saml</artifactId> <artifactId>guacamole-auth-sso-saml</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
<!-- SSL Authentication Extension --> <!-- SSL Authentication Extension -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso-ssl</artifactId> <artifactId>guacamole-auth-sso-ssl</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
</dependencies> </dependencies>
@@ -26,14 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso-openid</artifactId> <artifactId>guacamole-auth-sso-openid</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-sso-openid</name> <name>guacamole-auth-sso-openid</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso</artifactId> <artifactId>guacamole-auth-sso</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "OpenID Authentication Extension", "name" : "OpenID Authentication Extension",
"namespace" : "openid", "namespace" : "openid",
@@ -26,14 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso-saml</artifactId> <artifactId>guacamole-auth-sso-saml</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-sso-saml</name> <name>guacamole-auth-sso-saml</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso</artifactId> <artifactId>guacamole-auth-sso</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "SAML Authentication Extension", "name" : "SAML Authentication Extension",
"namespace" : "saml", "namespace" : "saml",
@@ -26,14 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso-ssl</artifactId> <artifactId>guacamole-auth-sso-ssl</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-sso-ssl</name> <name>guacamole-auth-sso-ssl</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso</artifactId> <artifactId>guacamole-auth-sso</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "SSL Authentication Extension", "name" : "SSL Authentication Extension",
"namespace" : "ssl", "namespace" : "ssl",
+2 -12
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso</artifactId> <artifactId>guacamole-auth-sso</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>1.6.0</version>
<name>guacamole-auth-sso</name> <name>guacamole-auth-sso</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<modules> <modules>
@@ -56,19 +54,11 @@
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
<!-- Guacamole Extension API -->
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency>
<!-- Core SSO support --> <!-- Core SSO support -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-sso-base</artifactId> <artifactId>guacamole-auth-sso-base</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
<!-- Java servlet API --> <!-- Java servlet API -->
+1 -5
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-totp</artifactId> <artifactId>guacamole-auth-totp</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-auth-totp</name> <name>guacamole-auth-totp</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<build> <build>
@@ -127,8 +125,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guava - Utility Library --> <!-- Guava - Utility Library -->
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "TOTP TFA Authentication Backend", "name" : "TOTP TFA Authentication Backend",
"namespace" : "totp", "namespace" : "totp",
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-display-statistics</artifactId> <artifactId>guacamole-display-statistics</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-display-statistics</name> <name>guacamole-display-statistics</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<build> <build>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "Display Statistic Toolbar", "name" : "Display Statistic Toolbar",
"namespace" : "display-stats", "namespace" : "display-stats",
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-history-recording-storage</artifactId> <artifactId>guacamole-history-recording-storage</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-history-recording-storage</name> <name>guacamole-history-recording-storage</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<dependencies> <dependencies>
@@ -43,8 +41,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency> </dependency>
</dependencies> </dependencies>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "Session Recording Storage", "name" : "Session Recording Storage",
"namespace" : "recording-storage", "namespace" : "recording-storage",
@@ -36,7 +36,7 @@
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-vault</artifactId> <artifactId>guacamole-vault</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -46,7 +46,6 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<!-- Jackson for YAML support --> <!-- Jackson for YAML support -->
@@ -36,7 +36,7 @@
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-vault</artifactId> <artifactId>guacamole-vault</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -46,7 +46,7 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-vault-ksm</artifactId> <artifactId>guacamole-vault-ksm</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
</dependencies> </dependencies>
@@ -26,14 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-vault-ksm</artifactId> <artifactId>guacamole-vault-ksm</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-vault-ksm</name> <name>guacamole-vault-ksm</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-vault</artifactId> <artifactId>guacamole-vault</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../../</relativePath> <relativePath>../../</relativePath>
</parent> </parent>
@@ -47,14 +46,13 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<!-- Guacamole base key vault support --> <!-- Guacamole base key vault support -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-vault-base</artifactId> <artifactId>guacamole-vault-base</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
<dependency> <dependency>
@@ -1,6 +1,6 @@
{ {
"guacamoleVersion" : "1.6.0", "guacamoleVersion" : "${project.version}",
"name" : "Keeper Secrets Manager", "name" : "Keeper Secrets Manager",
"namespace" : "keeper-secrets-manager", "namespace" : "keeper-secrets-manager",
+1 -17
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-vault</artifactId> <artifactId>guacamole-vault</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>1.6.0</version>
<name>guacamole-vault</name> <name>guacamole-vault</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<modules> <modules>
@@ -50,18 +48,4 @@
</modules> </modules>
<dependencyManagement>
<dependencies>
<!-- Guacamole Extension API -->
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
<version>1.6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project> </project>
+15 -3
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>extensions</artifactId> <artifactId>extensions</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>1.6.0</version>
<name>extensions</name> <name>extensions</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-client</artifactId> <artifactId>guacamole-client</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<modules> <modules>
@@ -134,6 +132,20 @@
</dependencies> </dependencies>
<dependencyManagement>
<dependencies>
<!-- Guacamole Extension API -->
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
<version>${revision}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
<profiles> <profiles>
<!-- Build extensions with LGPL-licensed dependencies only if explicitly requested --> <!-- Build extensions with LGPL-licensed dependencies only if explicitly requested -->
+52 -4
View File
@@ -26,19 +26,22 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common-js</artifactId> <artifactId>guacamole-common-js</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>1.6.0</version>
<name>guacamole-common-js</name> <name>guacamole-common-js</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-client</artifactId> <artifactId>guacamole-client</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<properties> <properties>
<!--
The directory receiving the result of filtering applied to all files beneath src/main/webapp-templates.
-->
<generated.webapp.dir>${project.build.directory}/generated-resources/webapp-templates</generated.webapp.dir>
<!-- <!--
The location where temporary files should be stored for communicating The location where temporary files should be stored for communicating
between karma and firefox. The default location, /tmp, does not work between karma and firefox. The default location, /tmp, does not work
@@ -73,12 +76,55 @@
<scm> <scm>
<url>https://github.com/apache/guacamole-client</url> <url>https://github.com/apache/guacamole-client</url>
<connection>scm:git:https://git.wip-us.apache.org/repos/asf/guacamole-client.git</connection> <connection>scm:git:https://git.wip-us.apache.org/repos/asf/guacamole-client.git</connection>
</scm> </scm>
<build> <build>
<plugins> <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<!-- Filter any resources beneath src/main/webapp-templates -->
<execution>
<id>filter-webapp-resources</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${generated.webapp.dir}</outputDirectory>
<resources>
<resource>
<directory>src/main/webapp-templates</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<!-- Include all other resources verbatim -->
<execution>
<id>copy-webapp-resources</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${generated.webapp.dir}</outputDirectory>
<resources>
<resource>
<directory>src/main/webapp</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- Assemble JS files into single .zip --> <!-- Assemble JS files into single .zip -->
<plugin> <plugin>
<artifactId>maven-assembly-plugin</artifactId> <artifactId>maven-assembly-plugin</artifactId>
@@ -111,6 +157,8 @@
<charset>UTF-8</charset> <charset>UTF-8</charset>
<jsEngine>CLOSURE</jsEngine> <jsEngine>CLOSURE</jsEngine>
<webappSourceDir>${generated.webapp.dir}</webappSourceDir>
<jsSourceDir>/</jsSourceDir> <jsSourceDir>/</jsSourceDir>
<jsTargetDir>/</jsTargetDir> <jsTargetDir>/</jsTargetDir>
<jsFinalFile>all.js</jsFinalFile> <jsFinalFile>all.js</jsFinalFile>
@@ -27,4 +27,4 @@ var Guacamole = Guacamole || {};
* *
* @type {!string} * @type {!string}
*/ */
Guacamole.API_VERSION = "1.6.0"; Guacamole.API_VERSION = "${project.version}";
+1 -1
View File
@@ -25,7 +25,7 @@
</formats> </formats>
<fileSets> <fileSets>
<fileSet> <fileSet>
<directory>src/main/webapp/modules/</directory> <directory>${generated.webapp.dir}/modules/</directory>
<includes> <includes>
<include>*.js</include> <include>*.js</include>
</includes> </includes>
+1 -3
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common</artifactId> <artifactId>guacamole-common</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-common</name> <name>guacamole-common</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-client</artifactId> <artifactId>guacamole-client</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<description> <description>
+2 -5
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.6.0</version>
<name>guacamole-ext</name> <name>guacamole-ext</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-client</artifactId> <artifactId>guacamole-client</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<description> <description>
@@ -87,8 +85,7 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common</artifactId> <artifactId>guacamole-common</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<scope>compile</scope>
</dependency> </dependency>
<!-- JUnit --> <!-- JUnit -->
+10 -5
View File
@@ -26,15 +26,13 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole</artifactId> <artifactId>guacamole</artifactId>
<packaging>war</packaging> <packaging>war</packaging>
<version>1.6.0</version>
<name>guacamole</name> <name>guacamole</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
<parent> <parent>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-client</artifactId> <artifactId>guacamole-client</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<relativePath>../</relativePath>
</parent> </parent>
<description> <description>
@@ -254,14 +252,14 @@
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId> <artifactId>guacamole-ext</artifactId>
<version>1.6.0</version> <version>${revision}</version>
</dependency> </dependency>
<!-- Guacamole JavaScript API --> <!-- Guacamole JavaScript API -->
<dependency> <dependency>
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common-js</artifactId> <artifactId>guacamole-common-js</artifactId>
<version>1.6.0</version> <version>${revision}</version>
<type>zip</type> <type>zip</type>
<scope>runtime</scope> <scope>runtime</scope>
</dependency> </dependency>
@@ -374,6 +372,13 @@
<version>1.2.2</version> <version>1.2.2</version>
</dependency> </dependency>
<!-- JUnit for unit testing -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>
@@ -0,0 +1,159 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.guacamole.extension;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Representation of the Guacamole webapp version. This is used both to
* represent the expected minimum webapp version required by an extension and
* to represent the running version of Guacamole.
*/
public class GuacamoleVersion {
/**
* Regular expression that splits a version number into its major, minor,
* and patch components, as well as an optional version suffix.
*/
private static final Pattern VERSION_PATTERN = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)(.+)?");
/**
* The version of this copy of the Guacamole web application. This value is
* substituted by Maven during the build.
*/
public static final GuacamoleVersion RUNNING_VERSION = new GuacamoleVersion("${project.version}");
/**
* The first (leftmost) version number of a Guacamole version. This is the
* number of greatest significance and denotes compatibility. If two
* Guacamole versions have the same major number, extensions for the older
* version should still work with the newer version.
*/
private final int major;
/**
* The second (middle) version number of a Guacamole version. If two
* Guacamole versions have the same major number but different minor
* numbers, they would be expected to differ in the features available.
*/
private final int minor;
/**
* The third (rightmost) version number of a Guacamole version. This is the
* number of least significance and denotes minor changes or fixes. If
* two Guacamole versions have the same major and minor numbers but
* different patch numbers, the newer version would be expected to have
* fixes or improvements that correct issues affecting the older version,
* but would not be expected to have major new features.
*/
private final int patch;
/**
* An arbitrary suffix that might be appended by downstream package
* maintainers or vendors. A Guacamole version with a particular suffix
* would be expected to have patches applied relative to the version without
* the suffix but is otherwise compatible (as if the patch or minor numbers
* differed instead of the suffix).
*/
private final String suffix;
/**
* Creates a new GuacamoleVersion representing the version of Guacamole
* that has the given version string. The version string must be in the
* format "MAJOR.MINOR.PATCH" with an optional and arbitrary version
* suffix.
*
* @param versionStr
* The Guacamole version string to parse.
*
* @throws IllegalArgumentException
* If the version string is not in the correct format.
*/
public GuacamoleVersion(String versionStr) throws IllegalArgumentException {
// Use all-zeroes without suffix to represent the wildcard version
if ("*".equals(versionStr)) {
major = minor = patch = 0;
suffix = null;
}
// Extract major/minor/patch and optional suffix from version string
else {
Matcher versionMatcher = VERSION_PATTERN.matcher(versionStr);
if (!versionMatcher.matches())
throw new IllegalArgumentException("Format of version "
+ "string \"" + versionStr + "\" is not valid");
major = Integer.parseInt(versionMatcher.group(1));
minor = Integer.parseInt(versionMatcher.group(2));
patch = Integer.parseInt(versionMatcher.group(3));
suffix = versionMatcher.group(4);
}
}
/**
* Returns whether this Guacamole version is expected to be compatible with
* an extension that requires at least the given Guacamole version.
*
* @param required
* The minimum Guacamole version required.
*
* @return
* true if this Guacamole version is expected to be compatible with an
* extension requiring at least the given version, false otherwise.
*/
public boolean provides(GuacamoleVersion required) {
// Wildcard version always matches
if (required.major == 0 && required.minor == 0 && required.patch == 0
&& required.suffix == null)
return true;
// Major version component MUST be identical
if (this.major != required.major)
return false;
// Minor version component must be the same or greater than the
// requirement
if (this.minor < required.minor)
return false;
// If both major and minor are identical, the patch version component
// must be the same or greater than the requirement
if (this.minor == required.minor && this.patch < required.patch)
return false;
// Any suffix denotes vendor-specific patching that must be assumed to
// be an arbitrary requirement only satisfied by that suffix. If no
// suffix is required, any suffix of the current Guacamole version can
// just be ignored.
if (required.suffix == null)
return true;
return required.suffix.equals(this.suffix);
}
}
@@ -24,7 +24,6 @@ import com.google.inject.servlet.ServletModule;
import java.io.File; import java.io.File;
import java.io.FileFilter; import java.io.FileFilter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
@@ -57,27 +56,6 @@ public class ExtensionModule extends ServletModule {
*/ */
private final Logger logger = LoggerFactory.getLogger(ExtensionModule.class); private final Logger logger = LoggerFactory.getLogger(ExtensionModule.class);
/**
* The version strings of all Guacamole versions whose extensions are
* compatible with this release.
*/
private static final List<String> ALLOWED_GUACAMOLE_VERSIONS =
Collections.unmodifiableList(Arrays.asList(
"*",
"1.0.0",
"1.1.0",
"1.2.0",
"1.3.0",
"1.4.0",
"1.5.0",
"1.5.1",
"1.5.2",
"1.5.3",
"1.5.4",
"1.5.5",
"1.6.0"
));
/** /**
* The name of the directory within GUACAMOLE_HOME containing any .jars * The name of the directory within GUACAMOLE_HOME containing any .jars
* which should be included in the classpath of all extensions. * which should be included in the classpath of all extensions.
@@ -394,21 +372,6 @@ public class ExtensionModule extends ServletModule {
} }
/**
* Returns whether the given version of Guacamole is compatible with this
* version of Guacamole as far as extensions are concerned.
*
* @param guacamoleVersion
* The version of Guacamole the extension was built for.
*
* @return
* true if the given version of Guacamole is compatible with this
* version of Guacamole, false otherwise.
*/
private boolean isCompatible(String guacamoleVersion) {
return ALLOWED_GUACAMOLE_VERSIONS.contains(guacamoleVersion);
}
/** /**
* Returns the set of identifiers of all authentication providers whose * Returns the set of identifiers of all authentication providers whose
* internal failures should be tolerated during the authentication process. * internal failures should be tolerated during the authentication process.
@@ -513,7 +476,8 @@ public class ExtensionModule extends ServletModule {
Extension extension = new Extension(getParentClassLoader(), extensionFile, temporaryFiles); Extension extension = new Extension(getParentClassLoader(), extensionFile, temporaryFiles);
// Validate Guacamole version of extension // Validate Guacamole version of extension
if (!isCompatible(extension.getGuacamoleVersion())) { GuacamoleVersion requiredVersion = new GuacamoleVersion(extension.getGuacamoleVersion());
if (!GuacamoleVersion.RUNNING_VERSION.provides(requiredVersion)) {
logger.debug("Declared Guacamole version \"{}\" of extension \"{}\" is not compatible with this version of Guacamole.", logger.debug("Declared Guacamole version \"{}\" of extension \"{}\" is not compatible with this version of Guacamole.",
extension.getGuacamoleVersion(), extensionFile.getName()); extension.getGuacamoleVersion(), extensionFile.getName());
throw new GuacamoleServerException("Extension \"" + extension.getName() + "\" is not " throw new GuacamoleServerException("Extension \"" + extension.getName() + "\" is not "
@@ -523,7 +487,7 @@ public class ExtensionModule extends ServletModule {
extensions.add(extension); extensions.add(extension);
} }
catch (GuacamoleException e) { catch (GuacamoleException | IllegalArgumentException e) {
logger.error("Extension \"{}\" could not be loaded: {}", logger.error("Extension \"{}\" could not be loaded: {}",
extensionFile.getName(), e.getMessage(), e); extensionFile.getName(), e.getMessage(), e);
} }
@@ -0,0 +1,150 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.guacamole.extension;
import java.util.Arrays;
import org.junit.Assert;
import org.junit.Test;
/**
* Unit tests which verify GuacamoleVersion correctly parses and compares
* Guacamole versions.
*/
public class GuacamoleVersionTest {
/**
* Verifies that trivially valid version numbers are correctly parsed.
*/
@Test
public void testValidVersion() {
GuacamoleVersion version = new GuacamoleVersion("1.2.3");
Assert.assertTrue(version.provides(version));
}
/**
* Verifies that invalid version numbers correctly fail to parse.
*/
@Test
public void testInvalidVersion() {
for (String invalid : Arrays.asList("1.2")) {
try {
GuacamoleVersion version = new GuacamoleVersion(invalid);
Assert.fail("Invalid Guacamole version string \""
+ invalid + "\" should have failed to parse.");
}
catch (IllegalArgumentException e) {
// Expected
}
}
}
/**
* Verifies that newer versions are recognized as providing older versions
* when they differ by minor number (but not the other way around).
*/
@Test
public void testMinorNewerProvidesOlder() {
GuacamoleVersion olderVersion = new GuacamoleVersion("1.2.3");
GuacamoleVersion newerVersion = new GuacamoleVersion("1.22.3");
Assert.assertTrue(newerVersion.provides(olderVersion));
Assert.assertFalse(olderVersion.provides(newerVersion));
}
/**
* Verifies that newer versions are recognized as providing older versions
* when they differ by patch number (but not the other way around).
*/
@Test
public void testPatchNewerProvidesOlder() {
GuacamoleVersion olderVersion = new GuacamoleVersion("1.2.3");
GuacamoleVersion newerVersion = new GuacamoleVersion("1.2.7");
Assert.assertTrue(newerVersion.provides(olderVersion));
Assert.assertFalse(olderVersion.provides(newerVersion));
}
/**
* Verifies that two versions are NOT recognized as providing each other
* when they differ by major number (regardless of which is newer).
*/
@Test
public void testPatchMajorIncompatible() {
GuacamoleVersion olderVersion = new GuacamoleVersion("1.2.3");
GuacamoleVersion newerVersion = new GuacamoleVersion("2.2.3");
Assert.assertFalse(newerVersion.provides(olderVersion));
Assert.assertFalse(olderVersion.provides(newerVersion));
}
/**
* Verifies that a version number with an arbitrary suffix is recognized
* as providing that same version without the suffix (but not the other way
* around).
*/
@Test
public void testCompatibleSuffix() {
GuacamoleVersion olderVersion = new GuacamoleVersion("1.2.3");
GuacamoleVersion newerVersion = new GuacamoleVersion("1.2.3-foo");
Assert.assertTrue(newerVersion.provides(olderVersion));
Assert.assertFalse(olderVersion.provides(newerVersion));
}
/**
* Verifies that two version numbers that differ by arbitrary suffix are
* NOT recognized as providing each other, even when the version numbers
* are otherwise the same.
*/
@Test
public void testIncompatibleSuffix() {
GuacamoleVersion olderVersion = new GuacamoleVersion("1.2.3-bar");
GuacamoleVersion newerVersion = new GuacamoleVersion("1.2.3-foo");
Assert.assertFalse(newerVersion.provides(olderVersion));
Assert.assertFalse(olderVersion.provides(newerVersion));
}
/**
* Verifies that the special wildcard version is provided by any version,
* but not the other way around.
*/
@Test
public void testWildcardVersion() {
GuacamoleVersion specificVersion = new GuacamoleVersion("1.2.3-foo");
GuacamoleVersion wildcardVersion = new GuacamoleVersion("*");
Assert.assertTrue(specificVersion.provides(wildcardVersion));
Assert.assertFalse(wildcardVersion.provides(specificVersion));
}
}
+78 -1
View File
@@ -26,7 +26,7 @@
<groupId>org.apache.guacamole</groupId> <groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-client</artifactId> <artifactId>guacamole-client</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>1.6.0</version> <version>${revision}</version>
<name>guacamole-client</name> <name>guacamole-client</name>
<url>http://guacamole.apache.org/</url> <url>http://guacamole.apache.org/</url>
@@ -35,6 +35,12 @@
<!-- Core properties --> <!-- Core properties -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- The Guacamole version for the entirety of guacamole-client (this is
referenced by this and all other pom.xml files within guacamole-client,
and is a special case within Maven as one of the few properties allowed
within the pom.xml version and intended for this purpose) -->
<revision>1.6.1</revision>
<!-- Dependency versions --> <!-- Dependency versions -->
<guava.version>32.1.3-jre</guava.version> <guava.version>32.1.3-jre</guava.version>
<guice.version>5.1.0</guice.version> <guice.version>5.1.0</guice.version>
@@ -201,6 +207,36 @@
</executions> </executions>
</plugin> </plugin>
<!-- Bake-in properties like ${revision} so that downstream users of
libraries can freely use these properties for their own purposes.
This also removes the need to publish the guacamole-client parent
pom.xml to Maven Central. -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.7.3</version>
<configuration>
<flattenMode>oss</flattenMode>
<updatePomFile>true</updatePomFile>
</configuration>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
<execution>
<id>flatten.clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins> </plugins>
<pluginManagement> <pluginManagement>
@@ -490,6 +526,47 @@
</build> </build>
</profile> </profile>
<!-- Automatically filter Java source if located within src/main/java-templates -->
<profile>
<id>filter-java-source</id>
<activation>
<file><exists>src/main/java-templates</exists></file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>templating-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>filter-java-source</id>
<goals>
<goal>filter-sources</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Automatically filter resources if located within src/main/resource-templates -->
<profile>
<id>filter-resources</id>
<activation>
<file><exists>src/main/resource-templates</exists></file>
</activation>
<build>
<resources>
<resource>
<directory>src/main/resource-templates</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</profile>
<!-- Perform automated dependency checks if "checkDependencies" is set to "true" --> <!-- Perform automated dependency checks if "checkDependencies" is set to "true" -->
<profile> <profile>
<id>check-dependencies</id> <id>check-dependencies</id>