Commit Graph
206 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 333a8c411f GUACAMOLE-524: Provide convenience constructor for TokenFilter which initializes the filter with provided tokens. 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 a9637494ac GUACAMOLE-524: Merge allow user attributes to be used as tokens. 2018-06-21 11:14:06 -04:00
Jared Frees 927c04b9d4 GUACAMOLE-524: Removed unused imports, fixed comments, and condensed
code
2018-06-21 11:02:18 -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 0964c46f4f GUACAMOLE-524: Fixed RegEx for attribute tokens by removing ':' 2018-06-15 10:53:18 -04:00
Jared Frees 653b4e0134 Updated JavaDoc for addStandardTokens 2018-06-14 11:15:57 -04:00
Jared Frees 49c3f11854 GUACAMOLE-524: Changed addStandardTokens so user.getAttributes is called 2018-06-14 11:08:50 -04:00
Michael Jumper 426a7919b3 GUACAMOLE-470: Allow TEXT fields to be associated with predefined sets of known-good values. 2018-06-12 13:58:04 -07: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 36bbdce7b1 GUACAMOLE-524: Fix order of imports. 2018-06-12 11:46:21 -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 165d3d0d0d GUACAMOLE-524: Add Custom Attributes to Tokens
Added method to add custom map of tokens to StandardTokens.
2018-06-11 14:59:12 -04:00
Jared Frees 4c1281d8c2 GUACAMOLE-524: Removed changes to Credentials 2018-06-11 11:17:06 -04:00