Commit Graph

5497 Commits

Author SHA1 Message Date
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
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
Virtually Nick
82168e1d77 GUACAMOLE-728: Only set legacy flag when SSL is disabled. 2020-06-25 22:21:04 -04: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
Virtually Nick
d5d4f16782 GUACAMOLE-728: Handle lack of support for Postgres prefer SSL mode. 2020-06-25 22:01:02 -04: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
Virtually Nick
6fc09f4ee8 GUACAMOLE-728: Only set MySQL JDBC useSSL when sslmode is disabled. 2020-06-25 20:22:20 -04: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
Virtually Nick
788395ad9d GUACAMOLE-728: Change default JDBC SSL mode to prefer(red). 2020-06-25 18:48:07 -04:00
Virtually Nick
5aebe980b8 Merge staging/1.2.0 changes back to master. 2020-06-25 16:23:16 -04:00
Virtually Nick
2522b37997 GUACAMOLE-823: Update item structure of Guacamole menu connection browser to match home screen. 2020-06-25 16:22:30 -04: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
Virtually Nick
2d233e090f Merge staging/1.2.0 changes back to master. 2020-06-25 06:52:23 -04:00
Virtually Nick
57378fd38f GUACAMOLE-103: Merge transform username only if present. 2020-06-25 06:51:39 -04: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
Virtually Nick
349fac9d1a GUACAMOLE-678: Return null for null property values. 2020-06-24 20:38:48 -04:00
Virtually Nick
54cd540973 GUACAMOLE-103: Adjust checks for entity ID and ACS URL properties. 2020-06-24 20:04:25 -04:00
Virtually Nick
c061d78d54 Merge staging/1.2.0 changes back to master. 2020-06-24 19:42:04 -04:00
Virtually Nick
eb56eb652f GUACAMOLE-103: Merge correct SAML extension construction of URLs. 2020-06-24 19:40:44 -04: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
Virtually Nick
8acb3cbb24 GUACAMOLE-103: Change IdP metadata file to a URI. 2020-06-24 16:24:32 -04:00
Virtually Nick
1f0174afea GUACAMOLE-103: Redirect for login if response hash is not present. 2020-06-24 15:19:10 -04:00
Virtually Nick
27603dc2ac GUACAMOLE-103: Exception handling, token, and SAMLResponseMap updates.
Exception handling within the SAML extension has been updated such that
exceptions generate a Guacamole Error rather than a username/password
login.  Tokens now are canonicalized with a standard prefix.  Now using
an Iterator to handle SAMLResponseMap cleanup.
2020-06-24 13:36:24 -04:00
Virtually Nick
806ec964ff GUACAMOLE-103: License cleanup, fix comments, and minor code tweaks.
Includes implementation of executor shutdown, and correctly removing
items from the shared response map.
2020-06-23 23:48:08 -04: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
Virtually Nick
52318a99a8 GUACAMOLE-103: Handle group parsing in safe way 2020-06-23 12:43:14 -04:00
Virtually Nick
09429492e0 GUACAMOLE-103: Periodically clean SAMLResponseMap for expired responses. 2020-06-23 12:43:14 -04:00
Virtually Nick
1c9efb2a44 GUACAMOLE-103: Process SAML exceptions individually. 2020-06-23 12:43:14 -04:00
Virtually Nick
2d1f49aae5 GUACAMOLE-103: Add option for enforcing strict SAML security. 2020-06-23 12:43:14 -04:00
Virtually Nick
129cd6ace5 GUACAMOLE-103: Remove unnecessary parameter decoding 2020-06-23 12:43:14 -04:00
Virtually Nick
ddac552a72 GUACAMOLE-103: Add settings for controlling debug and compression. 2020-06-23 12:43:14 -04:00
Virtually Nick
2a2172914d GUACAMOLE-103: Move SAMLResponse processing to authentication service. 2020-06-23 12:43:03 -04:00
Nick Couchman
7a44cf6014 GUACAMOLE-103: Implementation of SAML authentication extension, using OpenID as a template. 2020-06-23 12:41:19 -04:00
Virtually Nick
9df8cfd38d GUACAMOLE-728: Add Docker support for SSL configuration for MySQL and Postgres. 2020-06-23 10:24:50 -04: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
Virtually Nick
a0ee0475ed GUACAMOLE-103: Move to using Translatable for redirect message; clean up comments. 2020-06-22 14:24:02 -04:00