Michael Jumper
319c40c906
GUACAMOLE-723: Ensure thumbnail is always confined within designated space.
2019-04-03 11:20:45 -07:00
Michael Jumper
b5bfc680e7
GUACAMOLE-723: Size panel thumbnails vertically, not horizontally.
2019-04-02 17:56:48 -07:00
Michael Jumper
cbd357c683
GUACAMOLE-723: Allow connections to be closed/removed directly from the panel.
2019-04-02 17:37:57 -07:00
Michael Jumper
d7dfd08add
GUACAMOLE-723: Display warning icon when background connection disconnects due to an error.
2019-04-02 11:14:23 -07:00
Michael Jumper
378cae57a7
GUACAMOLE-723: Sort connections in panel by last use.
2019-04-02 09:20:45 -07:00
Michael Jumper
19da6e32a2
GUACAMOLE-723: Allow connections in Guacamole menu dropdown to be filtered.
2019-04-02 08:44:45 -07:00
Michael Jumper
7fddb26202
GUACAMOLE-723: Limit size of connections in menu to 10 items. Restore padding around list and pager.
2019-04-02 07:48:57 -07:00
Michael Jumper
bd474e9761
GUACAMOLE-723: Allow mouse interaction with the contents of a menu without closing the menu.
2019-04-02 07:47:40 -07:00
Michael Jumper
dc012e4226
GUACAMOLE-723: Hide scrollbar and thumbnails when client panel is hidden.
2019-03-25 17:02:36 -07:00
Michael Jumper
07a967bb6b
GUACAMOLE-723: Ensure client panel renders above status notifications.
2019-03-25 17:02:32 -07:00
Michael Jumper
53bb1981c1
GUACAMOLE-723: Persist client panel state across navigation.
2019-03-25 17:02:27 -07:00
Michael Jumper
e0dcd67a9b
GUACAMOLE-723: Update size of attached client when a different client is attached.
2019-03-25 17:02:22 -07:00
Michael Jumper
aa633c2a63
GUACAMOLE-723: Organize other active connections within collapsible panel.
2019-03-25 17:02:16 -07:00
Michael Jumper
e7eb46b2a1
GUACAMOLE-723: Display connection thumbnails for all non-current active connections within the client interface.
2019-03-25 17:02:11 -07:00
Michael Jumper
57cdd2b483
GUACAMOLE-723: Allow connections to be selected within the Guacamole menu.
2019-03-25 17:02:06 -07:00
Michael Jumper
f92bf9c35f
GUACAMOLE-723: Move getClientIdentifier() to GroupListItem for convenience of other uses of the guacGroupList directive.
2019-03-25 17:01:58 -07:00
Michael Jumper
2d0bc70214
GUACAMOLE-723: Avoid DOM reflow when switching connections.
2019-03-25 17:01:25 -07:00
Michael Jumper
beb1b66c75
GUACAMOLE-749: Call proper type-specific function when flattening a GroupListItem tree.
2019-03-06 23:40:10 -08:00
Michael Jumper
8f2d3ef153
Merge 1.1.0 changes back to master.
2019-03-05 11:35:24 -08:00
Michael Jumper
e99b207a58
GUACAMOLE-381: Add definitions for "disable-copy" and "disable-paste" connection parameters.
2019-02-20 21:30:00 -08:00
Michael Jumper
c675d83ff9
GUACAMOLE-729: Extensions compatible with 1.0.0 are also compatible with 1.1.0.
2019-02-09 11:09:05 -08:00
Michael Jumper
c3fbf44f70
GUACAMOLE-729: Bump version numbers to 1.1.0.
2019-02-09 11:08:28 -08:00
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
Michael Jumper
fe36014e97
GUACAMOLE-699: Add helper script for verifying translations.
2019-01-12 16:36:58 -08:00
Michael Jumper
78f1ae1b4e
GUACAMOLE-682: Merge support for specfying the Maven build profile when building the Docker image.
2018-12-24 09:06:41 -08:00
Michael Jumper
caf07a92a9
Merge 1.0.0 changes back to master.
2018-12-05 14:40:34 -08:00
Michael Jumper
801a5df9f1
GUACAMOLE-526: Merge changes correcting regression in CAS due to AngularJS update.
...
Including `ngRoute` as a dependency of a module which defines a custom
field type will always result in the following error:
Unknown provider: $rootElementProvider <- $rootElement <- $location <- $route <- $location
This seems to be due to the manner in which the injector is created for
field types. `$rootElementProvider` is not available for injection in
the context of the injector of a custom field. This is generally OK, but
`ngRoute` transitively depends on `$rootElementProvider`. Since
`$rootElementProvider` cannot be injected within the context of a field
type, no field type can depend on ngRoute without causing this error.
Note that extensions can still leverage `ngRoute` (this is already done
by the OpenID support). It just cannot be declared as a dependency of a
module containing a custom field type.
2018-12-05 14:32:37 -08:00
Michael Jumper
ef0cb1ee7a
GUACAMOLE-598: Ignore if current user has no associated data. Authentication providers are not required to provide data for the users they authenticate.
2018-12-04 13:22:16 -08:00
Michael Jumper
fc457c080d
Merge 1.0.0 changes back to master.
2018-12-03 07:32:21 -08:00
Michael Jumper
a967ffa41c
GUACAMOLE-670: Merge changes correcting conflicting versions of SLF4J.
2018-12-03 07:30:23 -08:00
Michael Jumper
95b5fdccdc
GUACAMOLE-656: Explicitly depend on maven-surefire-plugin 3.0.0-M1 due to SUREFIRE-1588.
2018-11-08 22:09:35 -08:00
Michael Jumper
b355106c77
GUACAMOLE-220: Remove unnecessary explicit type parameters.
2018-11-08 20:11:17 -08:00
Michael Jumper
a4d6f62df0
GUACAMOLE-220: Reword description of getGroupSearchFilter() to be less brain-meltingly difficult to read.
2018-11-08 19:55:49 -08:00
Michael Jumper
83033cad65
GUACAMOLE-220: Use JavaDoc "{@link Map}" to point to Map interface.
2018-11-08 19:45:25 -08:00
Michael Jumper
3c5594db2e
GUACAMOLE-220: Group attribute "disabled" controls whether the group has any effect, not whether login is allowed.
2018-11-03 17:24:06 -07: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
aa0c654231
GUACAMOLE-220: Retrieve user groups from LDAP. Take immediate group membership into account.
2018-11-03 12:41:54 -07:00
Michael Jumper
bdc792603d
GUACAMOLE-220: Add configuration property for setting the attributes which uniquely identify user groups within LDAP.
2018-11-03 12:41:54 -07:00
Michael Jumper
7c57b448bb
GUACAMOLE-220: Define generic service for executing LDAP queries. Refactor existing services to remove common code.
2018-11-03 12:41:54 -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
d79988d59e
GUACAMOLE-96: Do not require TOTP for users that cannot enroll due to lack of permission to update their account.
2018-10-11 01:35:51 -07:00
Michael Jumper
13e2b06666
GUACAMOLE-524: Switch to "LDAP_" prefix for LDAP user attribute tokens.
2018-10-05 12:54:00 -07:00
Michael Jumper
cb30b148b9
GUACAMOLE-524: Consistently generate token names from LDAP attributes with arbitrary naming conventions.
2018-10-05 12:47:26 -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
7a3f51be71
GUACAMOLE-524: Rename LDAP-specific AuthenticatedUser / UserContext to not conflict with guacamole-ext classes.
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
Michael Jumper
adb9aaa5e2
GUACAMOLE-220: Ignore missing user or group when retrieving permissions/memberships.
2018-10-05 11:56:42 -07:00
Michael Jumper
11c1d8c97e
GUACAMOLE-96: Add protected convenience method for retrieving delegate object.
2018-10-05 10:36:47 -07:00
Michael Jumper
e3c1b6ac98
GUACAMOLE-232: Mark key as implicitly pressed only when pressed due to another, identifiable key event.
2018-10-03 21:30:26 -07:00
Michael Jumper
9d8027c5cd
GUACAMOLE-232: Correct inverted explicit/implicit logic.
2018-10-03 11:47:07 -07:00
Michael Jumper
eead01944e
GUACAMOLE-232: Rely on recentKeysym for keyup only when the guessed key doesn't seem to actually be pressed.
2018-10-03 10:29:39 -07:00
Michael Jumper
2ec7e48ca9
GUACAMOLE-232: Track whether keys were pressed implicitly. Automatically release all keys if only implicitly pressed keys remain.
2018-10-03 10:29:39 -07:00
Michael Jumper
6f0787f0c1
GUACAMOLE-232: Reset tracking of recent keysym after key is released.
2018-10-02 22:19:40 -07:00
Michael Jumper
8c096778bc
GUACAMOLE-232: Fall back to using recent keysym only after failing to determine released key by keycode.
2018-10-02 22:19:15 -07:00
Michael Jumper
035813ff0b
GUACAMOLE-232: Take best guess of key being pressed/released into account before assuming modifier states need to be resynced.
2018-10-02 22:18:17 -07:00
Michael Jumper
aae17f3a9f
GUACAMOLE-524: Accept only supported attributes via setAttributes(). Do not replace existing attributes.
2018-10-02 20:32:24 -07:00
Michael Jumper
ea142d15ce
GUACAMOLE-360: Add convenience function for testing user identity.
2018-10-01 11:46:34 -07:00
Michael Jumper
ad937defa6
GUACAMOLE-360: Update active connection permission check to support user groups.
2018-10-01 11:35:32 -07:00
Michael Jumper
4d5196207b
GUACAMOLE-220: Correct typo - "that status of" should be "the status of".
2018-09-30 23:12:49 -07:00
Michael Jumper
f4ccf8ef62
GUACAMOLE-220: Remove effectively-redundant admin permission check.
2018-09-30 23:11:20 -07:00
Michael Jumper
dee4e89ede
GUACAMOLE-437: Remove erroneously-committed, non-breaking spaces (U+00A0) from source.
2018-09-29 15:04:28 -07: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
Michael Jumper
1fef6a05e1
GUACAMOLE-635: Require Java 1.8 for all Java components except guacamole-common.
2018-09-29 12:56:17 -07:00
Michael Jumper
bb6e8bc1c7
GUACAMOLE-220: Correct documentation of update script.
...
The UNIQUE constraint is being added once the column is expected to be
unique, not necessarily because it should safely point to entries of a
particular table.
2018-09-27 20:15:23 -07:00
Michael Jumper
7521cdc0ae
GUACAMOLE-220: Rows are deleted to modify the one-to-many relationship, not to establish it.
2018-09-27 20:10:32 -07:00
Michael Jumper
5fdd0bb148
GUACAMOLE-220: Remove unnecessary use of multi-result select (use selectOne() instead).
2018-09-27 20:07:24 -07:00
Michael Jumper
a552d88c54
GUACAMOLE-220: Clarify group rename validation logic.
2018-09-27 20:06:18 -07:00
Michael Jumper
fedccebb93
GUACAMOLE-220: Remove unnecessary ModeledUserGroup constructor (equivalent to default constructor).
2018-09-27 20:03:35 -07:00
Michael Jumper
4a5f271702
GUACAMOLE-220: Correct user vs. entity wording in documentation.
2018-09-27 19:45:30 -07:00
Michael Jumper
75805e4cab
GUACAMOLE-629: Add support for creating argument value streams using the "argv" instruction.
2018-09-25 13:01:15 -07:00
Michael Jumper
af8f5b3a80
GUACAMOLE-622: Add parameter definitions for telnet login success/failure regex.
2018-09-21 17:33:44 -07:00
Michael Jumper
d4a9208c2b
GUACAMOLE-624: Include user full name and organization in filtered attributes.
2018-09-21 14:14:57 -07:00
Michael Jumper
660fe82fff
GUACAMOLE-624: Add columns displaying user full name and organization.
2018-09-21 14:14:39 -07:00
Michael Jumper
8399b252cd
GUACAMOLE-220: Detect cycles within recursive query. SQL Server cannot deal with cycles on its own.
2018-09-19 23:56:53 -07:00
Michael Jumper
ee35620194
GUACAMOLE-220: Update SQL Server mapping with respect to user group support.
2018-09-19 23:56:53 -07:00
Michael Jumper
dec7b3c340
GUACAMOLE-220: Dynamically detect whether the MariaDB / MySQL server supports recursive CTEs.
2018-09-19 23:56:53 -07:00
Michael Jumper
204b6a4b24
GUACAMOLE-220: Update MySQL mapping with respect to user group support.
2018-09-19 23:56:52 -07:00
Michael Jumper
1d0fcc1732
GUACAMOLE-220: Add MySQL and SQL Server versions of user group schema.
2018-09-19 23:56:52 -07:00
Michael Jumper
78d5e3b9d7
GUACAMOLE-220: Manually recurse through the group membership graph if the database engine does not support recursive queries.
2018-09-19 23:56:52 -07:00
Michael Jumper
48948fc245
GUACAMOLE-220: Add missing JDBC-specific USER_GROUP_ATTRIBUTES translation strings.
2018-09-19 23:56:52 -07:00
Michael Jumper
2999c56098
GUACAMOLE-220: Map and allow manipulation of the user group parents of users.
2018-09-19 23:56:52 -07:00
Michael Jumper
856ab44373
GUACAMOLE-220: Map and allow manipulation of the user group parents of user groups.
2018-09-19 23:56:52 -07:00
Michael Jumper
63be247db6
GUACAMOLE-220: Map and allow manipulation of the user group members of user groups.
2018-09-19 23:56:52 -07:00
Michael Jumper
ccd7920b22
GUACAMOLE-220: Map and allow manipulation of the user members of user groups.
2018-09-19 23:56:52 -07:00