Commit Graph
100 Commits
Author SHA1 Message Date
Michael Jumper 48382b8285 GUAC-915: Clean up all log messages within Guacamole. 2014-10-30 17:12:54 -07:00
Michael Jumper 4a5efe4819 GUAC-916: Release ALL keys when browser window loses focus. 2014-10-30 13:24:36 -07:00
Michael Jumper ca199e1ea6 GUAC-914: Migrate to logback and latest SLF4J. Read logback.xml from GUACAMOLE_HOME if present. 2014-10-30 11:42:22 -07:00
Michael Jumper 612a8b4b97 GUAC-434: Allow SimpleUserContext/SimpleAuthenticationProvider to provide actual usernames. 2014-10-27 15:39:41 -07:00
Michael Jumper c20adb46a9 GUAC-907: Log source address, using X-Forwarded-For if available (after validation). 2014-10-27 15:38:48 -07:00
Michael Jumper 713ecaae2a GUAC-908: Handle errors during connect/bind/query distinctly. Only rethrow server error if connection or query fails - failure to bind is just an invalid login. 2014-10-27 13:26:13 -07:00
Michael Jumper 6f81584aed GUAC-909: Log full exceptions only in debug level. Rephrase log messages. 2014-10-27 13:03:20 -07:00
Michael Jumper 770105de06 GUAC-909: Log "unsupported operation" exceptions at debug level. 2014-10-27 10:27:13 -07:00
Michael Jumper b83c83c324 GUAC-906: Implement GuacamoleConnectionClosedException. Throw when read/write fails due to closure. 2014-10-26 15:14:35 -07:00
Michael Jumper 721d9125ab GUAC-904: Implement copy constructor for GuacamoleConfiguration. 2014-10-25 19:28:39 -07:00
Michael Jumper b9e416f189 GUAC-842: Hide mouse when it leaves the display. Reshow the mouse during down/up/move if not using local (hardware) cursor. 2014-10-16 23:16:18 -07:00
Michael Jumper d339c8613e GUAC-842: Add onmouseout event to Guacamole.Mouse. Fix GUAC-833 while we're in here. 2014-10-16 23:15:12 -07:00
Michael Jumper 8f903acaa6 GUAC-823: Test for CSS3 cursor support. 2014-10-16 22:49:51 -07:00
Michael Jumper c62e7c7b4b GUAC-823: Cursors must end with a cursor keyword (see https://developer.mozilla.org/en-US/docs/Web/CSS/cursor/url). 2014-10-16 22:38:29 -07:00
Michael Jumper deaec480db GUAC-823: Use CSS3 cursor whenever possible. 2014-10-16 15:08:25 -07:00
Michael Jumper 22411a7790 GUAC-823: Add oncursor event to Guacamole.Display. Allow software mouse cursor to be manually shown/hidden. 2014-10-16 15:07:34 -07:00
Michael Jumper 162ceb97ba GUAC-823: Add setCursor() function to Guacamole.Mouse. Stub out feature detection. 2014-10-16 15:06:42 -07:00
Michael Jumper 34dff7e69c GUAC-890: Reset keyboard state after handling shortcut. Do not send client key events if a shortcut was handled. 2014-10-16 11:27:16 -07:00
Michael Jumper 58837fd136 GUAC-890: Allow Guacamole.Keyboard state to be externally modified or reset. 2014-10-16 11:27:16 -07:00
Michael Jumper b1941a1219 GUAC-804: Add onmatch to KeyboardShortcut constructor. 2014-10-15 21:58:31 -07:00
Michael Jumper 8ce1940f0e GUAC-804: Add keyboard shortcut object. Loosen Ctrl+Alt+Shift logic. 2014-10-15 16:24:40 -07:00
Michael Jumper 14d212319d GUAC-885: Jetty 9 dependency scope should be "provided". 2014-10-13 15:53:57 -07:00
Michael Jumper 200021b27a GUAC-875: Handle possibly-null key identifier. 2014-10-13 14:22:59 -07:00
Michael Jumper c1e5822a19 GUAC-872: Fix keysym definition for PageUp/PageDown key identifiers. 2014-10-13 14:18:57 -07:00
Michael Jumper b55adfa9a8 GUAC-867: Fix comment regarding keep-alive interval. 2014-10-13 03:46:49 -07:00
Michael Jumper 04ba001f15 GUAC-867: Add periodic keep-alive ping to ensure the session does not perish while a connection is active. 2014-10-13 03:25:31 -07:00
Michael Jumper 115f647f7a GUAC-878: Prefer WebSocket from JSR. Warn if HTTP used instead. 2014-10-12 22:17:59 -07:00
Michael Jumper 59356af44e GUAC-821: Properly handle null tunnels. 2014-10-12 21:52:36 -07:00
Michael Jumper 39ac1a191c GUAC-881: Properly handle missing parameter values. 2014-10-12 21:10:51 -07:00
Michael Jumper f0087b27b0 GUAC-882: Tolerate lack of access to window.opener. 2014-10-12 21:09:41 -07:00
Michael Jumper 9611ba3738 GUAC-882: Use window.open("") to check for existing window, not window.open(null). 2014-10-12 20:55:45 -07:00
Michael Jumper 5731cb6b34 GUAC-882: Wrap calls to new Audio() within try/catch. 2014-10-12 20:54:57 -07:00
Michael Jumper 2202ede609 GUAC-879: Dependency should be version 0.9.3 for guacamole-ext. 2014-10-12 14:34:06 -07:00
Michael Jumper 5a9cb31971 GUAC-879: Fix build on Maven 2 (state problematic transitive dependencies early so they aren't pulled from the faulty repository later). 2014-10-11 00:50:52 -07:00
Michael Jumper e26a4c3b7d GUAC-878: Add support for Jetty 9.0.3 WebSocket. 2014-10-10 15:12:49 -07:00
Michael Jumper b6f45c585f GUAC-878: Generalize loading of WebSocket classes in WebSocketSupportLoader. Note that Jetty support is specific to Jetty 8. Update documentation. 2014-10-10 13:54:20 -07:00
Michael Jumper d3e625d0a3 GUAC-442: Remove enable-websocket property (enable by default). 2014-10-09 21:24:08 -07:00
Michael Jumper b7548675df GUAC-442: Clean up packages. 2014-10-09 21:16:37 -07:00
Michael Jumper 8b13bfdb80 GUAC-442: Move base JSR implementation of WebSocket tunnel to guacamole-common. 2014-10-09 21:06:07 -07:00
Michael Jumper c30afba91d GUAC-442: Tie new WebSocket implementation into authentication layer. Generalize tunnel requests. 2014-10-09 21:01:34 -07:00
Michael Jumper 99f59a6a4c GUAC-442: Add annotation-driven onMessage() as well - Jetty will not call MessageHandler.onMessage() at least when annotations are used. Not sure if this is different for programmatically-loaded endpoints. 2014-10-09 19:06:19 -07:00
Michael Jumper 7927ffa9b0 GUAC-442: Add JSR 356 implementation of WebSocket tunnel. 2014-10-09 18:22:14 -07:00
Michael Jumper ce7cc71544 GUAC-442: Only update authentication in specific requests. 2014-10-09 16:25:31 -07:00
Michael Jumper 68f7afb8c9 GUAC-442: Restrict access to WebSocket tunnel using filter (rather than RestrictedHttpServlet like the rest of guac). 2014-10-09 15:29:45 -07:00
Michael Jumper 16b0f047ea GUAC-442: Use filter to authenticate and restrict access. 2014-10-09 14:50:08 -07:00
Michael Jumper 01b366bc19 GUAC-798: Call init() of superclass in WebSocket implementations. 2014-10-09 11:15:06 -07:00
Michael Jumper a792e6f271 GUAC-876: Update Blob implementation from upstream. 2014-10-08 15:30:52 -07:00
Michael Jumper 8d1bee18aa GUAC-871: Lift up AltGr if alt flag cleared on key event. Do not transform Shift+Alt into Meta. 2014-09-29 17:13:54 -07:00
Michael Jumper 2a30cadb1e GUAC-870: Always interpret Right Alt as AltGr. This seems the only way to allow proper international typing across all supported platforms. There's no way to detect whether Alt is truly Alt under Mac. 2014-09-29 14:24:31 -07:00
Michael Jumper b6769e4ba0 GUAC-391: Add *gag* detection of OS *gag* because there's no other way *gag* to know if it's safe to wait for keypress while Alt is held when keydown is not accurate enough *vomits*. 2014-09-29 02:03:32 -07:00
Michael Jumper 1d42823f82 GUAC-862: Restore handling of keyCode 229 (composition). 2014-09-29 00:13:37 -07:00
Michael Jumper 3e8539381b GUAC-862: Simplify keydown logic. Restore workaround for Chrome meta bug. 2014-09-28 23:54:04 -07:00
Michael Jumper dd3a1af3f2 GUAC-862: Prefer keyCode to DOM3 key for keyup, as it's more accurate when dead keys are used. 2014-09-28 23:12:10 -07:00
Michael Jumper 4d7a49af31 GUAC-862: Perform sanity checks on legacy keyIdentifier. Only release Ctrl+Alt if it appears to be a simulated AltGr based on detected keysym. 2014-09-28 23:06:24 -07:00
Michael Jumper b47c48dbeb GUAC-862: Remove debug logging. 2014-09-28 19:55:22 -07:00
Michael Jumper a9f5bedfe6 GUAC-862: Remove dependency on timing. 2014-09-28 19:12:48 -07:00
Michael Jumper 532dcf6431 GUAC-862: Only handle keydown directly if reliable. Stop waiting for keypress and handle unreliable keydown if a keyup has already occurred (keypress is impossible). 2014-09-28 19:08:56 -07:00
Michael Jumper cf9ff2cb14 GUAC-862: Add reliability flag to KeyEvent. 2014-09-28 17:04:39 -07:00
Michael Jumper aae59f6709 GUAC-862: Add keysym to all KeyEvents. Move keysym determination logic to KeydownEvent/KeyupEvent/KeypressEvent. 2014-09-28 15:14:29 -07:00
Michael Jumper 5141c5e063 GUAC-868: Implement FilteredGuacamoleSocket, to make it easy to send all socket I/O through filters. 2014-09-28 00:20:17 -07:00
Michael Jumper 0bbfc4eb95 GUAC-868: Implement FilteredGuacamoleWriter and test. 2014-09-28 00:17:24 -07:00
Michael Jumper 28075b86c1 GUAC-868: Add GuacamoleFilter interface. Implemented corresponding FilteredGuacamoleReader and test. 2014-09-27 23:49:42 -07:00
Michael Jumper e838817bff GUAC-868: Add test for ReaderGuacamoleReader. 2014-09-27 23:07:46 -07:00
Michael Jumper 600f2a4278 GUAC-868: Add test for GuacamoleParser. Depend on JUnit 4. 2014-09-27 20:10:07 -07:00
Michael Jumper c26751239a GUAC-868: Port Guacamole parser from libguac. Add GuacamoleInstruction constructor which takes a List. 2014-09-27 20:09:27 -07:00
Michael Jumper ef42d7db68 GUAC-862: Correct case of key based on shift if keyIdentifier in use. CapsLock cannot be tracked, but that should be OK here. 2014-09-22 16:46:01 -07:00
Michael Jumper 9ef5d14a01 GUAC-862: Use keyIdentifier if it looks like it's necessary. 2014-09-22 16:38:59 -07:00
Michael Jumper a97bab2f4b GUAC-862: Set defaultPrevented of keypress, not just keydown. 2014-09-22 15:05:34 -07:00
Michael Jumper 08983435e1 GUAC-862: Interpret as many events from the log as possible. 2014-09-22 14:49:51 -07:00
Michael Jumper b2ef2971fd GUAC-862: Track keysyms associated with recent keypresses. Add logging of dropped keys. 2014-09-22 14:21:49 -07:00
Michael Jumper e33783adf4 GUAC-862: Handle adjacent keypress for unidentifiable keydown. 2014-09-22 14:00:26 -07:00
Michael Jumper 80c7d67a10 GUAC-862: Interpret e.key as well. 2014-09-22 13:28:19 -07:00
Michael Jumper c6e3f3c686 GUAC-862: Interpret events with reliable keyCodes. 2014-09-22 13:19:18 -07:00
Michael Jumper ed69dc23b1 GUAC-862: Add key event objects and log. Stub event interpretation. 2014-09-22 13:10:31 -07:00
Michael Jumper 52a35ab0b1 GUAC-855: Update version numbers of packages which depend on 0.9.3. 2014-09-19 11:50:14 -07:00
Michael Jumper d44ee06f4c GUAC-855: Bump version numbers to 0.9.3 where applicable. 2014-09-19 11:35:55 -07:00
Michael Jumper bb4865783b GUAC-659: Add key identifiers for dead keys (currently only used by Firefox). 2014-09-19 01:24:52 -07:00
Michael Jumper 8e920d17d1 GUAC-659: Do not repeat AltGr. 2014-09-19 01:24:28 -07:00
Michael Jumper 7b6432e2cb GUAC-659: Do not ignore keydown if e.key is present. Pull keysym from e.key in keyup if possible. 2014-09-19 01:03:25 -07:00
Michael Jumper 7d8958ed48 GUAC-659: Handle keycode for AltGr. 2014-09-18 21:00:05 -07:00
Michael Jumper a77188a348 GUAC-850: Remove unnecessary case conversion of typed keys. Trust case specified by browser. 2014-09-17 23:11:00 -07:00
Michael Jumper 61e2eabdb3 GUAC-746: Allow connection IDs to be sent during handshake. 2014-09-05 11:05:38 -07:00
Michael Jumper 2db4a783d7 GUAC-832: Use "enable-http-auth" property to control whether the "Authorization" header is considered during authentication. 2014-08-22 14:47:21 -07:00
Michael Jumper 045d5375e3 GUAC-832: Pull username/password from Authorization header if HTTP Basic is used. 2014-08-22 14:33:59 -07:00
Michael Jumper 5ae22ce206 GUAC-805: Use start(), fall back to noteOn() if necessary. 2014-08-04 13:20:13 -07:00
Michael Jumper a1452dd0b0 GUAC-772: Update guacamole-common-js API_VERSION. 2014-07-21 13:51:11 -07:00
Michael Jumper db2066fa1f GUAC-772: Bump version numbers to 0.9.2. 2014-07-21 13:42:53 -07:00
Michael Jumper 5c049b02b9 GUAC-788: When a modifier results in a keysym being pressed, release that same keysym when clearing the modifier, even if the key releasing the modifier is different. 2014-07-21 00:56:44 -07:00
Michael Jumper f03baec73b GUAC-761: Store API version. Perform sanity checks within webapp. 2014-07-01 15:45:29 -07:00
Michael Jumper b81499cb9d GUAC-744: Handle ready instruction. Add getter for connection ID. 2014-06-26 16:10:57 -07:00
Michael Jumper 1a627bfd2c GUAC-716: Add password and password-regex parameters to telnet. 2014-06-17 12:29:23 -07:00
Michael Jumper 02fcf09eec GUAC-748: Add username parameter to telnet. 2014-06-16 18:08:08 -07:00
Michael Jumper 9d2ff099d3 GUAC-709: Prevent focus loss from text input. 2014-05-22 15:39:04 -07:00
Michael Jumper 4c4a6a9bfc GUAC-708: Do not allow user selection within text input (in case a user presses Ctrl+A, for example). 2014-05-22 15:09:02 -07:00
Michael Jumper 8d0923db2f GUAC-708: Text input field MUST be initialized. 2014-05-22 14:48:53 -07:00
Michael Jumper 9ab3a58b2f GUAC-681: Bump version numbers of modified projects to 0.9.1. 2014-05-22 14:10:14 -07:00
Michael Jumper 5c32e449d5 GUAC-704: Handle touch events on reconnect button. Generalize reconnect procedure within dialog. 2014-05-20 18:09:39 -07:00
Michael Jumper f56757c0a9 GUAC-705: Only call window.scrollTo() when absolutely necessary. 2014-05-20 16:23:09 -07:00
Michael Jumper 18ece342cd GUAC-701: Fix error preventing testing on iOS. 2014-05-20 14:37:53 -07:00
Michael Jumper 39720019cd GUAC-701: Lessen aggressiveness of text input UI. Disable autoeverything. 2014-05-20 14:28:53 -07:00