Commit Graph
95 Commits
Author SHA1 Message Date
Michael Jumper bcbac1fb57 GUACAMOLE-524: Ensure all guacamole-ext classes implementing connect() use the old connect() as their basis. Overriding the old connect() will not have the expected effect otherwise. 2019-01-22 15:49:16 -08:00
Michael Jumper feecb6301f GUACAMOLE-524: Declare deprecation of old connect() within guacamole-ext. 2019-01-22 15:46:43 -08:00
Michael Jumper a28b3c393a GUACAMOLE-524: Do not interpret tokens in SimpleUserContext if interpretTokens is false. 2019-01-22 14:25:27 -08:00
Michael Jumper 05553ec918 GUACAMOLE-524: Internally replace Connectable with an ABI-compatible version.
Defining an ABI-compatible version of Connectable at the guacamole-ext
level is problematic as concrete implementations of the interface will
suddenly compile despite having no implementation of connect() at all.

We can instead rely on the web application to ensure binary
compatibility, leaving guacamole-ext to define the interface that new
code should use.
2019-01-22 12:29:03 -08:00
Michael Jumper 9d74d9911e GUACAMOLE-524: Correct JavaDoc references to previous iteration of API rework. 2019-01-22 00:28:44 -08:00
Michael Jumper 49cd4e5531 GUACAMOLE-524: Clarify and document SimpleConnection implementation. 2019-01-21 22:04:44 -08:00
Michael Jumper 6be722ed9d GUACAMOLE-524: Require usages of SimpleConnection to explicitly request automatic interpretation of parameter tokens. Do not enable by default.
Previous implementations of SimpleConnection did not interpret parameter
tokens automatically. Adding that behavior now could have security
implications for downstream users of the class if parameter values may
unexpectedly contain substrings which would be interpreted as tokens,
particularly if parameter values are built from untrusted input.
2019-01-21 19:55:33 -08:00
Michael Jumper 7e67dde751 GUACAMOLE-524: Leverage thread-local storage to allow overriding the deprecated connect() function to have the expected effect within subclasses of SimpleConnection. 2019-01-21 17:52:54 -08:00
Michael Jumper b638387920 GUACAMOLE-524: Provide distinct, documented, internal access to raw GuacamoleConfiguration within SimpleConnection.
While raw, internal access to the GuacamoleConfiguration was originally
present in older versions of SimpleConnection, this access was
undocumented and could result in unexpected behavior if the default
constructor was used, getConfiguration() was overridden, or
setConfiguration() was called.
2019-01-21 17:38:24 -08:00
Michael Jumper 4a1527b1d4 GUACAMOLE-524: Provide bridge implementations of both old and new versions of connect() for sake of compatibility. 2019-01-20 13:30:55 -08:00
James Muehlner 756ec2fcc4 Merge 1.0.0 changes back to master. 2018-11-08 21:26:43 -08:00
Michael Jumper b355106c77 GUACAMOLE-220: Remove unnecessary explicit type parameters. 2018-11-08 20:11:17 -08:00
Michael Jumper 2d6ba84a3d GUACAMOLE-220: Refactor default behavior of SimpleUser and SimpleUserGroup into AbstractUser and AbstractUserGroup. 2018-11-03 14:52:24 -07:00
Michael Jumper 90a6d8e371 GUACAMOLE-220: Clarify usage of SimpleUser and SimpleUserGroup. 2018-11-03 14:14:04 -07:00
Michael Jumper d533de118f GUACAMOLE-220: Add EMPTY_SET convenience constant to all core set interfaces. 2018-11-03 14:08:46 -07:00
Michael Jumper d10256e151 GUACAMOLE-220: Deprecate built-in support for storage of permissions in SimpleUser. Add convenience constructors for SimpleObjectPermissionSet. 2018-11-03 13:58:50 -07:00
Michael Jumper 929c7de2c9 GUACAMOLE-220: Add user group permissions to SimpleUser. 2018-11-03 12:41:54 -07:00
Michael Jumper 5362bc6708 GUACAMOLE-220: Add SimpleUserGroup (read-only UserGroup implementation with no members). 2018-11-03 12:41:54 -07:00
Michael Jumper 143c10b6ef GUACAMOLE-524: Correct handling of tokens within SimpleConnection. The copy of the configuration should be filtered, not the original, and token values need to actually be set. 2018-10-16 14:53:10 -07:00
Michael Jumper 98bd3ead21 GUACAMOLE-524: Remove Attributes interface from AuthenticatedUser. Rely instead on tokens injected via decoration of connections. 2018-10-05 12:47:26 -07:00
Michael Jumper 0d7cff5f2d GUACAMOLE-524: Add convenience classes for injecting custom parameter tokens through decoration. 2018-10-05 12:47:26 -07:00
Michael Jumper 1210d5624c GUACAMOLE-524: Deprecate and replace StandardTokens with arbitrary tokens provided to Connectable.connect(). 2018-10-05 12:47:26 -07:00
Nick Couchman 01709fb26b Merge 1.0.0 changes back to master. 2018-10-05 15:13:36 -04:00
Michael Jumper 11c1d8c97e GUACAMOLE-96: Add protected convenience method for retrieving delegate object. 2018-10-05 10:36:47 -07:00
Nick Couchman d1a6c297b8 Merge 1.0.0 changes back to master. 2018-09-29 16:50:32 -04:00
Michael Jumper 182f204c95 GUACAMOLE-635: Heap pollution is not possible within SimpleDirectory(ObjectType... objects).
From https://docs.oracle.com/javase/tutorial/java/generics/nonReifiableVarargsType.html#vulnerabilities:

