Commit Graph

4778 Commits

Author SHA1 Message Date
Michael Jumper
f4ccf8ef62 GUACAMOLE-220: Remove effectively-redundant admin permission check. 2018-09-30 23:11:20 -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
Nick Couchman
d23f88f236 GUACAMOLE-220: Merge correct handling of permission-filtered directory search. 2018-09-08 18:44:00 -04:00
Nick Couchman
248e64531d GUACAMOLE-220: Merge add missing definitions for CREATE_USER_GROUP system permission. 2018-09-08 18:40:10 -04: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
Nick Couchman
7640065345 GUACAMOLE-567: Merge add specific connection stability test to tunnel implementations. 2018-09-07 19:03:49 -04: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
Nick Couchman
402ddb577f GUACAMOLE-220: Merge add user interface for managing user groups and membership. 2018-08-14 19:33:02 -04: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