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
Michael Jumper
1ed22401bb
GUACAMOLE-567: Warn user when tunnel enters "UNSTABLE" state.
2018-05-27 17:09:24 -07:00
Michael Jumper
e6f3665995
GUACAMOLE-567: Add UNSTABLE tunnel status. Mark tunnel as UNSTABLE if no data has been received in a reasonable amount of time, but the tunnel is technically still open.
2018-05-27 15:43:41 -07:00
Michael Jumper
ca98d07b4a
GUACAMOLE-567: Rely on HTTP or WebSocket status code to determine error if Guacamole-specific reason is missing. Default to server unreachable.
2018-05-27 12:29:10 -07:00
Michael Jumper
a1e59b9d3a
GUACAMOLE-567: Add HTTP and WebSocket translation functions to Guacamole.Status.Code.
2018-05-27 12:28:28 -07:00
Michael Jumper
1710c31fc2
GUACAMOLE-152: Merge changes adding support for explicitly specifying the zoom level.
2018-05-17 12:49:01 -07:00
Michael Jumper
c26cf60e6b
GUACAMOLE-220: Expose user groups, group membership, and group permissions via REST.
2018-05-04 16:06:41 -07:00
Michael Jumper
400b8f310e
GUACAMOLE-220: Rely on managementButtons directive to handle redirect to user list after save.
2018-05-04 15:59:40 -07:00
Michael Jumper
b50e709981
GUACAMOLE-220: Correct grammar of saveObject() documentation ("to save", not "to saves").
2018-05-03 23:38:01 -07:00
Michael Jumper
ae0512c266
GUACAMOLE-220: Convert "namespace" attribute of managementButtons directive to string binding.
2018-05-03 23:37:19 -07:00
Michael Jumper
2c41e38e55
GUACAMOLE-220: removeConnectionGroupPermission() affects connection group permissions, not connection permissions.
2018-05-03 23:34:34 -07:00
Michael Jumper
e8f0c96758
GUACAMOLE-220: Correct documentation of permissionsRemoved attribute (the permissions have been removed, not added).
2018-05-03 23:33:41 -07:00
Michael Jumper
7ba9c32a07
GUACAMOLE-220: Document context of skeleton user creation.
2018-05-03 23:32:07 -07:00
Michael Jumper
f5f516d82a
GUACAMOLE-220: Pull primary connection for new sharing profiles.
2018-05-03 23:16:14 -07:00
Michael Jumper
619963277d
GUACAMOLE-559: Add support for reading/writing clipboard contents using the Asynchronous Clipboard API.
2018-05-02 22:54:11 -07:00
Michael Jumper
5028d85bb1
GUACAMOLE-220: "required", not "requred".
2018-05-01 21:09:51 -07:00
Michael Jumper
244dd19aa0
GUACAMOLE-220: Remove unnecessary userExists() function.
2018-05-01 20:58:28 -07:00
Michael Jumper
6ca076f7fc
GUACAMOLE-220: Move data source tabs to separate directive.
2018-05-01 20:58:28 -07:00
Michael Jumper
1989c11dd9
GUACAMOLE-220: Include the identifier of the associated object within ManagementPermissions.
2018-05-01 20:58:28 -07:00
Michael Jumper
708c255b83
GUACAMOLE-220: "Management", not "managment".
2018-05-01 20:58:28 -07:00
Michael Jumper
82803c9148
GUACAMOLE-220: Move common protocol namespace/name retrieval to Protocol class.
2018-05-01 20:58:28 -07:00
Michael Jumper
c1f5ad4075
GUACAMOLE-220: Migrate sharing profile management screen to common buttons and permission logic.
2018-05-01 20:58:28 -07:00
Michael Jumper
7e1dbf7d11
GUACAMOLE-220: Migrate connection group management screen to common buttons and permission logic. Add required clone option.
2018-05-01 20:58:28 -07:00
Michael Jumper
00fee4ac3a
GUACAMOLE-220: Migrate connection management screen to common buttons and permission logic.
2018-05-01 20:58:27 -07:00
Michael Jumper
0414cdd3ed
GUACAMOLE-220: Migrate user management screen to new, common management button directive.
2018-05-01 17:20:32 -07:00
Michael Jumper
e045da132c
GUACAMOLE-220: Add common directive for displaying the save/clone/cancel/delete buttons shared by all object management pages.
2018-05-01 17:20:32 -07:00
Michael Jumper
4f43ddc420
GUACAMOLE-220: Migrate user management controller to ManagementPermissions.
2018-05-01 00:12:58 -07:00
Michael Jumper
507202d1f3
GUACAMOLE-220: Define abstract object for querying the management-related actions a user may take on a particular object or type of object.
2018-04-30 23:24:15 -07:00
Michael Jumper
94ad1f9f34
GUACAMOLE-220: Separate system/connection permission editing into directives.
2018-04-30 14:43:54 -07:00
Michael Jumper
ae6994a912
GUACAMOLE-526: Use toArray where necessary for orderBy.
2018-04-30 13:45:36 -07:00
Michael Jumper
f7ca11df50
GUACAMOLE-526: Provide key/value pairs via toArray filter. Consistently return same array for same object.
2018-04-30 13:45:36 -07:00
Michael Jumper
089113c352
GUACAMOLE-526: Invoke logout() for the cached token BEFORE storing the new token. The logout() call erroneously invalidates the new token otherwise.
2018-04-29 22:01:32 -07:00
Michael Jumper
0d63d6cef4
GUACAMOLE-526: Only pull primary connection for sharing profile once identifier is known.
2018-04-27 00:12:36 -07:00
Michael Jumper
2ff980dede
GUACAMOLE-526: Remove debug console.log() from toArrayFilter().
2018-04-27 00:05:09 -07:00
Michael Jumper
f8bd8d8ec9
GUACAMOLE-526: Remove call to old-style $http success().
2018-04-27 00:02:22 -07:00
Michael Jumper
ae6b5fc8bb
GUACAMOLE-526: Move handling of request error notification to guacNotification, resolving circular dependency.
2018-04-26 22:28:18 -07:00
Michael Jumper
266b445c21
GUACAMOLE-526: Handle rejections for absolutely all promises.
2018-04-26 22:15:17 -07:00
Michael Jumper
f6d5e5662b
GUACAMOLE-526: Add convenience callback for displaying modal notifications strictly for REST errors, while logging all other promise rejections.
2018-04-26 21:20:31 -07:00
Michael Jumper
1e5e9b607b
GUACAMOLE-526: Add convenience function for displaying modal notifications for REST errors.
2018-04-26 21:20:05 -07:00
Michael Jumper
cc6ade4917
GUACAMOLE-526: Add convenience callbacks for ignoring or (quietly) warning of REST errors.
2018-04-26 21:19:22 -07:00
Michael Jumper
c30b7b0d80
GUACAMOLE-526: Add convenience function for generating promise callbacks which handle only REST errors.
2018-04-26 21:11:51 -07:00
Michael Jumper
8c9735d1e7
GUACAMOLE-526: Wrap HTTP response in Error object only if it's an actual HTTP response object.
2018-04-26 20:57:18 -07:00
Michael Jumper
2d03387b6b
GUACAMOLE-526: Add missing semicolon.
2018-04-26 19:20:43 -07:00
Michael Jumper
f6f66eec0a
GUACAMOLE-526: Ignore failure to load OSK layout.
2018-04-26 19:03:53 -07:00
Michael Jumper
73eb25f311
GUACAMOLE-526: Remove unused (and wrong!) getAllActiveConnections() function. Remove now-unnecessary injection of $q.
2018-04-26 18:51:46 -07:00
Michael Jumper
bba01bdbc4
GUACAMOLE-526: Explicitly fail routing if attempting to update the auth token fails.
2018-04-26 18:51:46 -07:00
Michael Jumper
6cd07052d8
GUACAMOLE-526: Remove unused injections of $q.
2018-04-26 18:51:46 -07:00
Michael Jumper
5be303666a
GUACAMOLE-526: Remove unnecessary use of $q within authenticationService. Rely on requestService.
2018-04-26 18:51:45 -07:00
Michael Jumper
01e19c19dc
GUACAMOLE-526: Maintain full correct chain of promises for clipboard read attempts, including the "finally" used for cleanup. The "finally" handler creates a new promise with a potentially unhandled rejection otherwise.
2018-04-26 18:42:52 -07:00
Michael Jumper
670ec390b5
GUACAMOLE-526: Ignore failure to read/write clipboard.
2018-04-26 18:42:52 -07:00
Michael Jumper
9a2e0c6087
GUACAMOLE-526: Merge changes updating AngularJS to the latest stable (1.6.9).
2018-04-26 09:55:31 -07:00