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