Commit Graph
100 Commits
Author SHA1 Message Date
Michael Jumper 3a90dbbd00 GUACAMOLE-96: Do not rely on Map.remove(key, value) which is specific to Java 8. 2018-02-01 13:01:43 -08:00
Michael Jumper 1c012f4ed0 GUACAMOLE-96: Implement Iterator.remove() within ArbitraryAttributeMap's iterator. 2018-02-01 12:43:24 -08:00
Michael Jumper 4a7857571e GUACAMOLE-96: Reference Map.Entry rather than HashMap.Entry. 2018-02-01 12:41:00 -08:00
Michael Jumper d5768ead6d GUACAMOLE-96: Correct version number of upgrade scripts for next release (it will be 1.0.0, not 0.9.15). 2018-01-31 15:26:16 -08:00
Michael Jumper 2d685766c0 GUACAMOLE-96: Map base JDBC support for arbitrary attributes to SQL Server tables. 2018-01-31 15:26:16 -08:00
Michael Jumper 6a834a1066 GUACAMOLE-96: Map base JDBC support for arbitrary attributes to MySQL tables. 2018-01-31 15:26:16 -08:00
Michael Jumper 494733569f GUACAMOLE-96: Map base JDBC support for arbitrary attributes to PostgreSQL tables. 2018-01-31 15:26:16 -08:00
Michael Jumper b6de402c0c GUACAMOLE-96: Add base support within JDBC auth for storage of arbitrary attributes from other extensions. 2018-01-31 15:26:16 -08:00
Michael Jumper a3cee158cb GUACAMOLE-96: Add object- and model-level support for storage of arbitrary attributes. 2018-01-31 15:26:16 -08:00
Michael Jumper fff1411768 GUACAMOLE-96: Extract Attributes interface from objects which provide getAttributes() / setAttributes(). 2018-01-31 15:26:16 -08:00
Michael Jumper 79936c4c41 GUACAMOLE-96: Document semantics of voluntary attribute storage and guaranteed sanitization. 2018-01-31 15:26:16 -08:00
Michael Jumper 77255652bf GUACAMOLE-96: Restrict submitted attributes to those explicitly declared by the UserContext. 2018-01-31 15:26:16 -08:00
Michael Jumper a050c16020 GUACAMOLE-197: Merge corrections to API compatibility for RADIUS auth. 2018-01-30 20:28:52 -08:00
Michael Jumper 64ba8a8524 GUACAMOLE-197: Merge support for RADIUS authentication. 2018-01-30 15:43:32 -08:00
Michael Jumper 56a126712c GUACAMOLE-273: Add parameter value and translation string for Portuguese Brazilian keyboard layout. 2018-01-29 12:49:51 -08:00
Michael Jumper c5b1ab2801 GUACAMOLE-434: Add parameter value and translation string for UK English keyboard layout. 2018-01-29 12:46:50 -08:00
Michael Jumper 621a7862de GUACAMOLE-481: Add parameter value and translation string for Turkish-Q keyboard layout. 2018-01-29 12:08:43 -08:00
Michael Jumper b6b7a37000 GUACAMOLE-161: Do not rely on receiving keyup for Caps Lock on Mac (only keydown is dispatched). 2018-01-17 18:54:19 -08:00
Michael Jumper 1c99f6a8cf GUACAMOLE-96: Rearrange logic of DecoratingDirectory.get() to make more intuitive sense. 2018-01-17 18:41:36 -08:00
Michael Jumper a49bfadebf GUACAMOLE-352: Refactor Guacamole.Keyboard.InputSink to Guacamole.InputSink. 2018-01-16 10:20:43 -08:00
Michael Jumper b61f12d69d GUACAMOLE-352: Remove margin and padding from input sink. 2018-01-16 10:20:43 -08:00
Michael Jumper 4b93347617 GUACAMOLE-352: Hide input sink field in bottom-left corner for sake of input method dialogs. 2018-01-16 10:20:43 -08:00
Michael Jumper 376c4380d5 GUACAMOLE-352: Monitor input and composition events to keep input sink contents clear. 2018-01-16 10:20:43 -08:00
Michael Jumper d8de3a77f2 GUACAMOLE-352: Prevent "input" event from clipboard integration from triggering keystrokes. 2018-01-16 10:20:43 -08:00
Michael Jumper 802fec9bfd GUACAMOLE-352: Handle input/composition events while bubbling. 2018-01-16 10:20:43 -08:00
Michael Jumper 9065b497c2 GUACAMOLE-352: Remove Guacamole menu entirely when closed. Input fields within the menu must not continue to receive input. 2018-01-16 10:20:43 -08:00
Michael Jumper 9f6b2fad37 GUACAMOLE-352: Additionally click() while attempting to refocus the input sink field. Do not rely on autofocus, which may result in the field being partly focused (outlined as focused) but not receiving any actual text input. 2018-01-16 10:20:42 -08:00
Michael Jumper e5e01beb60 GUACAMOLE-352: Ignore other input fields if they are invisible. 2018-01-16 10:20:42 -08:00
Michael Jumper 7b29f7b082 GUACAMOLE-352: Do not clear InputSink field upon "input" event (may be fired after a partial composition). 2018-01-16 10:20:42 -08:00
Michael Jumper 5136b1cf8e GUACAMOLE-352: Clarify that Guacamole.Keyboard can be given an Element or a Document. 2018-01-16 10:20:42 -08:00
Michael Jumper 86d9cc1248 GUACAMOLE-352: Explicitly listen to the input sink. 2018-01-16 10:20:42 -08:00
Michael Jumper 2d26d24dda GUACAMOLE-352: Allow additional elements to be added to a single Guacamole.Keyboard. 2018-01-16 10:20:41 -08:00
Michael Jumper 05822907b4 GUACAMOLE-352: Refocus InputSink through key events rather than clicks. 2018-01-16 09:50:54 -08:00
Michael Jumper f696860067 GUACAMOLE-352: Leverage Guacamole.Keyboard.InputSink within webapp as a default destination for input events. 2018-01-16 09:50:54 -08:00
Michael Jumper f9a639d201 GUACAMOLE-352: Add Guacamole.Keyboard.InputSink object to serve as a reliable default destination for input events. 2018-01-16 09:50:54 -08:00
Michael Jumper 3d6a3aaa2a GUACAMOLE-352: Rely on isComposing property of InputEvent to determine whether the event should be ignored. 2018-01-16 09:50:54 -08:00
Michael Jumper 646f9732f3 GUACAMOLE-352: Track in-progress composition, ignoring "input" events for a composition which is known to be incomplete. 2018-01-16 09:50:54 -08:00
Michael Jumper fd47d1d7ef GUACAMOLE-352: Only attempt to type fully-composed strings. 2018-01-16 09:50:54 -08:00
Michael Jumper cdacd57099 GUACAMOLE-352: Handle "input" / "compositionend" events in a mutually-exclusive manner, as they may conflict. 2018-01-16 09:50:54 -08:00
Michael Jumper 3ee73d835c GUACAMOLE-352: Handle both "input" and "compositionend" events as sources of keys. 2018-01-16 09:50:54 -08:00
Michael Jumper 9dc86119b0 GUACAMOLE-352: Do not attempt to send dead keys (only the composed key should be sent). 2018-01-16 09:50:54 -08:00
Michael Jumper c3d3093d25 GUACAMOLE-232: Automatically press modifiers if remote state does not match local state. 2018-01-15 14:04:15 -08:00
Michael Jumper 960e83f780 GUACAMOLE-232: Do not rely on receiving keyup events on iOS. 2018-01-15 00:25:24 -08:00
Michael Jumper d84f03afea GUACAMOLE-232: Semantically represent platform/browser key event quirks. 2018-01-15 00:24:34 -08:00
Michael Jumper b5361a5889 GUACAMOLE-113: Merge support for Ctrl-Alt-End shortcut for Ctrl-Alt-Del. 2018-01-14 16:54:24 -08:00
Michael Jumper 6563281496 GUACAMOLE-347: Merge fix for IE lack of window.location.origin. 2018-01-13 18:50:11 -08:00
Michael Jumper 63bb3a033a GUACAMOLE-96: Objects should be decorated upon add(), not undecorated (they by definition come from an external source, not the decorated extension). 2018-01-13 17:23:19 -08:00
Michael Jumper b37e041d3e GUACAMOLE-96: Add convenience classes for overriding the behavior of objects commonly stored in a Directory. 2018-01-13 17:23:15 -08:00
Michael Jumper a915f7b190 GUACAMOLE-96: Add convenience class for decorating the objects returned by a Directory. 2018-01-13 17:23:13 -08:00
Michael Jumper 7357e51b58 GUACAMOLE-96: Add redecorate() function with semantics analogous to updateUserContext(). 2018-01-13 17:23:11 -08:00
Michael Jumper a745569f13 GUACAMOLE-96: Invoke decorate() for all AuthenticationProviders when creating or updating the UserContext. 2018-01-13 17:23:08 -08:00
Michael Jumper 41059f5e09 GUACAMOLE-96: Add convenience class for overriding the behavior of an existing UserContext. 2018-01-13 17:23:02 -08:00
Michael Jumper ffad1898b6 GUACAMOLE-96: Add API support for augmenting functionality of other extensions. 2018-01-13 17:22:48 -08:00
Michael Jumper 5ed1586f50 GUACAMOLE-447: Add UIKit key constants sometimes (incorrectly) used by iOS Safari. 2018-01-05 11:01:15 -08:00
Michael Jumper dba3f52d2e GUACAMOLE-394: Timestamps within JSON from the REST API are in milliseconds, not seconds. 2018-01-04 23:25:09 -08:00
Michael Jumper c170612cd0 GUACAMOLE-237: Merge changes migrating to navigator.mediaDevices.getUserMedia rather than deprecated navigator.getUserMedia. 2018-01-03 10:32:05 -08:00
Michael Jumper 6e35bef9a0 GUACAMOLE-423: Remove version specificity from guacamole-docker README reference to database auth SQL scripts. 2018-01-01 12:07:35 -08:00
Michael Jumper 0757d7ecbc GUACAMOLE-463: Merge Spanish translation. 2017-12-30 13:25:17 -08:00
Michael Jumper 394a289879 GUACAMOLE-394: Use subquery for querying MAX() via SQL Server. 2017-12-11 23:51:57 -08:00
Michael Jumper dbd5b98250 GUACAMOLE-394: Cover both main object ID and "start_date" columns with an index for sake of correlated MAX(start_date) history queries. 2017-12-11 23:51:57 -08:00
Michael Jumper 58054719b3 GUACAMOLE-394: Disambiguate "user_id" column, now that connection query joins the connection history table. 2017-12-11 23:51:57 -08:00
Michael Jumper 28e7d215ac GUACAMOLE-394: Automatically update the end time of user history records upon logout. 2017-12-11 23:51:57 -08:00
Michael Jumper 3ccb4d4ac1 GUACAMOLE-394: No need to explicitly set ID - it's automatically pulled from the username. 2017-12-11 23:51:57 -08:00
Michael Jumper 446a9d0e12 GUACAMOLE-394: Automatically insert user history records upon login. 2017-12-11 23:51:57 -08:00
Michael Jumper 7e8accab62 GUACAMOLE-394: Implement full retrieval of user login history. 2017-12-11 23:51:57 -08:00
Michael Jumper 2414c9a245 GUACAMOLE-394: Separate core of ConnectionRecordSet into ModeledActivityRecordSet. 2017-12-11 23:51:57 -08:00
Michael Jumper adf016a005 GUACAMOLE-394: Map last active date for users to timestamp. 2017-12-11 23:51:57 -08:00
Michael Jumper 8694bc802a GUACAMOLE-394: Determine last active date for users based on history table. 2017-12-11 23:51:57 -08:00
Michael Jumper a3dd919940 GUACAMOLE-394: History must be LEFT JOINed when calculating last active date, or inactive connections will disappear entirely. 2017-12-11 23:51:57 -08:00
Michael Jumper 6f6b4e5d96 GUACAMOLE-394: Add mapper for user login records. 2017-12-11 23:51:57 -08:00
Michael Jumper 5aa2172eac GUACAMOLE-394: Add guacamole_user_history table to database schema. 2017-12-11 23:51:56 -08:00
Michael Jumper c991ea46bc GUACAMOLE-394: Split ConnectionRecord model and ModeledConnectionRecord into ActivityRecordModel and ModeledActivityRecord, etc. mirroring changes to guacamole-ext. 2017-12-11 23:51:56 -08:00
Michael Jumper 3d7b8ee89b GUACAMOLE-394: Pull connection last active time from history records. 2017-12-11 23:51:56 -08:00
Michael Jumper b0553d5f16 GUACAMOLE-363: Do not declare custom types as default "NOT NULL". Rely on column definitions for such semantics. 2017-12-11 23:47:23 -08:00
Michael Jumper 303bc49d7a GUACAMOLE-363: Correct DOS-style newlines within SQL Server schema before it's too late. 2017-12-11 22:53:19 -08:00
Michael Jumper 138ea40dc9 GUACAMOLE-394: List users in a table displaying last active time. 2017-12-11 20:44:28 -08:00
Michael Jumper 67fc77a1c7 GUACAMOLE-394: Expose "last active" time for connections and users via REST API. 2017-12-11 20:44:28 -08:00
Michael Jumper b8ce9c96e7 GUACAMOLE-394: Add history endpoint at user level (analogous to Connection). 2017-12-11 20:44:28 -08:00
Michael Jumper 2928472549 GUACAMOLE-394: Add user history REST endpoint. 2017-12-11 20:44:28 -08:00
Michael Jumper ce4cd11993 GUACAMOLE-423: Bump version numbers for all modified components to 0.9.14. 2017-12-06 00:12:43 -08:00
Michael Jumper 8d92e45227 GUACAMOLE-436: Remove old references to pre-Incubator project. 2017-12-06 00:08:11 -08:00
Michael Jumper 7c4223ce3e GUACAMOLE-436: Remove incubator prefix from repositories and URLs. 2017-12-06 00:02:33 -08:00
Michael Jumper 3df5b222a6 GUACAMOLE-436: Remove Incubator DISCLAIMER files. 2017-12-05 23:48:08 -08:00
Michael Jumper 1ec76b486a GUACAMOLE-363: Remove ALTER DATABASE CURRENT statements (not compatible with SQL Server 2008). 2017-11-26 13:45:45 -08:00
Michael Jumper 23084625ab GUACAMOLE-363: Do not take behind-the-scenes trigger operations into account when calculating the row counts for a query. 2017-11-26 13:01:48 -08:00
Michael Jumper 56da0b0c75 GUACAMOLE-363: Add triggers to handle cascading deletes/updates where SQL Server does not support doing so automatically via ON DELETE actions. 2017-11-26 13:01:48 -08:00
Michael Jumper 317c76b5c5 GUACAMOLE-363: Clean up and refactor SQL Server schema to closely match the MySQL and PostgreSQL schemas. Add missing types and indexes. 2017-11-26 13:01:48 -08:00
Michael Jumper ff2bd3d4f8 GUACAMOLE-437: Merge support for including custom headers within HTTP tunnel requests. 2017-11-19 14:25:17 -08:00
Michael Jumper e2c8594b3a Merge 0.9.14-incubating changes back to master. 2017-11-12 18:30:39 -08:00
Michael Jumper 442fd3daa4 GUACAMOLE-243: Merge support for LDAP referrals. 2017-11-12 18:20:51 -08:00
Michael Jumper 0611fe8fff Merge 0.9.14-incubating changes back to master. 2017-10-28 22:22:50 -07:00
Michael Jumper 393c70f236 GUACAMOLE-362: Merge changes addressing InputStream leak when reading CAS ClearPass private key. 2017-10-28 22:20:53 -07:00
Michael Jumper 223102c38c GUACAMOLE-412: Refactor user events with respect to extension API changes since the decoupling of auth from storage, providing AuthenticatedUser instead of UserContext to represent the user involved. 2017-10-27 13:03:17 -07:00
Michael Jumper 80896ca5b4 Merge 0.9.14-incubating changes back to master. 2017-10-27 12:22:00 -07:00
Michael Jumper 51ccbed130 GUACAMOLE-355: Merge catch-all error handling for unchecked exceptions thrown by underlying CAS library. 2017-10-27 12:20:07 -07:00
Michael Jumper 83b8577095 Merge 0.9.14-incubating changes back to master. 2017-10-27 10:56:08 -07:00
Michael Jumper bfb6b13ba7 GUACAMOLE-363: Merge correction to SQL Server syntax. 2017-10-27 10:55:13 -07:00
Michael Jumper e5c5422623 Merge 0.9.14-incubating changes back to master. 2017-10-27 10:51:05 -07:00
Michael Jumper 0d74dc5821 GUACAMOLE-362: Merge support for CAS ClearPass. 2017-10-27 10:50:08 -07:00
Michael Jumper d955fbea1a GUACAMOLE-416: Merge correction for typo in translation key for data source. 2017-10-23 14:05:41 -07:00