Commit Graph
100 Commits
Author SHA1 Message Date
Michael Jumper 258e5ae5ac GUACAMOLE-1298: Add automatic generation and packaging of LICENSE/NOTICE for RADIUS support. 2021-03-31 11:42:38 -07:00
Michael Jumper c32b985658 GUACAMOLE-1298: Correct Maven dependency version conflicts within RADIUS support. 2021-03-31 11:42:38 -07:00
Michael Jumper 6c8a699faa GUACAMOLE-1298: Automatically generate LICENSE and NOTICE files. 2021-03-31 11:42:38 -07:00
Michael Jumper b2845ebc4b GUACAMOLE-1298: Remove guacamole-client .tar.gz archive build.
Children of the parent project will inherit the parent's build plugins,
which breaks everything when each child project attempts to build its
own source archive.
2021-03-31 11:24:24 -07:00
Michael Jumper 53fe6e34f8 GUACAMOLE-1298: Migrate to centralized declarations of common dependencies. 2021-03-31 11:24:24 -07:00
Mike Jumper d4e3d8c98f GUACAMOLE-1025: Merge QuickConnect support for allowing/denying connection parameters. 2021-03-30 17:34:59 -07:00
Michael Jumper 96faa48bea GUACAMOLE-1302: Add definitions and translations for VNC/RDP "force-lossless" parameter. 2021-03-01 17:40:30 -08:00
Michael Jumper d131468cf3 GUACAMOLE-1298: Declare default request size limit constant as static. 2021-02-26 13:21:27 -08:00
Michael Jumper a67211d270 GUACAMOLE-1298: Do not enforce request size limits on file uploads handled as streams. 2021-02-25 14:38:50 -08:00
Michael Jumper f21a7c63eb GUACAMOLE-1298: Migrate to latest version of Guice and Jersey 2.x 2021-02-25 14:38:50 -08:00
Michael Jumper b1dcec7ca9 GUACAMOLE-1299: Catch and log all errors that occur while automatically invalidating expired sessions. 2021-02-24 16:28:50 -08:00
Michael Jumper 172705fb2d GUACAMOLE-1298: Replace com.guice.* annotations with javax.inject.* where interchangeable. 2021-02-24 12:00:12 -08:00
Michael Jumper fbd0d3cbce GUACAMOLE-1298: Enforce default limit on request size. 2021-02-24 11:59:36 -08:00
Mike Jumper ed849860b8 GUACAMOLE-986: Merge explicit documentation of non-nullable return values and parameters. 2021-02-21 16:03:54 -08:00
Michael Jumper 49b398f36d GUACAMOLE-1174: Add definitions and translations for Kubernetes "exec" command parameter. 2021-02-21 15:33:44 -08:00
Mike Jumper ed020d7396 GUACAMOLE-747: Merge corrections for RAT-related build failure. 2021-02-21 14:01:26 -08:00
Mike Jumper de6da8555b GUACAMOLE-890: Merge support for running guacamole Docker image as non-root. 2021-02-21 10:48:24 -08:00
Mike Jumper 5319f9011a GUACAMOLE-747: Merge example branding extension. 2021-02-20 21:51:15 -08:00
Mike Jumper c1e7d221b1 GUACAMOLE-1055: Merge Russian OSK support for Latin characters. 2021-02-20 21:35:54 -08:00
Michael Jumper e759bb683f GUACAMOLE-1204: Correct Docker image build failure due to PhantomJS.
Without OPENSSL_CONF explicitly set, the guacamole-common-js portion of
the build fails, as PhantomJS (used for the new unit tests) cannot find
libssl_conf.so:

    139677016997504:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libssl_conf.so): libssl_conf.so: cannot open shared object file: No such file or directory
    139677016997504:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
    139677016997504:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=ssl_conf, path=ssl_conf
    139677016997504:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=ssl_conf
    Feb 12, 2021 5:09:33 AM org.openqa.selenium.os.UnixProcess checkForError
    SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
