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
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
e77ca735a0
GUACAMOLE-622: Increase size of instruction queue within FailoverGuacamoleSocket. Allow limit to be overridden.
...
Some protocols, in particular SSH and telnet, may send a decent amount
of data before the connection status is known.
2018-09-11 14:49:46 -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
0cc5c3667b
GUACAMOLE-598: Ensure fatal error message is hidden by default, shown only when a fatal error has actually occurred.
2018-09-07 13:37:06 -07:00
Michael Jumper
d28c4a7cce
GUACAMOLE-611: Update internal failure warnings to reflect the fact that an auth attempt is being ignored, not "denied".
2018-09-07 12:36:11 -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
9d4aae187b
GUACAMOLE-611: Handle sublasses of Error in addition to RuntimeException.
2018-08-25 13:54:06 -07:00
Michael Jumper
cc742f2143
GUACAMOLE-611: Advise administrator to set "skip-if-unavailable" if similar internal errors should be tolerated in the future.
2018-08-25 13:45:41 -07:00
Michael Jumper
8fae19dee9
GUACAMOLE-611: Rename property defining tolerated auth providers to "skip-if-unavailable".
2018-08-25 13:20:38 -07:00
Michael Jumper
57831441ed
GUACAMOLE-611: Allow authentication providers to be explicitly skipped if internal errors occur.
2018-08-25 13:19:17 -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
a34bbcf637
GUACAMOLE-593: Merge support for configuring the LDAP attribute used to define group membership.
2018-07-31 09:24:47 -07:00
Michael Jumper
5866c7e251
GUACAMOLE-598: Abort rendering of pages if critical data fails to load (data without which the page is non-functional).
2018-07-27 14:50:17 -07:00
Michael Jumper
c897c7eb26
GUACAMOLE-598: Add convenience promise callback for REST requests which displays a fatal error.
2018-07-27 14:49:08 -07:00
Michael Jumper
4bc7700d57
GUACAMOLE-598: Add absolute, global, fatal error handling.
2018-07-27 14:48:56 -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
661ed46098
Merge 1.0.0 changes back to master.
2018-07-05 23:56:56 -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
d53b43ce29
Merge 1.0.0 changes back to master.
2018-07-01 23:18:04 -07:00