Commit Graph
100 Commits
Author SHA1 Message Date
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 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 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 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 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
Michael Jumper 8f06b7a3f9 GUACAMOLE-220: Define base interfaces for mapping RelatedObjectSets to the database. 2018-09-19 23:56:52 -07:00
Michael Jumper a39d863797 GUACAMOLE-220: Take group "disabled" flag into account when determining effective groups. Do not inherit from nor apply disabled groups. 2018-09-19 23:56:52 -07:00
Michael Jumper c5c2984151 GUACAMOLE-220: Map and query user group tables. 2018-09-19 23:56:52 -07:00
Michael Jumper 69f58c8ca3 GUACAMOLE-220: Refactor handling of JDBC permissions to abstract away users vs. user groups. 2018-09-19 23:56:51 -07:00
Michael Jumper 14d10fb42a GUACAMOLE-220: Inherit from groups even if not determined by database. 2018-09-19 23:56:51 -07:00
Michael Jumper 6e71f330b8 GUACAMOLE-220: Move JDBC handling of effective groups to RemoteAuthenticatedUser level. Stub out retrieval of effective groups. 2018-09-19 23:56:51 -07:00
Michael Jumper a155397947 GUACAMOLE-220: Implement permission inheritance within SQL queries. 2018-09-19 23:56:51 -07:00
Michael Jumper 199f518cdb GUACAMOLE-220: Use effective permissions when deciding whether a user has permission to perform an action. 2018-09-19 23:56:51 -07:00
Michael Jumper 0a69630cbb GUACAMOLE-220: Implement base API changes within database auth allowing for permission inheritance. 2018-09-19 23:56:51 -07:00
Michael Jumper 72bac09f43 GUACAMOLE-220: Add explicit mapper for entities (the basis for users and groups). 2018-09-19 23:56:51 -07:00
Michael Jumper b499092d06 GUACAMOLE-220: Update SQL queries to use guacamole_entity table where applicable. 2018-09-19 23:56:51 -07:00
Michael Jumper d95e059612 GUACAMOLE-220: Refactor user-related model objects and services to leverage the base "entity" model. 2018-09-19 23:56:51 -07:00
Michael Jumper e72f88febf GUACAMOLE-220: Define base schema for user groups. 2018-09-19 23:56:51 -07:00
Michael Jumper 2161260e34 GUACAMOLE-220: Correct handling of permission-filtered directory search.
The correct ObjectPermissionSet should be used to filter the identifiers
used. Previous code was always using the ObjectPermissionSet specific to
permissions affecting user objects, and thus was incorrect for all other
types of objects (connections, connection groups, etc.).
2018-09-08 13:09:59 -07: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 34bab9524e GUACAMOLE-567: Regularly test connection stability of HTTP tunnel.
Unlike the WebSocket tunnel, where a manual ping request/response must
be explicitly implemented, we can rely on HTTP's own request/response
to verify stability.
2018-09-07 12:20:28 -07:00
Michael Jumper 819d317834 GUACAMOLE-567: Add support for WebSocket-specific ping messages to the legacy WebSocket tunnel implementations. 2018-09-07 12:20:28 -07:00
Michael Jumper ea0b33bee1 GUACAMOLE-567: Use ping messages specific to the WebSocket tunnel to test connection stability independently of the underlying Guacamole connection. 2018-09-07 12:20:28 -07:00
Michael Jumper 5825835237 GUACAMOLE-567: Add tunnel isConnected() function. Consider both OPEN and UNSTABLE status as connected. 2018-09-07 12:20:28 -07:00
Michael Jumper fe07cf9b70 GUACAMOLE-567: Move client instability state to own flag. Actual current connection state is lost otherwise. 2018-09-07 12:20:28 -07:00
Michael Jumper 7917f46b36 GUACAMOLE-220: Allow attributes to be specified via the template supplied to REST object constructors, for consistency's sake. 2018-08-09 10:46:06 -07:00
Michael Jumper 6aaef7685f GUACAMOLE-220: Select from multiple datasources deterministically. 2018-08-09 10:46:06 -07:00
Michael Jumper 8ad3f25371 GUACAMOLE-220: Add management tab and editor for user groups. 2018-08-09 10:46:06 -07:00
Michael Jumper de80957404 GUACAMOLE-220: Add management interface for user parent groups. 2018-08-08 21:50:26 -07:00
Michael Jumper ca1db7831b GUACAMOLE-220: Do not display "X" for removing an identifier if the identifier cannot actually be edited. 2018-08-08 21:50:26 -07:00
Michael Jumper 0059121716 GUACAMOLE-220: Hide identifier set editor if there are no identifiers to edit. 2018-08-08 09:00:06 -07:00
Michael Jumper 229b0dee48 GUACAMOLE-220: Implement generic editor directive for manipulating sets of identifiers. 2018-08-08 09:00:06 -07:00
Michael Jumper 1cf16d1dc6 GUACAMOLE-220: Upgrade to latest versions of jQuery and Lodash.
The version of Lodash previously included with Guacamole lacks the
sortedIndexOf() function, which is needed by the identity set editor
directive for manipulating sorted arrays of identifiers.

