Commit Graph
100 Commits
Author SHA1 Message Date
Michael Jumper c8ffbbdbab GUACAMOLE-957: Add license information for SnakeYAML version required by updated Jackson. 2021-12-27 10:56:27 -08:00
Michael Jumper d8ce01318e GUACAMOLE-773: Update JavaScript dependencies to latest stable, compatible versions. 2021-12-26 17:50:43 -08:00
Michael Jumper b8d23962d6 GUACAMOLE-773: Update Java dependencies to latest stable, compatible versions. 2021-12-26 17:50:43 -08:00
Michael Jumper f1e9ee6876 GUACAMOLE-1364: Correct rendering of SSO provider list during invalid login animation.
The SSO provider list unexpectedly shrinks when the invalid login
"shake" animation plays due to the use of "display: table-row" vs. the
login form's own use of "display: table-cell". Migrating the SSO
provider list to a simple absolutely-positioned div corrects this and
matches the way the Guacamole version is rendered.
2021-12-26 00:00:38 -08:00
Michael Jumper b66c964848 GUACAMOLE-478: Add parameter definition and translations for "normalize-clipboard". 2021-12-25 00:48:25 -08:00
Michael Jumper 841b659a20 Merge 1.4.0 changes back to master. 2021-12-24 14:52:16 -08:00
Mike Jumper 5de1063302 GUACAMOLE-1261: Merge correction to handling of generated settings URLs. 2021-12-24 14:51:49 -08:00
Michael Jumper 1ca1161a68 GUACAMOLE-986: Update documentation of all parameters/returns to specify non-nullable and/or primitive types where appropriate. 2021-12-18 23:03:57 -08:00
Michael Jumper 5e9e215356 GUACAMOLE-1411: Bump version numbers to 1.4.0. 2021-12-11 16:27:00 -08:00
Michael Jumper 68dd871e24 GUACAMOLE-1064: Add Norwegian keymap parameter value and translation. 2021-12-10 23:43:36 -08:00
Michael Jumper c232c17b71 GUACAMOLE-680: Navigate user back to home screen upon clicking "re-login". 2021-12-10 23:34:06 -08:00
Michael Jumper b6696b9dba GUACAMOLE-1364: Extract common SSO resource for IdP redirect. 2021-12-03 21:18:04 -08:00
Michael Jumper 0e9860ecf7 GUACAMOLE-1364: Allow both traditional username/password and SSO. 2021-12-03 20:36:34 -08:00
Michael Jumper 7dc0b3b509 GUACAMOLE-1364: Extract common base SSO classes. 2021-12-03 20:33:32 -08:00
Michael Jumper a6b38bec62 GUACAMOLE-1364: Remove unnecessary separate dist .tar.gz for SSO extensions (now distributed within common .tar.gz). 2021-11-25 19:01:57 -08:00
Michael Jumper ba93d17265 GUACAMOLE-1364: Correct naming of SAML auth field and translation. 2021-11-25 18:44:46 -08:00
Michael Jumper 817f19290d GUACAMOLE-1364: Unify translations of SSO extensions. 2021-11-25 18:44:46 -08:00
Michael Jumper 36a02c1f90 GUACAMOLE-1364: Refactor all SSO extensions beneath common base. 2021-11-25 18:44:46 -08:00
Michael Jumper cce63e74c4 GUACAMOLE-1364: Do not rely on Collectors.toUnmodifiableMap() as it is not part of Java 8. 2021-11-22 15:11:40 -08:00
Michael Jumper 76caea0fa8 GUACAMOLE-1364: Actually inject parameter tokens derived from SAML. 2021-11-22 12:30:16 -08:00
Michael Jumper d360d2a9ef GUACAMOLE-1364: Clean up overall logic of SAML authentication flow. 2021-11-22 12:30:16 -08:00
Michael Jumper bc0b14a7c5 GUACAMOLE-957: Default bind password should be bind password, not DN (correct copypasta). 2021-11-13 17:21:48 -08:00
Michael Jumper 1bec3e76c5 GUACAMOLE-957: Clear out cached ldap-servers.yml if it is deleted. 2021-11-13 17:05:11 -08:00
Michael Jumper a056218950 GUACAMOLE-957: Use guacamole.properties alone for LDAP configuration if ldap-servers.yml is empty. 2021-11-13 16:49:00 -08:00
Mike Jumper fc3748fd87 GUACAMOLE-1446: Merge corrections to various typos in documentation. 2021-10-26 18:43:04 -07:00
Michael Jumper 38b3a19ace GUACAMOLE-956: Clarify relation of ContainerRequest to the HTTP request that resulted in an exception. 2021-10-25 03:05:17 -07:00
Michael Jumper 0597358dde GUACAMOLE-956: Decouple tunnel UUID from HTTP tunnel session identification. 2021-10-23 22:29:39 -07:00
Michael Jumper 1a0802f4a3 GUACAMOLE-956: Provide alternative means of deleting the current token that does not specify the token within the URL. 2021-10-23 22:13:53 -07:00
Michael Jumper aacf63857c GUACAMOLE-956: Use "Guacamole-Token" header in favor of "token" query parameter when invoking REST API from client. 2021-10-23 22:13:53 -07:00
Michael Jumper 5fdfb56c8b GUACAMOLE-956: Automatically pull token from HTTP header or query parameter. 2021-10-23 22:13:53 -07:00
Michael Jumper 00f83145a3 GUACAMOLE-957: Leverage capturing group in user match regex to determine Guacamole LDAP user identities. 2021-10-23 20:19:51 -07:00
Michael Jumper b45fc9b6e5 GUACAMOLE-957: Evaluate default value of LDAP configuration only if provided value is null.
The function supplying the default value may throw a GuacamoleException,
thus the function providing that default should only be invoked when
actually necessary.
2021-10-23 20:19:51 -07:00
Michael Jumper 0f96d5e122 GUACAMOLE-957: Continue to use cached version of LDAP YAML if an error occurs. 2021-10-23 20:19:51 -07:00
Michael Jumper d80ab47c97 GUACAMOLE-957: Use case insensitive matching for LDAP YAML regular expressions by default. 2021-10-23 20:19:51 -07:00
Michael Jumper a216ec902a GUACAMOLE-957: Match any user for LDAP YAML by default. 2021-10-23 20:19:51 -07:00
Michael Jumper 5a757d0418 GUACAMOLE-957: Add support for configuring the general network timeout for LDAP. 2021-10-23 20:19:51 -07:00
Michael Jumper 55437faad0 GUACAMOLE-957: Use guacamole.properties for LDAP YAML defaults. 2021-10-23 20:19:51 -07:00
Michael Jumper 160d29df95 GUACAMOLE-957: Define all default LDAP configuration values in central location. 2021-10-23 20:19:51 -07:00
Michael Jumper f322dc3f3e GUACAMOLE-957: Cache LDAP configuration YAML until modified. 2021-10-23 20:19:51 -07:00
Michael Jumper 0fc7c03d70 GUACAMOLE-957: Allow single-element array values for YAML LDAP configuration to be specified as simple strings. 2021-10-23 20:19:51 -07:00
Michael Jumper 91a057cad9 GUACAMOLE-957: Choose LDAP configurations based on usernames. 2021-10-23 20:19:51 -07:00
Michael Jumper 49a4a6c7a0 GUACAMOLE-957: Support reading multiple LDAP server configurations from "ldap-servers.yml". 2021-10-23 20:19:51 -07:00
Michael Jumper 278bfa17ae GUACAMOLE-957: Allow each user to be associated with multiple LDAP servers. 2021-10-23 20:19:51 -07:00
Michael Jumper 07b443257f GUACAMOLE-957: Refactor LDAP configuration such that it may be user-specific. 2021-10-23 20:19:51 -07:00
Michael Jumper a06802c320 Merge 1.4.0 changes back to master. 2021-10-22 22:31:00 -07:00
Mike Jumper 85cef39954 GUACAMOLE-1130: Merge limitation of LDAP query scope to only required attributes. 2021-10-22 22:29:53 -07:00
Michael Jumper 88ab68cf6b GUACAMOLE-773: Update commons-collections dependency of guacamole-auth-radius to latest (3.2.2). 2021-09-16 19:51:27 -07:00
Michael Jumper 0fe3c441d3 GUACAMOLE-1218: Include "encrypt-json.sh" reference implementation in guacamole-auth-json dist archive. 2021-09-16 19:29:14 -07:00
Michael Jumper 8f3172e4f6 GUACAMOLE-1218: Allow both lowercase and uppercase for hex values of ByteArrayProperty. 2021-09-16 19:21:32 -07:00
Michael Jumper fc9739a4d6 GUACAMOLE-1407: Explicitly fail early if no JDBC driver can be found for MySQL/MariaDB. 2021-08-26 18:37:39 -07:00
Michael Jumper be1ad5dff3 GUACAMOLE-1407: Automatically detect whether MySQL or MariaDB version of "Connector/J" is installed. 2021-08-26 18:37:39 -07:00
Mike Jumper 5cf030a9e3 GUACAMOLE-1397: Merge changes automatically focusing TOTP prompt. 2021-08-23 17:32:48 -07:00
Mike Jumper 43546c830c GUACAMOLE-1261: Merge changes allowing object identifiers to contain slashes within AngularJS URLs. 2021-08-22 18:18:25 -07:00
Mike Jumper 0cc9f46882 GUACAMOLE-1199: Merge corrections to handling of unchanged, database-stored attributes. 2021-08-21 18:01:25 -07:00
Michael Jumper 1d83307b8c GUACAMOLE-1398: Explicitly fit guac-tiled-clients directive to available space.
The CSS rule expanding the guac-tiled-clients directive to fit the
viewport was not properly updated when the elements and classes involved
were changed via c9900434c4. The
"tiled-client-list" class was previously used to represent the root
element of the set of tiled clients, but that element was replaced with
the "guac-tiled-clients" directive.
2021-08-17 02:15:37 -07:00
Michael Jumper 6787d3fa9f GUACAMOLE-1366: Correct sort order of connection history entries.
The sort order of connection history entries should be descending, with
the most recent connection attempt shown first. This has been incorrect
since 1.3.0 due to the migration to the newer, searchable/sortable
history structure.
2021-08-12 23:11:21 -07:00
Michael Jumper 6608ba3e2d GUACAMOLE-1386: Centralize abstraction of KeyboardEvent contents within KeyEvent and its subclasses. 2021-08-12 22:43:16 -07:00
Michael Jumper b629b2137e GUACAMOLE-1386: Do not synchronize modifiers based on key events that were dropped/rejected. 2021-08-12 22:43:16 -07:00
Michael Jumper b347a118fa GUACAMOLE-1386: Defer handling of "Meta" until it is known to be functioning as a modifier.
Some platforms like ChromeOS use the Meta key as an alternative method
for typing individual keys like Home (Meta+Left) and End (Meta+Right).
In these cases, Meta does not function as a modifier and is actually
implicitly released once the keyboard shortcut is identified.