2021-02-12 19:27:11 -08:00
Michael Jumper 0385f61201 GUACAMOLE-1204: Add definitions and translations for RDP multi-touch parameters. 2021-02-11 20:32:28 -08:00
Michael Jumper 09ec1dea06 GUACAMOLE-1204: Do not handle pinch gestures locally if the remote desktop is capable of handling pinch gestures. 2021-02-11 20:32:28 -08:00
Michael Jumper 5d6c176a94 GUACAMOLE-1204: Allow pinch/drag touch gestures to be tracked in addition to any local touch event pass-through. 2021-02-11 20:32:28 -08:00
Michael Jumper 483aa14cac GUACAMOLE-1204: Automatically pass through Guacamole touch events if remote multi-touch is supported. 2021-02-11 20:32:28 -08:00
Michael Jumper eaa7b49dd4 GUACAMOLE-1204: Provide convenience functions for updating multiple event handlers. 2021-02-11 20:32:28 -08:00
Michael Jumper 23e909d2fc GUACAMOLE-1204: Add support for multi-touch events. 2021-02-11 20:32:28 -08:00
Michael Jumper df6b71541e GUACAMOLE-1204: Add generic, listener-driven event system. 2021-02-11 20:32:28 -08:00
Michael Jumper 1ce4e975eb GUACAMOLE-1204: Add convenient mechanism for automatically scaling mouse events. 2021-02-11 20:32:28 -08:00
Michael Jumper 7d53fe4f09 GUACAMOLE-1204: Extract Guacamole.Position base class from Guacamole.Mouse.State. 2021-02-11 20:32:28 -08:00
Mike Jumper 742c5669ca GUACAMOLE-1284: Merge Docker image support for OPENID_MAX_TOKEN_VALIDITY variable. 2021-02-09 09:43:39 -08:00
Mike Jumper d1626788fa GUACAMOLE-770: Merge support for clearing TOTP data. 2021-02-05 21:22:15 -08:00
Mike Jumper 156a19967a GUACAMOLE-1128: Merge Docker support for MySQL and PostgreSQL automatic user creation. 2020-12-29 12:03:14 -08:00
Michael Jumper 367f60f5d9 GUACAMOLE-1218: Declare availability of JAXB APIs at guacamole-ext level (they are provided by the webapp). 2020-12-20 19:28:25 -08:00
Michael Jumper a5acb5acd6 GUACAMOLE-793: Add Docker environment variables for group-related CAS properties. 2020-12-12 13:56:01 -08:00
Michael Jumper 1da9b7dc13 GUACAMOLE-793: Remove unnecessary/unused Logger instance. 2020-12-12 13:46:00 -08:00
Michael Jumper 1303dabbb1 GUACAMOLE-793: Refactor CAS group parsing to leverage LDAP-aware abstractions and parameters. 2020-12-12 02:27:20 -08:00
Michael Jumper 749e53b9c3 GUACAMOLE-793: Add abstract mechanism for parsing CAS group names. 2020-12-12 02:02:06 -08:00
Michael Jumper 27d791de3b GUACAMOLE-1218: Use static instances of Logger per established coding practices. 2020-11-29 16:16:44 -08:00
Michael Jumper 95c4bb427f GUACAMOLE-1218: Use diamond operator and multi-catch where possible. 2020-11-29 16:15:06 -08:00
Michael Jumper 66d28b8424 GUACAMOLE-1218: Replace use of "blacklist" with "denylist". 2020-11-29 16:09:20 -08:00
Michael Jumper d1de61da6c GUACAMOLE-221: Remove documentation that is no longer applicable as of commit 1210d5624c.
The getGuacamoleConfiguration() function *used* to perform token
substitution. Since the deprecation of the StandardTokens class, this
is no longer the case.
2020-11-25 15:26:50 -08:00
Michael Jumper 483c01a6ac GUACAMOLE-221: Ensure the underlying protocol is exposed for database-driven connections.
The protocol associated with a tunnel should be correctly set
regardless of whether the tunnel results from a Connection,
ConnectionGroup, or ActiveConnection.
2020-11-25 15:26:50 -08:00
Michael Jumper 7e1be61bed GUACAMOLE-221: Retrieve protocol name and parameters from tunnel-based REST API endpoint.
If the protocol name and parameters are retrieved from Connection-
specific endpoints, then the protocol-specific context needed for
Guacamole instructions like "argv" and "required" will only be
available for Connections (not ConnectionGroups or ActiveConnections).
2020-11-25 15:24:31 -08:00
Michael Jumper 1b18c51c74 GUACAMOLE-221: Provide REST API endpoint for retrieving the underlying protocol of a tunnel. 2020-11-25 15:24:31 -08:00
Michael Jumper 5ad3389a23 GUACAMOLE-221: Define event for client-side receipt of a tunnel UUID. 2020-11-25 15:24:31 -08:00
Michael Jumper 7fc94e236b GUACAMOLE-221: Expose underlying protocol of a GuacamoleSocket via getProtocol(). 2020-11-25 15:24:31 -08:00
Michael Jumper a71de2f155 GUACAMOLE-221: Update guacamole-common build to Java 1.8.
Without Java 1.8, we cannot add new functions to established interfaces
without breaking backward compatibility.
2020-11-24 00:30:49 -08:00
Michael Jumper e9608279c2 Merge 1.3.0 changes back to master. 2020-11-22 13:23:39 -08:00
Mike Jumper 920d83f786 GUACAMOLE-1172: Merge support for retrieving user group membership from an OpenID IDP. 2020-11-22 13:22:52 -08:00
Michael Jumper 6b054f25ca GUACAMOLE-1218: Bundle and document the licenses of all guacamole-auth-json dependencies. 2020-11-20 16:08:54 -08:00
Michael Jumper e45c5ac99b GUACAMOLE-1218: Update to latest version of Spring Security. 2020-11-20 16:08:54 -08:00
Michael Jumper 382e347a3c GUACAMOLE-1218: Refactor guacamole-auth-json's StringListProperty into guacamole-ext. 2020-11-20 16:08:54 -08:00
Michael Jumper f2ce412051 GUACAMOLE-1218: Refactor guacamole-auth-json's ByteArrayProperty into guacamole-ext. 2020-11-20 16:08:54 -08:00
Michael Jumper 2fefc991df GUACAMOLE-1218: Update to version 1.3.0 of guacamole-ext. 2020-11-20 16:08:54 -08:00
Michael Jumper 2a0f063a3b GUACAMOLE-1218: Remove old @author mentions from guacamole-auth-json JavaDoc. 2020-11-20 16:08:54 -08:00
Michael Jumper b4fd356180 GUACAMOLE-1218: Re-license under Apache v2.0. 2020-11-20 16:08:54 -08:00
Michael Jumper 90f1ce9bc1 GUACAMOLE-1218: Refactor org.glyptodon.* packages to org.apache.* 2020-11-20 13:56:38 -08:00
Michael Jumper cec53a24e6 GUACAMOLE-1218: Copy guacamole-auth-json source tree from glyptodon/guacamole-auth-json at commit f7b2eaf6a65b7cd25fd73437360e36fe46e0bcb9. 2020-11-20 13:56:38 -08:00
Michael Jumper 43f8cc0400 Merge 1.3.0 changes back to master. 2020-11-03 22:18:29 -08:00
Mike Jumper c4b9b0173c GUACAMOLE-1205: Merge bump of version numbers to 1.3.0. 2020-11-03 22:17:21 -08:00
Michael Jumper f3101688e2 GUACAMOLE-221: Prompt user to provide additional parameters when "required" instruction is received. 2020-11-01 21:03:25 -08:00
Michael Jumper 718145ce24 GUACAMOLE-221: Extend the guacNotification service to support generic parameter prompting. 2020-11-01 20:46:41 -08:00
Michael Jumper 688ff5310c GUACAMOLE-221: Add client support for the "required" instruction. 2020-11-01 20:46:41 -08:00
Michael Jumper 624d49847c GUACAMOLE-1021: Refactor SQL Server queries to NOT duplicate results across related entities.
Previous versions of the SQL Server queries relied on permission for
each object being granted from exactly one location, thus allowing
queries to be narrowed by permission using a simple JOIN. This is no
longer the case, as permissions may be inherited from multiple
locations (groups).
2020-10-31 15:36:11 -07:00
Michael Jumper 349fc36109 GUACAMOLE-1021: Refactor MySQL queries to NOT duplicate results across related entities.
Previous versions of the MySQL queries relied on permission for each
object being granted from exactly one location, thus allowing queries
to be narrowed by permission using a simple JOIN. This is no longer
the case, as permissions may be inherited from multiple locations
(groups).
2020-10-31 15:36:11 -07:00
Michael Jumper a37e0accb6 GUACAMOLE-1021: Refactor PostgreSQL queries to NOT duplicate results across related entities.
Previous versions of the PostgreSQL queries relied on permission for
each object being granted from exactly one location, thus allowing
queries to be narrowed by permission using a simple JOIN. This is no
longer the case, as permissions may be inherited from multiple
locations (groups).
2020-10-31 15:36:11 -07:00
Michael Jumper 2ea29c50c2 Merge 1.3.0 changes back to master. 2020-10-30 18:15:37 -07:00
Mike Jumper 61dce8bdb1 GUACAMOLE-1081: Merge correction to token modifier case within TokenFilter unit tests. 2020-10-30 18:14:01 -07:00
Michael Jumper c6a6d381f4 Merge 1.3.0 changes back to master. 2020-10-30 16:20:15 -07:00
Mike Jumper df0a3fb6b6 GUACAMOLE-1081: Merge migration to uppercase token modifiers. 2020-10-30 14:07:57 -07:00
Michael Jumper 9ad5d4801c Merge 1.3.0 changes back to master. 2020-10-30 11:30:11 -07:00
Mike Jumper 1f8c240f8e GUACAMOLE-1123: Merge standardization on ActivityRecordSet for history retrieval. 2020-10-30 11:27:04 -07:00
Michael Jumper f0c96c1e1e GUACAMOLE-1146: Take configured "totp-period" into account when generating tokens. 2020-10-28 12:27:09 -07:00
Michael Jumper 4374362163 Merge 1.3.0 changes back to master. 2020-10-26 12:59:01 -07:00
Mike Jumper 23eaaa9132 GUACAMOLE-760: Merge support for configuring MySQL / MariaDB server timezone. 2020-10-26 12:54:23 -07:00
Michael Jumper b07356164c GUACAMOLE-1149: Refresh model of current user after automatic account creation.
The proper database IDs must be populated in the current user's
ModeledUser for other parts of the database extension to work
correctly, including saving of user attributes.
2020-08-20 22:38:48 -07:00
Michael Jumper cb50cea104 GUACAMOLE-1149: Refuse to update skeleton database users. 2020-08-20 22:37:27 -07:00
Michael Jumper 0bddff8bad GUACAMOLE-942: Correct race condition in retrieval of readable connection identifiers.
As activeTunnels is a live map which may change while
getActiveConnections() is running, it is possible for an initial call
to activeTunnels.isEmpty() to pass yet for the set of connection
identifiers produced to be empty.
2020-08-20 19:17:45 -07:00
Michael Jumper 2ffe8d9705 GUACAMOLE-1152: Ensure field values accurately represent login state.
If expected fields are deleted rather than reset to empty, those fields
will not be resubmitted in future requests, resulting in the content of
those requests not accurately representing true client-side login state.

