Commit Graph
100 Commits
Author SHA1 Message Date
Michael Jumper d0574f8d82 GUACAMOLE-839: Use BouncyCastle for retrieval of certificate details.
Java's build-in support for reading X.509 certificates does not deal
well with PIV certificates containing the username as a "serialNumber"
attribute. Rather than exposing the string value of that attribute, the
Java implementation exposes a byte array that does not fully match the
string value shown by a tool like OpenSSL.

BouncyCastle, on the other hand, _does_ match the output of OpenSSL, and
provides a predictable means of decoding the certificate.
2023-03-07 16:36:37 -08:00
Michael Jumper b9958fa331 GUACAMOLE-839: Include SSL/TLS auth support within SSO dist archive. 2023-03-05 21:38:30 -08:00
Michael Jumper 0b5b82cc48 GUACAMOLE-839: Allow accepted subject DNs to be restricted via configuration. 2023-03-01 09:10:53 -08:00
Michael Jumper 8255326512 GUACAMOLE-839: Move SSL/TLS client auth logic to separate service. 2023-03-01 09:10:53 -08:00
Michael Jumper 38f1360dec GUACAMOLE-839: Ensure SSL/TLS client auth failures are reflected in the Guacamole UI. 2023-03-01 09:10:53 -08:00
Michael Jumper b6ce477625 GUACAMOLE-839: Support deferred retrieval of authentication parameters. 2023-03-01 09:10:52 -08:00
Michael Jumper 9177cac3cc GUACAMOLE-839: Allow authenticationService to affect login screen even if not invoked by login screen. 2023-03-01 09:10:52 -08:00
Michael Jumper e2a6947ff6 GUACAMOLE-839: Implement base support for SSO using SSL/TLS authentication (certificates / smart cards). 2023-03-01 09:10:52 -08:00
Michael Jumper 6bf0b8cf63 GUACAMOLE-839: Allow testing of null nonce values. 2023-03-01 09:10:52 -08:00
Michael Jumper 2e8cf82234 GUACAMOLE-839: As with NonceService, ensure each auth session manager instance has its own context and will not validate the sessions of other session managers. 2023-03-01 09:10:52 -08:00
Michael Jumper e51d548995 GUACAMOLE-839: Ensure each NonceService instance has its own context (will not validate the nonces of other contexts). 2023-03-01 09:10:52 -08:00
Michael Jumper 841190df5a GUACAMOLE-839: Generate case-insensitive nonce values that can safely be used in domains. 2023-03-01 09:10:52 -08:00
Michael Jumper f2c7d746ea GUACAMOLE-839: Move authentication session management service to internal common SSO library. 2023-03-01 09:10:52 -08:00
Michael Jumper 1015df6b47 GUACAMOLE-839: Move nonce-generation service to internal common SSO library. 2023-03-01 09:10:52 -08:00
Michael Jumper 5b8170eee4 GUACAMOLE-1744: Clean up UI only if user is not logged in. 2023-02-28 11:01:42 -08:00
Michael Jumper d10c35396e GUACAMOLE-1744: Automatically reset UI if session is no longer valid. 2023-02-27 14:53:09 -08:00
Michael Jumper f61f016fdf GUACAMOLE-1744: Provide REST API mechanism for testing session validity.
NOTE: This test must not have the effect of resetting a session's last
accessed time, or periodic validity tests will erroneously act as
session keep-alives.
2023-02-27 14:53:09 -08:00
Michael Jumper cfffcdf0b7 GUACAMOLE-1745: Ensure deep copies of session storage are created only if necessary. 2023-02-27 14:44:46 -08:00
Mike Jumper 72b0634a5f GUACAMOLE-1730: Merge Polish translation. 2023-02-04 13:08:30 -08: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 f194ca6367 Merge 1.5.0 changes back to master. 2023-01-22 09:33:31 -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 56b4cc436d GUACAMOLE-1731: Correct parent project version (bumped to 1.5.0). 2023-01-10 23:30:47 -08:00
Mike Jumper 0614861578 Merge 1.5.0 changes back to master. 2023-01-10 21:59:48 -08:00
Mike Jumper 28ae0a9331 GUACAMOLE-1293: Merge client support for join/leave notifications. 2023-01-10 21:59:14 -08:00
Mike Jumper 9f176ed489 Merge 1.5.0 changes back to master. 2023-01-10 21:52:26 -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
Mike Jumper 6721f20b93 GUACAMOLE-1728: Merge correction to attribute filtering (null values should be allowed). 2022-12-29 13:58:46 -08:00
Mike Jumper c2f2defcba GUACAMOLE-1402: Merge proper API definitions of all possible client state values. 2022-12-11 13:23:06 -08:00
Mike Jumper 1ea6968882 GUACAMOLE-1488: Merge support for configuring LDAP SSL protocol. 2022-12-11 13:11:49 -08:00
Mike Jumper ff44f03c1c GUACAMOLE-1723: Merge automatic enforcement of access time restrictions for logged in users. 2022-12-09 15:57:29 -08:00
Mike Jumper 7c502fdd0e GUACAMOLE-1772: Merge support for configuring KSM API call interval. 2022-11-30 09:31:52 -08:00
Mike Jumper af204001fd GUACAMOLE-1721: Merge changes migrating to storage only of auth token. 2022-11-29 15:53:32 -08:00
Mike Jumper c1b6ce4d8d GUACAMOLE-1656: Merge corrections to rendering of KSM-related fields/preferences. 2022-11-22 12:44:33 -08:00
Mike Jumper 3cbd1d9962 GUACAMOLE-1664: Merge corrections/additions to Czech translation. 2022-11-13 12:23:43 -08:00
Mike Jumper 79f72aad4f GUACAMOLE-1716: Remove usage of AccessController (deprecated in Java 17 and later). 2022-11-13 12:12:59 -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
Michael Jumper 89433ee3c7 GUACAMOLE-1224: Log extension sources of objects affected by REST API. 2022-10-14 16:08:46 -07:00
Michael Jumper f43b119818 GUACAMOLE-1224: Log receipt of authentication requests at trace level. 2022-10-14 16:08:46 -07:00
Michael Jumper 36b5842d42 GUACAMOLE-1224: Log user password updates. 2022-10-14 16:08:46 -07:00
Michael Jumper 606c7bd55c GUACAMOLE-1224: Improve readability of JavaDoc by shortening text of hyperlinked enum values. 2022-10-14 16:08:46 -07:00
Michael Jumper a0a5335c4d GUACAMOLE-1224: Further clarify DirectoryObjectEvent, renaming to IdentifiableObjectEvent. 2022-10-14 16:08:46 -07:00
Michael Jumper 9b7982a7f2 GUACAMOLE-1224: Clarify context of getAuthenticationProvider() for DirectoryObjectEvents. 2022-10-14 16:08:46 -07:00
Michael Jumper 93e7422466 GUACAMOLE-1224: Extract base interface for events affecting objects stored in a Directory. 2022-10-14 16:08:46 -07:00
Michael Jumper e5761551e4 GUACAMOLE-1224: Log identifiers of extensions reporting authentication failures. 2022-10-14 16:08:46 -07:00
Michael Jumper 818471ac84 GUACAMOLE-1224: Migrate existing auth-related logging to global event listener. 2022-10-14 16:08:46 -07:00
Michael Jumper b3319b817d GUACAMOLE-1224: Add user session invalidation/logout event. 2022-10-14 16:08:46 -07:00
Michael Jumper 63de886e5d GUACAMOLE-1224: Ensure all user sessions are explicitly invalidated prior to application shutdown. 2022-10-14 16:08:46 -07:00
Michael Jumper 8c36eaf55d GUACAMOLE-1224: Add events for overall webapp startup/shutdown. 2022-10-14 16:07:09 -07:00
Michael Jumper 9bda1b2c19 GUACAMOLE-1224: Add a default, global event listener providing logging. 2022-10-14 16:07:09 -07:00
Michael Jumper 79a1bcb2a3 GUACAMOLE-1224: Extract getName() / setName() into common Nameable interface. 2022-10-14 15:55:17 -07:00
Michael Jumper 417587259f GUACAMOLE-1224: Add CRUD-type events for Directory modifications. 2022-10-14 15:55:17 -07:00
Mike Jumper 0af17df712 GUACAMOLE-1628: Merge changes adding unzip tool required by LOGBACK_LEVEL. 2022-10-03 13:50:30 -07:00
Mike Jumper 89c981127a GUACAMOLE-1656: Merge fix for possible NPE if user KSM config is unset. 2022-09-28 21:17:59 -07:00
Mike Jumper 6c43611f51 GUACAMOLE-1656: Merge support for per-user KSM vaults. 2022-09-28 15:06:40 -07:00
Michael Jumper 7f2ea222bb GUACAMOLE-1687: Clean, document, and clarify usage of tunnel timer reset function. 2022-09-28 10:50:25 -07:00
Michael Jumper 3036c96a1f GUACAMOLE-1687: Leverage network activity to ensure keep-alive pings are sent. 2022-09-27 16:46:25 -07:00
Michael Jumper b7deee427d GUACAMOLE-990: Ensure internal errors during auth reach global error handling/logging. 2022-09-26 11:42:23 -07:00
Michael Jumper 719e957be1 GUACAMOLE-990: Guarantee auth banning occurs before all other auth processing. 2022-09-12 09:17:32 -07:00
Mike Jumper 6b03b113a9 GUACAMOLE-1661: Merge support for indexing KSM records by user domain. 2022-08-25 09:07:45 -07:00
Michael Jumper 2e5d3f4faf GUACAMOLE-990: Disable tracking if max addresses is not a positive integer. 2022-08-22 15:16:46 -07:00
Michael Jumper 584db45a4f GUACAMOLE-990: Enabled/disable auth failure tracking via implementations of a common interface. 2022-08-22 15:16:46 -07:00
Michael Jumper a9ed4c2982 GUACAMOLE-990: Revise guacamole-auth-ban log levels to generally always notify of problematic addresses. 2022-08-22 15:16:46 -07:00
Michael Jumper 8b981d9213 GUACAMOLE-990: Add Docker image support for guacamole-auth-ban. 2022-08-22 15:16:45 -07:00
Michael Jumper 43f65357c8 GUACAMOLE-990: Limit maximum number of tracked addresses. 2022-08-22 15:16:45 -07:00
Michael Jumper 2b19bc95da GUACAMOLE-990: Use translation string for "too many failed attempts" error. 2022-08-22 15:16:45 -07:00
Michael Jumper f9d8abcfde GUACAMOLE-990: Clear out any previous authentication token that is known to be invalid. 2022-08-22 15:16:45 -07:00
Michael Jumper ffb023c6c3 GUACAMOLE-1614: Include chromium-driver in Docker build for sake of JS unit tests. 2022-08-22 11:41:10 -07:00
Michael Jumper 275b5bee13 GUACAMOLE-990: Add extension for automatically blocking brute-force auth attempts. 2022-08-22 09:59:06 -07:00
Michael Jumper e6a61b7223 GUACAMOLE-990: Fire auth success/failure events only after authentication has absolutely succeeded or failed, including the details of any failure.
Previously, these events were fired only after the user's identity had
been determined (or failed to be determined). If we don't wait until
after the user contexts have also been successfully obtained (or failed
to be obtained), then things like MFA will not be taken into account
for auth events.
2022-08-22 09:59:06 -07:00
Michael Jumper 0e5a3cb74f GUACAMOLE-990: The UserContext passed to redecorate() should NOT be the internal DecoratedUserContext wrapper. 2022-08-18 12:26:55 -07:00
Mike Jumper 6138a51e9d GUACAMOLE-1320: Merge support for chunked file uploads. 2022-07-29 22:12:29 -07:00
Mike Jumper 1b6b54502e GUACAMOLE-1372: Merge support for signed SAML requests. 2022-07-28 12:46:31 -07:00
Michael Jumper 8cc7e47de2 Merge 1.5.0 changes back to master.
Please enter a commit message to explain why this merge is necessary,
2022-07-27 23:51:48 -07:00
Mike Jumper fed176def6 GUACAMOLE-1005: Merge Docker support for configuring RemoteIPValve. 2022-07-27 23:42:11 -07:00
Mike Jumper 4b4490b45a GUACAMOLE-1629: Merge correction to handling of group cycles in KSM support. 2022-07-26 14:52:10 -07:00
Mike Jumper 5b1d39634e GUACAMOLE-1643: Merge corrections to connection group KSM config edit behavior. 2022-07-22 08:49:24 -07:00
Mike Jumper a11b9a9ae4 GUACAMOLE-1643: Merge support for KSM one-time tokens at connection group level. 2022-07-21 12:57:49 -07:00
Mike Jumper 8772207a75 GUACAMOLE-1629: Merge support for vault-specific configuration at the connection group level. 2022-07-07 10:33:42 -07:00
Mike Jumper e348d3f89a GUACAMOLE-1372: Merge support for signed/encrypted SAML requests. 2022-07-05 14:32:31 -07:00
Mike Jumper 46661eed74 GUACAMOLE-1623: Merge fix for build against Java 8 (no List.of()). 2022-06-22 20:51:59 -07:00
Mike Jumper 7d71391bb3 GUACAMOLE-1623: Merge support for extracting Windows domain information from vault-stored usernames. 2022-06-22 16:11:58 -07:00
Mike Jumper 8822db781e GUACAMOLE-1606: Merge changes correcting retrieval of user group attribute schema. 2022-06-06 09:04:48 -07:00
Mike Jumper 20fd023751 GUACAMOLE-1616: Merge correction to injection of HISTORY_UUID token for external connections. 2022-06-03 13:53:59 -07:00
Mike Jumper 612491e663 GUACAMOLE-1616: Merge support for tracking external connection history within database. 2022-05-31 20:54:31 -07:00
Mike Jumper 0a7ecff3cb GUACAMOLE-1614: Merge changes upgrading to latest jasmine-maven-plugin (no PhantomJS). 2022-05-24 14:12:52 -07:00