Since we cannot know whether Meta is actually Meta until it's confirmed
to be used by itself or with another key, we need to defer handling of
Meta keydown until either (1) Meta is released without having been used
with another key or (2) Meta is used as a modifier with another key.
2021-08-12 16:33:19 -07:00
Michael Jumper c63eb4477c GUACAMOLE-1387: Update and filter tiled connections only if group is actually changing. 2021-07-28 22:14:08 -07:00
Michael Jumper 5c9483a810 GUACAMOLE-1386: Correct/add "Menu" key definition, which is also not "Super". 2021-07-26 20:26:39 -07:00
Michael Jumper 01a5f6cdb9 GUACAMOLE-1386: Correct keyboard definition of "Windows" key as "Meta", not "Super". 2021-07-26 20:26:04 -07:00
Michael Jumper 8b5cdbb3b5 GUACAMOLE-1386: Define "Meta" key for on-screen keyboard instead of "Super".
The correct key for the "Windows" key (or the Mac "Command" key) is
"Meta". The "Super" key is an entirely different key not used for that
purpose, and it only currently works with Guacamole because the
Guacamole's base RDP keymap specifically maps the "Super" keys to the
"Windows" keys.
2021-07-26 20:11:02 -07:00
Michael Jumper 5e61ec7e84 GUACAMOLE-996: Add LDAP_GROUP_SEARCH_FILTER variable to Docker image. 2021-07-26 02:22:35 -07:00
Michael Jumper 962696199a GUACAMOLE-996: Always apply LDAP group filter, regardless of whether "ldap-config-base-dn" is set. 2021-07-26 02:19:56 -07:00
Michael Jumper 38c03ddfd7 GUACAMOLE-996: Use "(objectClass=*)" as default group filter. 2021-07-26 01:55:46 -07:00
Michael Jumper 9cb42ade67 GUACAMOLE-1383: Use URL-safe client identifiers by default, maintaining backwards compatibility with identifiers using standard base64. 2021-07-20 22:31:12 -07:00
Michael Jumper e79b7b6e4e GUACAMOLE-1383: Do not double-encode client identifiers within URLs. 2021-07-20 21:25:09 -07:00
Michael Jumper 8a57b2037e GUACAMOLE-1384: Ensure all $http error objects are wrapped in Guacamole error objects, even if the relevant request could not be sent. 2021-07-20 20:28:29 -07:00
Michael Jumper de3daf3dc8 GUACAMOLE-275: Request browser to always revalidate cached index.html. 2021-07-20 19:46:00 -07:00
Michael Jumper f94b6c68aa GUACAMOLE-275: Request browser to always revalidate cached dynamic contents. 2021-07-20 18:53:02 -07:00
Michael Jumper e9e1703184 GUACAMOLE-275: Automatically attempt to refresh browser cache if index.html does not match current build. 2021-07-20 18:53:02 -07:00
Michael Jumper 0364d45d9d GUACAMOLE-1378: Correct naming of guacamole-auth-jdbc dist .tar.gz archive.
The distribution .tar.gz of the guacamole-auth-jdbc set of extensions
should be called "guacamole-auth-jdbc-VERSION.tar.gz", not
"guacamole-auth-jdbc-dist-VERSION.tar.gz".
2021-07-17 17:07:53 -07:00
Michael Jumper b9a15285ea GUACAMOLE-724: Remove duplicate injection of $rootScope (already injected via parameter). 2021-07-14 22:24:09 -07:00
Michael Jumper dd86130600 GUACAMOLE-724: Migrate usage of var to const/let in all directly touched code. 2021-07-08 03:31:49 -07:00
Michael Jumper d6c5165f90 GUACAMOLE-724: Update connection parameters in menu after focus changes. 2021-07-08 03:31:49 -07:00
Michael Jumper 95e77c6985 GUACAMOLE-724: Ensure focus is assigned to at least one client after changes are made to a group. 2021-07-08 03:31:49 -07:00
Michael Jumper 69ea8488f3 GUACAMOLE-724: Always emit focus events when focused client changes, even if the change occurs only due to replacing a disconnected client with a connected one. 2021-07-08 03:31:49 -07:00
Michael Jumper 902a111a57 GUACAMOLE-724: Update calls to ManagedFilesystem.getInstance() to provide relevant ManagedClient. 2021-07-08 03:31:49 -07:00
Michael Jumper 6b8b57ef5a GUACAMOLE-724: Ensure connection parameters are updated when likely to be available (not just when group is attached). 2021-07-08 03:31:49 -07:00
Michael Jumper e5a127647b GUACAMOLE-724: Restore sorting client panel by last used timestamp.
Sorting by last used (rather than relying on internal sorting) ensures
that the DOM is only modified as necessary and that CSS animations only
affect client groups that are newly visible in the panel.
2021-07-08 03:31:48 -07:00
Michael Jumper f6909a06e7 GUACAMOLE-724: Prefer to return an existing group rather than create a new one.
This ensures that focus state is maintained when switching from one
group to another. Focus state is otherwise reset when the group is
recreated.
2021-07-08 03:31:48 -07:00
Michael Jumper 74f0e0aec3 GUACAMOLE-724: Preserve current focus states when adding/removing connections from attached group. 2021-07-08 03:31:48 -07:00
Michael Jumper 5968193dfb GUACAMOLE-724: Handle touch gestures while menu is open. 2021-07-08 03:31:48 -07:00
Michael Jumper 7916afd2d3 GUACAMOLE-724: Correct typo preventing menu open gesture from working. 2021-07-08 03:31:48 -07:00
Michael Jumper 2b8eb443d4 GUACAMOLE-724: Ensure tile header sizes match even if empty. 2021-07-08 03:31:48 -07:00
Michael Jumper da62cb1afd GUACAMOLE-724: Allow keyboard interaction with client notifications. 2021-07-08 03:31:48 -07:00
Michael Jumper 025775a040 GUACAMOLE-724: Clean up style of parameter prompts within client notifications. 2021-07-08 03:31:48 -07:00
Michael Jumper 1e69514507 GUACAMOLE-724: Defer connecting until window/display size is known.
Depending on the current state of the browser, the element that will
contain the display may not have an associated size, as the layout has
not yet finished updating. If this occurs, connecting needs to be
deferred until the size becomes known (until a resize event).
2021-07-08 03:31:48 -07:00
Michael Jumper 0e0445f95c GUACAMOLE-724: Add close button for each client tile. 2021-07-08 03:31:48 -07:00
Michael Jumper b294a2fa1e GUACAMOLE-724: Render menu and client tile headers above client-specific modals. 2021-07-08 03:31:48 -07:00
Michael Jumper 5a40429359 GUACAMOLE-724: Do not allow multiple, adjacent modal areas to overlap due to overflow. 2021-07-08 03:31:48 -07:00
Michael Jumper 9f477fd5fe GUACAMOLE-724: Remove unused parameter from clipboardService.setClipboard() calls. 2021-07-08 03:31:48 -07:00
Michael Jumper e58005ae23 GUACAMOLE-724: Leverage DOM rather than CSS to show/hide connection tile headers.
CSS, though clean, results in delays in element size changes. When
switching between a view that has tile headers and a view that does
not, this manifests as visible "popping" as client displays are
initially sized to fit the area without the header followed by the area
with the header. Leveraging AngularJS directly ensures that such
changes occur in lockstep with the connection process.
2021-07-08 03:31:48 -07:00
Michael Jumper 8c0af308da GUACAMOLE-724: Defer connecting until width/height of display area is known. 2021-07-08 03:31:48 -07:00
Michael Jumper c9900434c4 GUACAMOLE-724: Migrate tiled thumbnail rendering to same flex layout as client view. 2021-07-08 03:31:48 -07:00
Michael Jumper 1f2007eb28 GUACAMOLE-724: Replace CSS grid layout with simpler, equialent, and more compatible flex layout. 2021-07-08 03:31:48 -07:00
Michael Jumper 760a96a47d GUACAMOLE-724: Migrate to flex layout for modals for IE10+ compatibility. 2021-07-08 03:31:48 -07:00
Michael Jumper 4a20411eae GUACAMOLE-724: Correct SVG aspect ratio handling in IE10+. 2021-07-08 03:31:48 -07:00
Michael Jumper fe44b55f10 GUACAMOLE-724: Always resolve promise from setClipboard() (as documented).
Returning a value from the callback provided to finally() is not
sufficient to force promise resolution.
2021-07-08 03:31:48 -07:00