If upgrading Lodash, may as well upgrade jQuery while we're at it. The
version previously included within Guacamole is no longer maintained.
2018-08-08 09:00:06 -07:00
Michael Jumper 615f5c6bab GUACAMOLE-220: Add missing getUserGroupAttributes() to JavaScript schemaService. 2018-08-08 09:00:06 -07:00
Michael Jumper 55bcf25a1c GUACAMOLE-220: Allow manipulation and retrieval of user group permissions via JavaScript. 2018-08-08 09:00:06 -07:00
Michael Jumper 9f01fcb155 GUACAMOLE-220: Add JavaScript service for retrieving/manipulating user groups. 2018-08-08 09:00:06 -07:00
Michael Jumper 055219bc6c GUACAMOLE-220: Rename "Selected Connections" to "Current Connections" for clarity.
"Selected Connections" vs. "All Connections" gives the impression that the tab controls how permissions are used, with "All Connections" being a mode where all connections are readable regardless of which are explicitly selected.
2018-07-21 14:24:28 -07:00
Michael Jumper e03251f78c GUACAMOLE-220: Include children of readable items within connection permission editor, as they are likely relevant to the administrative task at hand. 2018-07-21 14:23:50 -07:00
Michael Jumper 62e58eaf9f GUACAMOLE-220: Migrate connection permission editor to tab-based views. 2018-07-21 14:23:48 -07:00
Michael Jumper deb5b51ddc GUACAMOLE-220: Add generic directive for displaying tabs which divide a section into logical views. 2018-07-21 14:22:51 -07:00
Michael Jumper 861bddea6d GUACAMOLE-220: Add semantic CSS class for headers having corresponding tabs. 2018-07-21 14:22:51 -07:00
Michael Jumper edcb2af21f GUACAMOLE-220: Display only selected connection permissions by default. 2018-07-21 14:22:50 -07:00
Michael Jumper dd65bf6e26 GUACAMOLE-220: Preserve types of filtered GroupListItems / ConnectionGroups. 2018-07-21 14:22:50 -07:00
Michael Jumper d6ecfaa369 GUACAMOLE-446: Merge parameter definition for RDP drive name. 2018-07-05 23:55:49 -07:00
Michael Jumper 0ca8ce7700 GUACAMOLE-445: Merge parameter definition for RDP printer name. 2018-07-05 23:55:23 -07:00
Michael Jumper 34faa5d928 GUACAMOLE-540: Merge changes ensuring remote addresses are handled/logged consistently across the various parts of the webapp. 2018-07-01 23:09:08 -07:00
Michael Jumper b0da0d16bf GUACAMOLE-527: Merge parameter definitions for SSH/SFTP host key. 2018-06-27 21:03:15 -07:00
Michael Jumper e5a8442a2a GUACAMOLE-470: Use NPM webjar for datalist-polyfill, as Webjars' "bowergithub" version is broken (missing version number in path causes sanity checks in WebjarsServlet to refuse to serve the file). 2018-06-12 16:30:11 -07:00
Michael Jumper 74230f005f GUACAMOLE-470: Define "color-scheme" parameter as TEXT field with some pre-defined options. 2018-06-12 14:07:51 -07:00
Michael Jumper 73c3107e91 GUACAMOLE-470: Restore translations for "color-scheme" enum values.
This reverts commit 06f98afcf5.
2018-06-12 14:07:51 -07:00
Michael Jumper 2bc71866a8 GUACAMOLE-470: Restore ENUM "color-scheme" parameter for SSH and Telnet.
This reverts commit 4e610f2d1b.
2018-06-12 14:07:51 -07:00
Michael Jumper 3ae152fa35 GUACAMOLE-470: Add polyfill for <datalist> element (not supported by Safari). 2018-06-12 14:07:47 -07: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
Michael Jumper a8bb6fe966 GUACAMOLE-470: Make getFieldOption() available to all field types. 2018-06-12 13:58:04 -07:00
Michael Jumper 45513592a7 GUACAMOLE-570: Bump version numbers to 1.0.0. 2018-06-05 21:34:26 -07:00
Michael Jumper 72bc8c01a3 GUACAMOLE-38: Merge support for dynamically defining connections using URLs. 2018-06-03 12:04:00 -07:00
Michael Jumper 2fb377ac81 GUACAMOLE-566: Merge changes migrating from method interceptors to exception mappers. 2018-06-01 10:31:26 -07:00
Michael Jumper 6ea24261ae GUACAMOLE-567: Clean up style of connection stability warning. Add warning icon. 2018-05-27 17:09:24 -07:00