Commit Graph
100 Commits
Author SHA1 Message Date
Mike Jumper 7e236daf2f GUACAMOLE-1816: Merge version bump to 1.5.3. 2023-07-04 09:05:22 -07:00
Mike Jumper d84122417b GUACAMOLE-1796: Merge batching of updates to permissions. 2023-06-22 08:35:58 -07:00
Mike Jumper ee1765f86c GUACAMOLE-1813: Merge Docker support for history recording storage extension. 2023-06-19 08:47:00 -07:00
Mike Jumper 103398c6fd GUACAMOLE-1809: Merge replacement of Spring with "IPAddress" library. 2023-06-11 23:40:13 -07:00
Mike Jumper 3c8ecddc7e GUACAMOLE-1806: Merge updates to Java dependencies with upstream patches. 2023-06-10 21:20:40 -07:00
Mike Jumper 1a088d609f GUACAMOLE-1793: Merge correction to creation of SessionRecordings from Blobs. 2023-05-24 11:22:39 -07:00
Mike Jumper ad3e7935ba GUACAMOLE-1794: Merge update of KSM SDK to 16.5.3. 2023-05-23 16:56:25 -07:00
Mike Jumper 10e8715040 GUACAMOLE-615: Correct JSDoc annotation for array of any type. 2023-05-18 19:25:34 -07:00
Mike Jumper 0631ff9689 GUACAMOLE-1785: Bump version numbers to 1.5.2. 2023-05-17 16:43:01 -07:00
Mike Jumper dacc08a841 GUACAMOLE-1788: Manually add plexus-utils to dependencies of minify-maven-plugin (fix build). 2023-05-13 10:35:54 -07:00
Mike Jumper 61356c9dc2 GUACAMOLE-1788: Update Docker build to use latest release of Maven 3. 2023-05-13 10:35:54 -07:00
Mike Jumper 8ada1a91c2 GUACAMOLE-1786: Update Java dependencies to latest compatible versions. 2023-05-11 21:03:48 -07:00
Mike Jumper c6770bbda7 GUACAMOLE-615: Add constants clarifying magic numbers in JS implementation of Guacamole parser. 2023-05-09 12:55:43 -07:00
Mike Jumper 5374163c95 GUACAMOLE-615: Clarify/document internals of JS implementation of codePointCount(). 2023-05-09 12:55:43 -07:00
Mike Jumper 38f7b09efb GUACAMOLE-615: Add spaces around operators for consistency with established style. 2023-05-09 12:55:43 -07:00
Mike Jumper 3acd7ce269 GUACAMOLE-615: Add unit tests for JS implementation of toInstruction(). 2023-05-09 12:55:43 -07:00
Mike Jumper 62f31b429e GUACAMOLE-615: Add unit tests for JS implementation of codePointCount(). 2023-05-09 12:55:43 -07:00
Mike Jumper 525c476854 GUACAMOLE-615: Add unit tests for JS parser in buffer mode. 2023-05-09 12:55:43 -07:00
Mike Jumper d6a01c28e5 GUACAMOLE-615: Migrate tunnel implementations to common parser. 2023-05-09 12:55:43 -07:00
Mike Jumper 81f0e8c280 GUACAMOLE-615: Correct parser calculation of element lengths. 2023-05-05 11:20:34 -07:00
Mike Jumper 82033adad0 GUACAMOLE-615: Add more thorough unit tests for protocol parsing. 2023-05-05 11:20:34 -07:00
Michael Jumper 89c3433f51 GUACAMOLE-1756: Clean up assignment of application state. 2023-05-04 18:22:59 -07:00
Michael Jumper a1fbe5f0a4 GUACAMOLE-1756: Display login failures regardless of whether the interactive login form was used. 2023-05-04 18:22:59 -07:00
Michael Jumper b58d236fd2 GUACAMOLE-1745: Ensure deep copies of session storage are created only if necessary. 2023-05-04 17:25:40 -07:00
Michael Jumper ed19b704cc GUACAMOLE-1687: Clean, document, and clarify usage of tunnel timer reset function. 2023-05-04 16:26:07 -07:00
Michael Jumper e99e104fb1 GUACAMOLE-1687: Leverage network activity to ensure keep-alive pings are sent. 2023-05-04 16:26:07 -07:00
Michael Jumper 70d2cd97d6 GUACAMOLE-1562: Update chained tunnel UUID when underlying tunnel receives UUID. 2023-05-04 16:21:15 -07:00
Michael Jumper 063557f084 GUACAMOLE-1562: Ensure "ping" response is not erroneously handled as the tunnel UUID. 2023-05-04 16:21:15 -07:00
Michael Jumper 486fe6f42a GUACAMOLE-1769: Handle case that KSM's getCustom() returns null. 2023-04-13 13:38:53 -07:00
Mike Jumper 0b4468ba24 GUACAMOLE-1752: Bump version numbers to 1.5.1. 2023-04-09 19:54:19 -07:00
Mike Jumper 860cb1930b GUACAMOLE-1765: Merge changes migrating JS unit tests to frontend-maven-plugin and headless Firefox. 2023-04-07 12:01:04 -07:00
Michael Jumper 1d0714f185 GUACAMOLE-1763: Update JavaScript dependencies to latest compatible versions. 2023-04-03 14:31:07 -07:00
Michael Jumper 8ee9ee40dc GUACAMOLE-1763: Update Java dependencies to latest compatible versions. 2023-04-03 14:24:58 -07:00
Mike Jumper 309350a909 GUACAMOLE-1293: Display anonymous users within a shared session as "Anonymous". 2023-02-03 16:37:19 -08:00
Mike Jumper bd91327415 GUACAMOLE-1293: Allow "onmsg" to determine whether "onjoin" and "onleave" fire. 2023-01-31 15:27:00 -08:00
Mike Jumper b7e3f73ffa GUACAMOLE-1293: Clarify message parameter mapping with variable naming. 2023-01-30 12:07:50 -08:00
Mike Jumper c45c529522 GUACAMOLE-1293: Display user count and join/leave notifications in out-of-the-way status indicator. 2023-01-30 10:16:22 -08:00
Mike Jumper a0d5824e83 GUACAMOLE-1293: Add "onjoin" and "onleave" events as alternative to handling low-level "msg" instructions directly. 2023-01-30 10:16:22 -08:00
Mike Jumper 250039aaf9 GUACAMOLE-1293: Replace message list with overall shared user count. 2023-01-30 10:16:22 -08:00
Mike Jumper 9a587a16eb GUACAMOLE-1322: Merge correction to SAML sanity-checking logic regarding SAML_IDP_URL. 2023-01-22 09:32:17 -08:00
Mike Jumper 28ae0a9331 GUACAMOLE-1293: Merge client support for join/leave notifications. 2023-01-10 21:59:14 -08:00
Mike Jumper b35873f79e GUACAMOLE-1604: Add 1.5.0 to list of compatible API versions. 2023-01-10 16:41:23 -08:00
Mike Jumper 0eed915d28 GUACAMOLE-1604: Bump Guacamole.API_VERSION to 1.5.0. 2023-01-10 16:40:52 -08:00
Mike Jumper 5ecee2efaa GUACAMOLE-1604: Bump version numbers of all projects to 1.5.0. 2023-01-10 16:40:19 -08:00
Mike Jumper 0f3cb8d056 GUACAMOLE-1594: Update JavaScript dependencies to latest compatible versions. 2023-01-10 16:28:08 -08:00
Mike Jumper 9262a2b33b GUACAMOLE-1594: Update Java dependencies to latest compatible versions. 2023-01-10 16:28:08 -08:00
Michael Jumper 9ca7d00dab GUACAMOLE-1594: Exclude optional JavaMail dependency from Logback. 2022-11-11 16:04:16 -08:00
Mike Jumper 22f2f89009 GUACAMOLE-1594: Switch to Logback 1.3.x (supports Java 8). 2022-11-11 15:27:28 -08:00
Mike Jumper 4c8ba81c10 GUACAMOLE-1594: Override transitive common-text for LDAP with latest release (1.10.0). 2022-11-06 22:06:22 -08:00
Mike Jumper 6637f4911d GUACAMOLE-1594: Update to Spring Security 5.7.5. 2022-11-06 22:06:17 -08:00
Mike Jumper 753cfc3e5c GUACAMOLE-1594: Update to latest version of Jackson (2.14.0). 2022-11-06 22:06:06 -08:00
Mike Jumper ce9922e08c GUACAMOLE-1594: Update all Java and JavaScript dependencies to latest compatible.
NOTE: Several WebPack plugins could not be updated as all plugins within
WebPack's "webpack-contrib" have dropped support for WebPack v4
entirely, but Closure Compiler only supports WebPack v4.
2022-10-27 12:54:58 -07:00
Mike Jumper fed176def6 GUACAMOLE-1005: Merge Docker support for configuring RemoteIPValve. 2022-07-27 23:42:11 -07:00
Mike Jumper ef9afb0c7d GUACAMOLE-1594: Merge updates to Java/JavaScript dependencies of webapp. 2022-05-02 15:18:30 -07:00
Michael Jumper 837a0360be GUACAMOLE-641: Clarify that null will also be returned if the List actually contains null. 2022-04-27 22:01:01 +00:00
Michael Jumper 741cf481d6 GUACAMOLE-641: Ensure empty strings within KSM record fields are handled as if the field value is absent. 2022-04-27 19:22:04 +00:00
Michael Jumper 98abadaef5 GUACAMOLE-462: Do not attempt to retrieve recordings for records with null UUIDs. 2022-03-31 19:56:50 +00:00
Michael Jumper c45bd9f7d3 GUACAMOLE-462: Ensure compatibility with 1.x extensions is maintained. 2022-03-31 18:07:29 +00:00
Michael Jumper ba54a3aa18 GUACAMOLE-462: Request correct sort order from REST API when searching history. 2022-03-31 18:06:11 +00:00
Michael Jumper 357e585edd GUACAMOLE-462: Declare variables with "const" where appropriate. 2022-03-03 22:25:02 +00:00
Michael Jumper 531711493e GUACAMOLE-462: Add in-app player for session recordings. 2022-03-03 22:25:02 +00:00
Michael Jumper 2428c7eb14 GUACAMOLE-462: Report size of files downloaded via the static HTTP tunnel. 2022-03-02 23:05:02 +00:00
Michael Jumper 389bbece05 GUACAMOLE-462: Store REST API history entry directly in ConnectionHistoryEntryWrapper, rather than duplicating properties. 2022-03-02 23:05:02 +00:00
Michael Jumper c3aad01be8 GUACAMOLE-462: Continue playback only after keyframe import.
If this is not done, asynchronous decoding of the keyframe via text()
may complete AFTER replay continues, effectively ignoring the keyframe,
leaving currentFrame untouched, and unnecessarily replaying
instructions.
2022-03-02 20:37:41 +00:00
Michael Jumper c4b8a13968 GUACAMOLE-462: State of recording after resetting to a keyframe is the index of that keyframe, not necessarily the requested seek index.
Further instructions may need to be replayed after seeking to the
keyframe in order to reach the desired frame index.
2022-03-02 20:37:37 +00:00
Michael Jumper 27c7ab782f GUACAMOLE-462: Do not continue an outstanding state import if its corresponding seek has been cancelled. 2022-03-02 20:37:30 +00:00
Michael Jumper d4899f102f GUACAMOLE-462: Clear out pending display operations and fully reset when importing state. 2022-03-02 20:37:25 +00:00
Michael Jumper a27bd2694a GUACAMOLE-462: Allow pending display frames to be cancelled. 2022-03-02 20:37:18 +00:00
Michael Jumper 8ebe13d085 GUACAMOLE-1545: Ensure tunnel "onload" fires only for true state changes.
Previously, the state of the tunnel implementations was initialized to
"CONNECTING", which is incorrect and may result in (1) initial state
changes to "CONNECTING" not firing "onstatechange" and (2) the state
change to "CLOSED" incorrectly firing when initially connecting,
despite there not being an established connection.
2022-03-02 20:35:52 +00:00
Michael Jumper 26a9246e32 GUACAMOLE-462: Correct missing import for JavaDoc reference. 2022-02-28 00:30:30 +00:00
Michael Jumper f83ee0c60b GUACAMOLE-462: Add ${HISTORY_PATH} convenience token for automatically placing recordings in the expected location. 2022-02-28 00:30:30 +00:00
Michael Jumper a123eacab5 GUACAMOLE-462: Add extension for automatically associated session recordings, logs, etc. with history entries. 2022-02-28 00:30:30 +00:00
Michael Jumper c386845f24 GUACAMOLE-462: Retrieve individual database history records directly (by ID). 2022-02-28 00:30:30 +00:00
Michael Jumper 449fcb828e GUACAMOLE-462: Allow individual records to be identified and retrieved directly. 2022-02-28 00:30:30 +00:00
Michael Jumper 6874f9c6bd GUACAMOLE-462: Add JavaScript objects for REST API representations of activity logs. 2022-02-28 00:30:30 +00:00
Michael Jumper b80d8da1bb GUACAMOLE-462: Migrate user/connection record mappers to common base interface. 2022-02-28 00:30:30 +00:00
Michael Jumper 45ac06e0d0 GUACAMOLE-462: Create connection history records for in-progress connections.
Besides restoring historically-provided functionality, the ID generated
by the database for connection history records is needed to generate a
deterministic UUID that can be injected into connection configurations
with ${HISTORY_UUID}. Having such a token allows session recordings to
be given names that can be reliably matched with history records.
2022-02-28 00:30:30 +00:00
Michael Jumper fb3aeb7628 GUACAMOLE-462: Ensure activity record UUID becomes available/updated if underlying model is assigned an ID. 2022-02-28 00:30:30 +00:00
Michael Jumper d367add785 GUACAMOLE-462: Allow logs associated with history entries to be retrieved via REST. 2022-02-28 00:30:30 +00:00
Michael Jumper 0cca98d0b2 GUACAMOLE-462: Directly support associating session recordings with history entries at API level. 2022-02-28 00:30:30 +00:00
Michael Jumper 538ac5d934 GUACAMOLE-462: Include history record UUID as token. 2022-02-28 00:30:30 +00:00
Michael Jumper 32c7ab03ad GUACAMOLE-462: Generate consistent history record UUIDs based on database record IDs. 2022-02-28 00:30:30 +00:00
Michael Jumper a5c58e221b GUACAMOLE-462: Add convenience classes for decorating ActivityRecordSets and their records. 2022-02-28 00:30:30 +00:00
Michael Jumper 9cbf4f045f GUACAMOLE-462: Add API-level support for associating data with history records. 2022-02-28 00:30:30 +00:00
Michael Jumper dc98633897 GUACAMOLE-462: Separate Attributes interface into read-only and read/write variations. 2022-02-28 00:30:30 +00:00
Mike Jumper 402197863f GUACAMOLE-1539: Merge correction to Docker entrypoint auth sanity check. 2022-02-27 14:55:03 -08:00
Michael Jumper a096abd735 GUACAMOLE-896: Always flush instruction buffer upon end of static tunnel. 2022-02-23 09:28:48 -08:00
Michael Jumper d0257122bb GUACAMOLE-896: Leverage Blobs for storage of recording keyframes. 2022-02-14 09:21:22 -08:00
Mike Jumper f82b7e884c GUACAMOLE-1322: Merge Docker image support for SAML. 2022-02-11 17:23:43 -08:00
Michael Jumper b8da13243d GUACAMOLE-896: Ensure "seeking" class not erroneously assigned if seek() finishes immediately. 2022-02-11 17:17:44 -08:00
Michael Jumper 2c8bc58402 GUACAMOLE-896: Avoid XHR-related memory limitations by using Fetch API.
The Fetch API allows us to read HTTP responses as true streams, without
building an in-memory string. We can the buffer things ourselves as we
see fit, including as a Blob that can dynamically leverage disk storage
for larger data.
2022-02-11 17:17:44 -08:00
Michael Jumper f559f5ca70 GUACAMOLE-896: Add JavaScript UTF-8 parser implementation. 2022-02-11 17:17:44 -08:00
Michael Jumper a97404b6ad GUACAMOLE-896: Update session recording player to support efficient reading from Blobs. 2022-02-11 17:09:57 -08:00
Michael Jumper ed14fa3ecf GUACAMOLE-641: Use "KeyPair" typed field for private key only if non-empty.
An SSH server record in KSM has an associated "KeyPair" field, but this
field need not be set. If unset, the current logic ignores the rest of
the record and assumes there is no private key at all. Instead, the
standard fallbacks of locating an attached PEM file, locating an
alternative password field, etc. should be used.
2022-01-30 11:33:14 -08:00
Michael Jumper 96c8c7de61 GUACAMOLE-641: Correct old references to the temporarily-removed Azure support. 2022-01-25 19:50:17 -08:00
Michael Jumper cc8b3f734c GUACAMOLE-1523: Resync ONLY local clipboard to internal clipboard.
The clipboard service previously and incorrectly resynced the internal
clipboard with itself. This had the effect of forcing a resync of the
internal clipboard contents to the external, local clipboard, clearing
that clipboard of whatever was copied before.
2022-01-25 16:41:16 -08:00
Mike Jumper 6b24394c9b GUACAMOLE-1507: Merge support for configuring the 'extension-priority' property via Docker environment variables. 2022-01-23 18:42:45 -08:00
Michael Jumper df386bfd10 GUACAMOLE-1508: Ensure extension JarFile is always properly closed. 2022-01-23 15:07:40 -08:00
Michael Jumper d1bbfd18ab GUACAMOLE-1509: Add contextual CSS classes to containers/elements that are otherwise ambiguous. 2022-01-23 12:20:46 -08:00
Michael Jumper a7cf01064a GUACAMOLE-1509: Add status-specific CSS classes to connection notifications. 2022-01-23 12:20:46 -08:00