"Heap pollution occurs when a variable of a parameterized type refers
to an object that is not of that parameterized type."

In this case, the parameterized type (ObjectType) and the array of that
type within this constructor are always used as their formal types.
2018-09-29 13:19:21 -07:00
Nick Couchman d320606295 Merge 1.0.0 changes to master. 2018-09-08 18:42:08 -04:00
Michael Jumper 3492b556c3 GUACAMOLE-220: Add missing definitions for CREATE_USER_GROUP system permission. 2018-09-08 13:09:24 -07:00
Michael Jumper d53b43ce29 Merge 1.0.0 changes back to master. 2018-07-01 23:18:04 -07:00
Nick Couchman 2ff416bb1c GUACAMOLE-540: Remove unused imports. 2018-06-30 14:31:24 -04:00
Nick Couchman 3d593a4ca1 GUACAMOLE-540: Remove processing of X-Forwarded-For header. 2018-06-30 14:28:53 -04:00
Nick Couchman 0b77782391 GUACAMOLE-540: Fix spaces that get added by IDE 2018-06-16 08:07:33 -04:00
Nick Couchman fb1efec056 GUACAMOLE-540: Restore removed setter methods in Credentials. 2018-06-16 08:06:13 -04:00
Nick Couchman a0d0e07658 GUACAMOLE-540: Clean up style and comments in Credentials class 2018-06-16 08:06:07 -04:00
Nick Couchman 52a3f454e6 GUACAMOLE-540: Clean up Credentials with new constructor. 2018-06-16 08:06:07 -04:00
Nick Couchman c725da00a0 GUACAMOLE-540: Update comments; remove unnecessary setter methods. 2018-06-16 07:13:17 -04:00
Nick Couchman cbd77b52ae GUACAMOLE-540: Move remote address processing to Credentials class for consistency. 2018-06-16 07:13:17 -04:00
Jared Frees 4791adaa46 GUACAMOLE-524: Fixed up code style and comments
Also added Override tag in AbstractAuthenticatedUser on getAttributes
and setAttributes.
2018-06-12 16:21:52 -04:00
Jared Frees cde13be0cf GUACAMOLE-524: Add implements Attributes 2018-06-12 11:45:06 -04:00
Jared Frees fa33c98ddc GUACAMOLE-524: Implements Attributes and provides getAttributes and setAttributes default methods 2018-06-12 11:44:10 -04:00
Jared Frees 4c1281d8c2 GUACAMOLE-524: Removed changes to Credentials 2018-06-11 11:17:06 -04:00
Jared Frees 5ca32a221a GUACAMOLE-524: Add LDAP attributes to credentials.
AuthenticationProviderService gets LDAP attributes
from confService and queries the LDAP server to
find values on user for specified attributes.
Added a Map<String, String> to Credentials named ldapAttrs
and a getLDAPAttributes() and setLDAPAttributes() to
manipulate ldapAttrs on credentials. Once
AuthenticationProviderService gets the values for the
LDAP attributes it sets ldapAttrs on the credentials object.
2018-06-08 15:05:59 -04:00
Michael Jumper e75e9715f7 GUACAMOLE-220: Permissions returned by getEffectivePermissions() may BE implied, not "may implied". 2018-04-21 14:25:39 -07:00
Michael Jumper c8564f5d80 GUACAMOLE-220: Correct JavaDoc of getEffectiveUserGroups() - missing period. 2018-04-21 14:24:11 -07:00
Michael Jumper b35e494fdf GUACAMOLE-220: Remove erroneously-added blank line. 2018-04-21 14:23:07 -07:00
Michael Jumper b43aa59958 GUACAMOLE-220: Correct documentation of getUserGroups() behavior. 2018-04-21 14:11:18 -07:00
Michael Jumper dfb07edf29 GUACAMOLE-220: Add base API support for user groups. Refactor as minimally necessary. 2018-04-19 15:29:10 -07:00
Michael Jumper fa100a888f GUACAMOLE-542: Explicitly document the behavior of the default implementations provided by AbstractUserContext and AbstractAuthenticationProvider. 2018-04-12 14:33:32 -07:00
Michael Jumper 57ff8b84e6 GUACAMOLE-542: Deprecate SimpleConnectionDirectory, etc., relying instead on SimpleDirectory. 2018-04-11 21:29:23 -07:00
Michael Jumper 9b7ef0dfcf GUACAMOLE-542: Migrate to simpler AbstractAuthenticationProvider / AbstractUserContext base classes. 2018-04-11 21:29:15 -07:00