Commit Graph
100 Commits
Author SHA1 Message Date
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 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
Michael Jumper 18b0d99ae0 GUACAMOLE-549: Update to latest version of webjar-servlet-2.x. 2018-04-25 22:23:44 -07:00
Michael Jumper 320d342899 GUACAMOLE-549: Do not automatically create HttpSession. If an extension truly needs an HttpSession, it should create it manually via the HttpServletRequest. 2018-04-25 00:45:50 -07:00
Michael Jumper e75e9715f7 GUACAMOLE-220: Permissions returned by getEffectivePermissions() may BE implied, not "may implied". 2018-04-21 14:25:39 -07:00
Michael Jumper c8564f5d80 GUACAMOLE-220: Correct JavaDoc of getEffectiveUserGroups() - missing period. 2018-04-21 14:24:11 -07:00
Michael Jumper b35e494fdf GUACAMOLE-220: Remove erroneously-added blank line. 2018-04-21 14:23:07 -07:00
Michael Jumper 6db10c1dbb GUACAMOLE-220: Collapse / clean up retrieval of self() and effective permissions. 2018-04-21 14:22:07 -07:00
Michael Jumper b43aa59958 GUACAMOLE-220: Correct documentation of getUserGroups() behavior. 2018-04-21 14:11:18 -07:00