Commit Graph
100 Commits
Author SHA1 Message Date
Michael Jumper feba7c6da0 GUACAMOLE-103: Read entity ID and callback URL from properties only if needed. 2020-06-24 16:00:07 -07:00
Michael Jumper d1090b00b0 GUACAMOLE-103: Use UriBuilder for syntax-aware URL construction, rather than simple String concatenation. 2020-06-24 15:41:24 -07:00
Mike Jumper 181350160b GUACAMOLE-103: Merge support for SAML. 2020-06-24 14:09:53 -07:00
Mike Jumper 5adba87fbb GUACAMOLE-728: Merge Docker support configuring SSL database connections. 2020-06-23 11:46:21 -07:00
Mike Jumper 9dcd074340 GUACAMOLE-103: Merge extension API support for redirection during authentication/authorization process. 2020-06-22 14:36:06 -07:00
Mike Jumper 82962d0784 GUACAMOLE-708: Merge style clean-up for account auto-creation changes. 2020-06-21 19:28:52 -07:00
Mike Jumper 6c3095135d GUACAMOLE-708: Merge automatic creation of non-existent authenticated users within database. 2020-06-20 19:58:46 -07:00
Mike Jumper 3139c41781 GUACAMOLE-513: Merge definitions and translations for Wake-on-LAN parameters. 2020-06-19 11:39:06 -07:00
Michael Jumper 85a7a58bd3 GUACAMOLE-820: Match IP address filters against IP addresses anywhere in object properties. 2020-06-18 14:06:19 -07:00
Michael Jumper 7db03ba9cb GUACAMOLE-823: Render empty balancing connection groups on home screen as if they are connections. 2020-06-18 01:35:19 -07:00
Michael Jumper 917da570b0 GUACAMOLE-823: Restructure home screen connection groups to match connections. 2020-06-18 01:35:19 -07:00
Michael Jumper c7ba1e65d3 GUACAMOLE-708: Update comments to reflect generalization of privileged access beyond administrators. 2020-06-17 21:44:02 -07:00
Michael Jumper 0b2269f1ea GUACAMOLE-708: Add support for getPrivileged() to JDBC UserContext. 2020-06-17 21:44:02 -07:00
Michael Jumper 6f37e5d07d GUACAMOLE-708: Replace isAdministrator() checks with more generic isPrivileged(). 2020-06-16 20:44:12 -07:00
Michael Jumper 4e8c9e1cb7 GUACAMOLE-708: Remove requirement for users to have UPDATE permission on themselves for TOTP to work. 2020-06-16 20:44:12 -07:00
Michael Jumper 47f7eb34b6 GUACAMOLE-708: Define getPrivileged() mechanism for allowing internal, privileged access for the benefit of other extensions. 2020-06-16 20:44:12 -07:00
Mike Jumper cbe2c5dbf2 GUACAMOLE-474: Merge parameter definitions and translation strings for disabling file upload/download. 2020-06-16 16:11:07 -07:00
Mike Jumper b295e2082e GUACAMOLE-728: Merge SSL support for MySQL and PostgreSQL. 2020-06-16 12:58:48 -07:00
Mike Jumper 325cfeb556 GUACAMOLE-583: Merge changes passing SQL Server instance name to JDBC driver rather than MyBatis. 2020-06-16 11:42:06 -07:00
Mike Jumper 6134dd3c88 GUACAMOLE-583: Merge support for SQL Server instance names. 2020-06-16 01:14:09 -07:00
Michael Jumper 2dd05d939c GUACAMOLE-728: Restore enum mapping of JRadius protocol names. Carry through refactor of RadiusAuthenticator configuration. 2020-06-13 16:52:16 -07:00
Michael Jumper 7c44ee2a67 GUACAMOLE-728: Migrate existing enum-based GuacamoleProperty implementations to EnumGuacamoleProperty. 2020-06-10 21:41:31 -07:00
Michael Jumper 7d6e383e4a GUACAMOLE-728: Define EnumGuacamoleProperty for convenience and maintainability. 2020-06-10 21:41:27 -07:00
Michael Jumper 0d1f42f6f4 GUACAMOLE-1007: Use Translatable versions of GuacamoleException subclasses where translation keys are in use. 2020-04-13 00:46:28 -07:00
Michael Jumper 907dfcd151 GUACAMOLE-1007: Add Translatable versions of GuacamoleException subclasses for convenience. 2020-04-13 00:46:28 -07:00
Michael Jumper aa4d5aa627 GUACAMOLE-952: Add RDP parameter value and translation string for Hyper-V / VMConnect security mode. 2020-03-22 16:28:51 -07:00
Mike Jumper 202e68ab40 GUACAMOLE-781: Merge corrections/updates to Czech translation. 2020-03-18 17:00:39 -07:00
Michael Jumper b826980d9c GUACAMOLE-901: Add translation and parameter definition for Belgian French layout. 2020-03-08 19:55:20 -07:00
Michael Jumper 08acb8dd10 GUACAMOLE-625: Add translation and parameter definition for Latin American layout. 2020-03-08 16:52:06 -07:00
Mike Jumper 1cf6ff00d8 GUACAMOLE-966: Merge changes bumping applicable version numbers to 1.2.0. 2020-02-27 11:12:20 -08:00
Michael Jumper 844a2d97e3 GUACAMOLE-883: Allow guacTextInput directive to lose focus. 2020-02-26 18:29:36 -08:00
Michael Jumper 716b686f72 GUACAMOLE-883: Do not attempt to scroll beyond established page dimensions. 2020-02-26 17:34:35 -08:00
Michael Jumper ea8e181e2c GUACAMOLE-955: Provide default translation string for all untranslated messages. 2020-02-10 22:03:35 -08:00
Michael Jumper a8b01895d8 GUACAMOLE-938: Correct typos in createLDAPConnection() documentation and copypasta repeating those typos. 2020-01-26 07:50:55 -08:00
Michael Jumper fe7492292d GUACAMOLE-938: Use STARTTLS for "ldap://..." URLs if main LDAP connection uses STARTTLS. 2020-01-26 07:46:41 -08:00
Mike Jumper ff6dc5f330 GUACAMOLE-784: Merge changes which tolerate the presence of a port number within X-Forwarded-For headers. 2020-01-25 22:34:05 -08:00
Mike Jumper 9fdcccf79d GUACAMOLE-852: Merge support for selecting either MySQL or MariaDB JDBC drivers. 2020-01-25 22:06:13 -08:00
Michael Jumper cb53b17afb GUACAMOLE-938: Refactor LDAP connect/bind process such that the same code is used for all LDAP connection attempts, including referrals. 2020-01-25 14:36:30 -08:00
Michael Jumper 15b631514d GUACAMOLE-938: Remove disconnect() utility function. Closing an LdapNetworkConnection cannot throw an IOException. 2020-01-24 22:52:17 -08:00
Michael Jumper 5c2f44ae3a GUACAMOLE-936: Clean up referral logic and logging. Ensure associated LDAP connections are always closed. 2020-01-24 01:12:00 -08:00
Michael Jumper 2cb0efeda6 GUACAMOLE-937: Return null on bindAs() failures. Rely on caller to interpret and handle failures.
Throwing GuacamoleInvalidCredentialsException breaks separation of
concerns (bindAs() shouldn't assume that it's being used during login
and that credentials given are the Guacamole user's credentials), and
has unintended side effects (throwing subclasses of
GuacamoleUnauthorizedException causes implicit session invalidation).
2020-01-23 23:24:47 -08:00
Michael Jumper 00327706b0 GUACAMOLE-936: Each LdapNetworkConnection must be closed or threads are leaked, causing Tomcat to fail to shutdown. 2020-01-22 22:07:11 -08:00
Michael Jumper b8008baf6c GUACAMOLE-930: Remove unnecessary $scope.$apply().
$q and $http promises, such as the promise returned by
languageService.getLanguages(), will already implicitly $apply() when
needed.
2020-01-19 19:41:55 -08:00
Michael Jumper 76c1b0f9bb GUACAMOLE-929: Update copyright date to 2020. 2020-01-19 13:39:54 -08:00
Michael Jumper e27fe504a9 GUACAMOLE-905: Automatically resume AudioContext when recording starts.
The AudioContext is paused by default in Google Chrome as a defense
against autoplay. It can be explicitly resumed with resume() as long as
there has been enough interaction with the page.
2020-01-12 17:19:18 -08:00
Michael Jumper e93d3e00f2 GUACAMOLE-732: Retrieve audio stream via Promise for newer versions of getUserMedia(). 2019-12-23 20:40:34 -08:00
Michael Jumper ff8fb55880 Merge 1.1.0 changes back to master. 2019-10-11 10:43:55 -07:00
Mike Jumper 51de21b745 GUACAOMLE-893: Merge fix for regression in LDAP filter generation. 2019-10-11 10:42:54 -07:00
Michael Jumper 1e9ddc2183 GUACAMOLE-884: Note that the drawImage() functions accept anything implementing the CanvasImageSource interface, not just Image. 2019-09-29 22:17:45 -07:00
Michael Jumper 6649c5d334 GUACAMOLE-884: Document implications of using drawStream() vs. the other drawing functions. 2019-09-29 22:13:19 -07:00
Michael Jumper 4e130d2afd GUACAMOLE-884: Leverage createImageBitmap() for reading image data where supported.
Some browsers suffer from a memory leak when reading image data
repeatedly using the Image object. Reading from Blobs does not exhibit
the same behavior. While reading from Blobs has previously been seen to
perform poorly compared to data URIs, this was observed when reading
using createObjectURL(). The createImageBitmap() function appears to
perform identically to reading data URIs using Image.
2019-09-29 21:57:05 -07:00
Michael Jumper a4a89e983a GUACAMOLE-817: Reset keyboard state on navigation and form submission.
Firefox, and perhaps other browsers, does not fire a keyup event for
keys involved in submitting a form. This results in the enter key being
stuck in a pressed state if it is used to submit Guacamole's login
form.

Keyboard state should be reset whenever keyboard state cannot be
reliably maintained. This is already done for loss of window focus, but
should also be done for form submission (this specific case) and
navigation to a different page (generic catch-all).
2019-09-29 12:32:29 -07:00
Michael Jumper 5ff81f7735 Merge 1.1.0 changes back to master.
Conflicts:

 * extensions/guacamole-auth-cas/src/main/resources/guac-manifest.json
 * extensions/guacamole-auth-duo/src/main/resources/guac-manifest.json
 * extensions/guacamole-auth-openid/src/main/resources/guac-manifest.json
 * extensions/guacamole-auth-quickconnect/src/main/resources/guac-manifest.json
 * extensions/guacamole-auth-radius/src/main/resources/guac-manifest.json
 * extensions/guacamole-auth-totp/src/main/resources/guac-manifest.json
 * guacamole/src/main/webapp/translations/de.json
2019-09-09 18:57:01 -07:00
Mike Jumper 981adc94e6 GUACAMOLE-699: Merge changes bringing German translations up-to-date. 2019-09-09 18:52:53 -07:00
Mike Jumper 7a68a78a89 GUACAMOLE-870: Merge changes using CHARINDEX() instead of POSITION() for SQL Server.
SQL Server does not support the ANSI SQL POSITION() function, instead providing its own non-standard equivalent: CHARINDEX().
2019-09-07 13:42:41 -07:00
Michael Jumper a00baf6d89 Merge 1.1.0 changes back to master. 2019-09-01 15:07:38 -07:00
Mike Jumper 276f8d4f0f GUACAMOLE-234: Merge changes maintaining open LDAP connection following call to bindAs(). 2019-09-01 15:07:03 -07:00
Mike Jumper a9e9f506c7 GUACAMOLE-514: Merge parameter definition and translations for VNC "username" field. 2019-08-27 11:52:18 -07:00
Mike Jumper 339c920a89 GUACAMOLE-684: Merge changes giving tentative acceptance of credentials priority over complete refusal.
As described in the discussion surrounding the original pull request:

 * An extension throws `GuacamoleInsufficientCredentialsException`
   specifically to indicate tentative acceptance of the credentials
   passed thus far.
 * Just as such an extension that fully accepts credentials takes
   priority over an extension that refuses to accept the same, it makes
   sense to allow an extension that *tentatively* accepts those credentials
   to also take priority.

With the above perspective, authentication result priorities are as
follows, with ties broken by the inherent order of the auth providers:

 1. Acceptance (returning an `AuthenticedUser` instance).
 2. Tentative acceptance (throwing
    `GuacamoleInvalidCredentialsException`).
 3. Complete refusal (any other subclass of
    `GuacamoleCredentialsException`).
 4. Neither refusal nor acceptance (returning `null`).

See: https://github.com/apache/guacamole-client/pull/352
2019-08-19 00:11:19 -07:00
Michael Jumper 93ba19ac26 GUACAMOLE-630: Create a new injector for field type instances only if needed.
Creating a new injector re-initializes services and providers within
its modules. If those services or providers rely on being singletons
(as colorPickerService does), this produces unexpected behavior.
2019-08-18 22:00:16 -07:00
Michael Jumper 83f1849215 GUACAMOLE-630: Migrate guacInputColor to singleton instance of Pickr. 2019-08-18 21:32:58 -07:00
Mike Jumper df8b8ab0e6 GUACAMOLE-769: Merge fix for regression in appearance of RADIUS challenge/response interface. 2019-08-13 12:15:30 -07:00
Mike Jumper c370d34524 GUACAMOLE-774: Merge correction for Java 9+ compatibility in RADIUS build. 2019-08-13 11:57:21 -07:00
Mike Jumper 7f581a1536 GUACAMOLE-774: Merge dynamic loading of MD4 support (for RADIUS MSCHAPv1/2). 2019-08-12 18:08:36 -07:00
Michael Jumper 25c87922d5 Merge 1.1.0 changes back to master. 2019-08-12 10:15:49 -07:00
Mike Jumper c643fe9610 GUACAMOLE-234: Merge fixes for LDAP resource leak regressions. 2019-08-12 10:15:13 -07:00
Mike Jumper 97d550de8e GUACAMOLE-769: Merge cleanup of RADIUS challenge response interface. 2019-08-11 15:58:05 -07:00
Michael Jumper 6e439bf827 Merge 1.1.0 changes back to master. 2019-08-11 15:54:36 -07:00
Mike Jumper 2d86bbf5e6 GUACAMOLE-234: Merge migration from JLDAP to Apache Directory API. 2019-08-11 15:53:58 -07:00
Michael Jumper 4768f66a8b GUACAMOLE-360: When joining an active connection, retrieve name and protocol from underlying connection. 2019-08-11 14:30:31 -07:00
Michael Jumper 04182391e9 GUACAMOLE-360: Add interface for connecting to active connections from "Active Sessions" tab. 2019-08-11 14:30:31 -07:00
Michael Jumper 1645516156 GUACAMOLE-360: Add TunnelRequestService support for joining active connections. 2019-08-11 14:30:31 -07:00
Michael Jumper 1c7242b800 GUACAMOLE-360: Refactor TunnelRequestService to handle any Connectable supported by TunnelRequestType. 2019-08-11 14:30:31 -07:00
Michael Jumper 403431bf92 GUACAMOLE-360: Add support for joining active connections to the database auth. 2019-08-11 14:30:31 -07:00
Michael Jumper a59e20eb8d GUACAMOLE-360: Allow connections to active connections at API level. 2019-08-10 17:19:29 -07:00
Michael Jumper 518e320ef9 GUACAMOLE-630: Correct header level within terminal color scheme field.
In typical usage of the color scheme field, the "Details" header will
be fourth level, not third. Form section headers will be third.
2019-08-08 21:30:44 -07:00
Michael Jumper 7c26dfadfa GUACAMOLE-630: Add compatibility prefixes for flexbox layout properties. 2019-08-08 21:30:44 -07:00
Michael Jumper 32fd94d8d6 GUACAMOLE-630: Simplify terminal color scheme field structure and styling. 2019-08-08 21:30:44 -07:00
Michael Jumper 86d18b061b GUACAMOLE-630: Revert expansion of getFieldHeader() functionality, as it is no longer needed.
This reverts commit d618bdcabf.
2019-08-08 21:30:44 -07:00
Michael Jumper a4a0318f95 GUACAMOLE-630: Tolerate insufficient JavaScript features to run "Pickr" color picker (Internet Explorer). 2019-08-08 21:30:44 -07:00
Michael Jumper ad92e86b0c GUACAMOLE-630: Do not check spelling of color scheme source. 2019-08-08 21:30:44 -07:00
Michael Jumper 62108bf37c GUACAMOLE-630: Remove padding added to color scheme headers when within Guacamole menu. 2019-08-08 21:30:44 -07:00
Michael Jumper 9191a9f9ea GUACAMOLE-630: Always expand connection parameters to available width, not just within Guacamole menu. 2019-08-08 21:30:44 -07:00
Michael Jumper 54ce038e3d GUACAMOLE-630: Allow raw contents of custom color scheme to be edited directly. 2019-08-08 21:30:44 -07:00
Michael Jumper 3ce2adbae6 GUACAMOLE-630: Preserve raw contents of color scheme if manually edited. 2019-08-08 21:30:44 -07:00
Michael Jumper 588cdcd97a GUACAMOLE-630: Preserve the original color scheme string if no changes have been made. 2019-08-08 21:30:44 -07:00
Michael Jumper 038f5ba0c5 GUACAMOLE-630: Do not contain entire field nor entire header within <label>.
Enclosing the entire field within the <label> results in problems when
the field is large and when the field contains multiple interactive
elements. Clicking within interactive elements of a complex field
triggers the <label>, refocusing the first input element. If the field
is large, the <label> will contain empty space which also refocuses the
input field upon being clicked, despite appearing to be the background
of the page.
2019-08-08 21:30:44 -07:00
Michael Jumper a1a8be6fe5 GUACAMOLE-630: Move color scheme headers within color buttons. 2019-08-08 21:30:44 -07:00
Michael Jumper f9bfac9de2 GUACAMOLE-630: Include newlines within color scheme strings for readability. 2019-08-08 21:30:44 -07:00
Michael Jumper 02d3732c9c GUACAMOLE-630: Switch to Pickr for color picker. 2019-08-08 21:30:44 -07:00
Michael Jumper 6936aef540 GUACAMOLE-630: Allow connection parameters within Guacamole menu to use full available width. 2019-08-08 21:00:06 -07:00
Michael Jumper cbc25aac6f GUACAMOLE-630: Add field type for terminal color schemes. 2019-08-08 21:00:06 -07:00
Michael Jumper c41b6774fd GUACAMOLE-630: Allow parameters received via "argv" streams to be edited within the Guacamole menu. 2019-08-08 20:31:16 -07:00
Michael Jumper d618bdcabf GUACAMOLE-630: Expand the getFieldHeader() utility function to accept arbitrary field names. 2019-08-07 19:58:54 -07:00
Michael Jumper 6ebb53477c GUACAMOLE-623: Add Kubernetes protocol/parameter definitions and translations. 2019-08-03 13:58:50 -07:00
Michael Jumper 2085ee7424 GUACAMOLE-629: Allow client to receive connection parameter values via "argv" streams. 2019-07-30 13:02:01 -07:00
Michael Jumper 3f7d1346b3 GUACAMOLE-821: Use Japanese word for the Japanese language as the name of the Japanese translation. 2019-07-20 12:22:20 -07:00
Mike Jumper 0dee33bfe4 GUACAMOLE-821: Merge Japanese translation. 2019-07-19 23:40:10 -07:00
Mike Jumper 6af8782862 GUACAMOLE-846: Merge changes ensuring tunnel.uuid is initialized regardless of tunnel state. 2019-07-16 15:43:44 -07:00
Michael Jumper c0d1ace629 GUACAMOLE-610: Add SSH/telnet parameter definitions for maximum scrollback size. 2019-07-16 12:11:21 -07:00