Commit Graph
100 Commits
Author SHA1 Message Date
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
Michael Jumper 3912439472 Merge 1.2.0 changes back to master. 2020-06-23 11:47:02 -07:00
Mike Jumper 5adba87fbb GUACAMOLE-728: Merge Docker support configuring SSL database connections. 2020-06-23 11:46:21 -07:00
Michael Jumper 5175dd3d29 Merge 1.2.0 changes back to master. 2020-06-22 14:36:42 -07:00
Mike Jumper 9dcd074340 GUACAMOLE-103: Merge extension API support for redirection during authentication/authorization process. 2020-06-22 14:36:06 -07:00
Michael Jumper bfde9562fc Merge 1.2.0 changes back to master. 2020-06-21 19:29:55 -07:00
Mike Jumper 82962d0784 GUACAMOLE-708: Merge style clean-up for account auto-creation changes. 2020-06-21 19:28:52 -07:00
Michael Jumper 577eca819f Merge 1.2.0 changes back to master. 2020-06-20 19:59:39 -07:00
Mike Jumper 6c3095135d GUACAMOLE-708: Merge automatic creation of non-existent authenticated users within database. 2020-06-20 19:58:46 -07:00
Michael Jumper e1f95b8763 Merge 1.2.0 changes back to master. 2020-06-19 11:40:44 -07:00
Mike Jumper 3139c41781 GUACAMOLE-513: Merge definitions and translations for Wake-on-LAN parameters. 2020-06-19 11:39:06 -07:00
Michael Jumper 85a7a58bd3 GUACAMOLE-820: Match IP address filters against IP addresses anywhere in object properties. 2020-06-18 14:06:19 -07:00
Michael Jumper 7db03ba9cb GUACAMOLE-823: Render empty balancing connection groups on home screen as if they are connections. 2020-06-18 01:35:19 -07:00
Michael Jumper 917da570b0 GUACAMOLE-823: Restructure home screen connection groups to match connections. 2020-06-18 01:35:19 -07:00
Michael Jumper c7ba1e65d3 GUACAMOLE-708: Update comments to reflect generalization of privileged access beyond administrators. 2020-06-17 21:44:02 -07:00
Michael Jumper 0b2269f1ea GUACAMOLE-708: Add support for getPrivileged() to JDBC UserContext. 2020-06-17 21:44:02 -07:00
Michael Jumper 6f37e5d07d GUACAMOLE-708: Replace isAdministrator() checks with more generic isPrivileged(). 2020-06-16 20:44:12 -07:00
Michael Jumper 4e8c9e1cb7 GUACAMOLE-708: Remove requirement for users to have UPDATE permission on themselves for TOTP to work. 2020-06-16 20:44:12 -07:00
Michael Jumper 47f7eb34b6 GUACAMOLE-708: Define getPrivileged() mechanism for allowing internal, privileged access for the benefit of other extensions. 2020-06-16 20:44:12 -07:00
Michael Jumper 86ae501a8a Merge 1.2.0 changes back to master. 2020-06-16 16:12:16 -07:00
Mike Jumper cbe2c5dbf2 GUACAMOLE-474: Merge parameter definitions and translation strings for disabling file upload/download. 2020-06-16 16:11:07 -07:00
Michael Jumper d33864bdc1 Merge 1.2.0 changes back to master. 2020-06-16 12:59:57 -07:00
Mike Jumper b295e2082e GUACAMOLE-728: Merge SSL support for MySQL and PostgreSQL. 2020-06-16 12:58:48 -07:00
Michael Jumper b02727e441 Merge 1.2.0 changes back to master. 2020-06-16 11:43:02 -07:00
Mike Jumper 325cfeb556 GUACAMOLE-583: Merge changes passing SQL Server instance name to JDBC driver rather than MyBatis. 2020-06-16 11:42:06 -07:00
Michael Jumper 8b9538937e Merge 1.2.0 changes back to master. 2020-06-16 01:31:53 -07:00
Mike Jumper 6134dd3c88 GUACAMOLE-583: Merge support for SQL Server instance names. 2020-06-16 01:14:09 -07:00
Michael Jumper 2dd05d939c GUACAMOLE-728: Restore enum mapping of JRadius protocol names. Carry through refactor of RadiusAuthenticator configuration. 2020-06-13 16:52:16 -07:00
Michael Jumper 7c44ee2a67 GUACAMOLE-728: Migrate existing enum-based GuacamoleProperty implementations to EnumGuacamoleProperty. 2020-06-10 21:41:31 -07:00
Michael Jumper 7d6e383e4a GUACAMOLE-728: Define EnumGuacamoleProperty for convenience and maintainability. 2020-06-10 21:41:27 -07:00
Mike Jumper 4fec4638fc GUACAMOLE-1081: Merge support for parameter token modifiers. 2020-05-25 18:15:32 -07:00
Mike Jumper 9e8f3ebb78 GUACAMOLE-1001: Merge correction to spelling of "Exception 2020-05-10 18:33:54 -07:00
Mike Jumper 3399a33941 GUACAMOLE-1001: Merge changes adding missing attributes to RADIUS requests. 2020-04-29 03:17:04 -07:00
Michael Jumper 0d1f42f6f4 GUACAMOLE-1007: Use Translatable versions of GuacamoleException subclasses where translation keys are in use. 2020-04-13 00:46:28 -07:00
Michael Jumper 907dfcd151 GUACAMOLE-1007: Add Translatable versions of GuacamoleException subclasses for convenience. 2020-04-13 00:46:28 -07:00
Michael Jumper aa4d5aa627 GUACAMOLE-952: Add RDP parameter value and translation string for Hyper-V / VMConnect security mode. 2020-03-22 16:28:51 -07:00
Michael Jumper 975a0c109f Merge 1.2.0 changes back to master. 2020-03-18 17:01:41 -07:00
Mike Jumper 202e68ab40 GUACAMOLE-781: Merge corrections/updates to Czech translation. 2020-03-18 17:00:39 -07:00
Michael Jumper b826980d9c GUACAMOLE-901: Add translation and parameter definition for Belgian French layout. 2020-03-08 19:55:20 -07:00
Michael Jumper 08acb8dd10 GUACAMOLE-625: Add translation and parameter definition for Latin American layout. 2020-03-08 16:52:06 -07:00
Michael Jumper 521990d5c9 Merge 1.2.0 changes back to master. 2020-02-27 11:13:27 -08:00
Mike Jumper 1cf6ff00d8 GUACAMOLE-966: Merge changes bumping applicable version numbers to 1.2.0. 2020-02-27 11:12:20 -08:00
Michael Jumper 844a2d97e3 GUACAMOLE-883: Allow guacTextInput directive to lose focus. 2020-02-26 18:29:36 -08:00
Michael Jumper 716b686f72 GUACAMOLE-883: Do not attempt to scroll beyond established page dimensions. 2020-02-26 17:34:35 -08:00
Michael Jumper ea8e181e2c GUACAMOLE-955: Provide default translation string for all untranslated messages. 2020-02-10 22:03:35 -08:00
Michael Jumper a8b01895d8 GUACAMOLE-938: Correct typos in createLDAPConnection() documentation and copypasta repeating those typos. 2020-01-26 07:50:55 -08:00
Michael Jumper fe7492292d GUACAMOLE-938: Use STARTTLS for "ldap://..." URLs if main LDAP connection uses STARTTLS. 2020-01-26 07:46:41 -08:00
Mike Jumper ff6dc5f330 GUACAMOLE-784: Merge changes which tolerate the presence of a port number within X-Forwarded-For headers. 2020-01-25 22:34:05 -08:00
Mike Jumper 9fdcccf79d GUACAMOLE-852: Merge support for selecting either MySQL or MariaDB JDBC drivers. 2020-01-25 22:06:13 -08:00
Michael Jumper cb53b17afb GUACAMOLE-938: Refactor LDAP connect/bind process such that the same code is used for all LDAP connection attempts, including referrals. 2020-01-25 14:36:30 -08:00
Michael Jumper 15b631514d GUACAMOLE-938: Remove disconnect() utility function. Closing an LdapNetworkConnection cannot throw an IOException. 2020-01-24 22:52:17 -08:00
Michael Jumper 5c2f44ae3a GUACAMOLE-936: Clean up referral logic and logging. Ensure associated LDAP connections are always closed. 2020-01-24 01:12:00 -08:00
Michael Jumper 2cb0efeda6 GUACAMOLE-937: Return null on bindAs() failures. Rely on caller to interpret and handle failures.
Throwing GuacamoleInvalidCredentialsException breaks separation of
concerns (bindAs() shouldn't assume that it's being used during login
and that credentials given are the Guacamole user's credentials), and
has unintended side effects (throwing subclasses of
GuacamoleUnauthorizedException causes implicit session invalidation).
2020-01-23 23:24:47 -08:00
Michael Jumper 00327706b0 GUACAMOLE-936: Each LdapNetworkConnection must be closed or threads are leaked, causing Tomcat to fail to shutdown. 2020-01-22 22:07:11 -08:00