For example, if a user receives an insufficient credentials error due to
their password expiring, failing to provide any new password should
result in at least the following fields:

 1. Their original username (part of the initial login attempt)
 2. Their original password (part of the initial login attempt)
 3. Their new password (empty)

If fields are incorrectly reset to null, those fields will not be
submitted, resulting instead in a request containing only:

 1. Their original username (part of the initial login attempt)
 2. Their original password (part of the initial login attempt)

which is indistinguishable from a normal login attempt.
2020-08-19 14:32:45 -07:00
Michael Jumper 10e47a19ff GUACAMOLE-1152: Correctly differentiate between client errors and server errors.
By definition, a client error is not an internal error, but an
intentional refusal of the server to handle a malformed or otherwise
invalid request. These should not be handled in the same way as server
errors which unexpectedly block processing of a request and should be
corrected by an administrator.

In the case of GUACAMOLE-1152, client errors should not be ignored even
if failures are explicitly configured as tolerated for the associated
authentication provider.
2020-08-17 16:48:52 -07:00
Mike Jumper 3c4c81f0b6 GUACAMOLE-1120: Merge removal of CAS extension resources that no longer exist. 2020-07-08 00:33:17 -07:00
Michael Jumper 426d867865 GUACAMOLE-1123: Extract common base REST resources for representing ActivityRecordSets. 2020-07-06 18:13:36 -07:00
Michael Jumper 475d9419cc Merge 1.2.0 changes back to master. 2020-06-25 19:25:53 -07:00
Mike Jumper 21ec5640a5 GUACAMOLE-728: Merge changes leveraging PostgreSQL's legacy "ssl" parameter only for disabling SSL. 2020-06-25 19:25:22 -07:00
Michael Jumper 038e87a1c6 Merge 1.2.0 changes back to master. 2020-06-25 19:04:43 -07:00
Mike Jumper e3e62f5860 GUACAMOLE-728: Merge workaround for older PostgreSQL drivers lacking support for sslmode "prefer". 2020-06-25 19:03:53 -07:00
Michael Jumper f94e7046ff Merge 1.2.0 changes back to master. 2020-06-25 17:55:48 -07:00
Mike Jumper c71107e395 GUACAMOLE-728: Merge workaround for legacy Connector/J SSL behavior.
Older versions of the MySQL / MariaDB driver do not support the same level of granular SSL/TLS control, and the legacy "useSSL" parameter cannot be specified without breaking the behavior of "sslMode".
2020-06-25 17:54:36 -07:00
Michael Jumper f37e5e8214 Merge 1.2.0 changes back to master. 2020-06-25 15:54:42 -07:00
Mike Jumper 079b009325 GUACAMOLE-728: Merge update of default JDBC SSL mode to prefer / preferred. 2020-06-25 15:52:57 -07:00
Michael Jumper b5eca6831d GUACAMOLE-823: Update item structure of Guacamole menu connection browser to match home screen. 2020-06-25 13:17:46 -07:00
Michael Jumper 9d415469f8 GUACAMOLE-103: Transform username only if present. 2020-06-24 20:34:52 -07:00
Michael Jumper 471f4c9aec Merge 1.2.0 changes back to master. 2020-06-24 18:03:16 -07:00
Mike Jumper a2c8f461be GUACAMOLE-103: Re-merge usability improvements to handling of SAML entity ID property.
The improvements from commit ed7e7bbb84 were supposed to go to `staging/1.2.0` and then get merged back to `master`, not directly to `master`. The same changes are now being redone against `staging/1.2.0` (to be merged back in again) so that things can be put back in proper sync.
2020-06-24 18:01:41 -07:00
Mike Jumper ed7e7bbb84 GUACAMOLE-103: Merge usability improvements to handling of SAML entity ID property. 2020-06-24 17:46:54 -07:00
Mike Jumper 745a1a4de3 GUACAMOLE-678: Merge correction to URIGuacamoleProperty handling of null values. 2020-06-24 17:46:02 -07:00
Michael Jumper feba7c6da0 GUACAMOLE-103: Read entity ID and callback URL from properties only if needed. 2020-06-24 16:00:07 -07:00
Michael Jumper d1090b00b0 GUACAMOLE-103: Use UriBuilder for syntax-aware URL construction, rather than simple String concatenation. 2020-06-24 15:41:24 -07:00
Michael Jumper e652d29978 Merge 1.2.0 changes back to master. 2020-06-24 14:10:24 -07:00
Mike Jumper 181350160b GUACAMOLE-103: Merge support for SAML. 2020-06-24 14:09:53 -07:00