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
Mike Jumper
63fa8504b8
GUACAMOLE-837: Merge parameter definition and translation for Hungarian keyboard layout.
2019-07-11 21:21:53 -07:00
Michael Jumper
acaa422992
GUACAMOLE-302: Do not rely on $evalAsync() for assigning focus.
...
$evalAsync() does not necessarily guarantee execution within a timer;
the provided function may well execute after the current $digest loop
without control returning to the browser. If we need a timer to ensure
focus() behaves reliably, we should explicitly use one via $timeout.
2019-06-25 14:15:18 -07:00
Mike Jumper
e9ed4150b9
GUACAMOLE-302: Merge narrowing of guacFocus behavior to simply setting/removing focus.
...
Additionally reporting whether the affected element receives or loses focus causes trouble if the source of the original value is non-assignable. It also seems like it could cause unexpected side effects if usages of guacFocus expect to separate their intent (assigning a value via the expression watched by guacFocus) from the result of attempting to set/remove focus. If tracking of focus is needed, that would best be served by another directive dedicated solely to tracking.
2019-06-25 13:04:42 -07:00
Mike Jumper
1818b6a7ee
GUACAMOLE-302: Merge logic for automatically focusing relevant login fields.
2019-06-24 14:54:38 -07:00
Michael Jumper
ba60449786
GUACAMOLE-822: Correct retrieval of client identifier for connection groups.
...
Commit f92bf9c moved the getClientIdentifier() function to the
GroupListItem class, thus making the function available as
item.getClientIdentifier() within the connection or connection group
templates referenced by an instance of the guacGroupList directive.
This change correctly updated all but the connection group template for
the home screen, which was incorrectly updated to reference the
function as if it were directly on the scope. As such a function
doesn't exist, AngularJS didn't substitute any value, resulting in a
non-functional link.
2019-06-24 00:21:06 -07:00
Michael Jumper
00f59420e5
Merge 1.1.0 changes back to master.
2019-06-23 19:37:32 -07:00
Mike Jumper
f5aa986e63
GUACAMOLE-579: Merge support for retrieving user attributes CAS.
2019-06-23 19:20:14 -07:00
Michael Jumper
3d71f84f0a
GUACAMOLE-723: Display connection selection menu only if multiple choices are available.
2019-06-23 12:48:36 -07:00
Michael Jumper
40ee0d3775
GUACAMOLE-723: Consider entire connection hierarchy when determining whether only one connection is available.
2019-06-23 12:39:44 -07:00
Michael Jumper
47ed39fb33
GUACAMOLE-723: Prefer a wider connection selection menu, but no wider than the sidebar.
2019-06-22 18:54:17 -07:00
Michael Jumper
93dbf85a14
GUACAMOLE-723: Automatically close menus upon click unless explicitly marked as interactive.
2019-06-22 18:41:29 -07:00
Michael Jumper
0e33525d7b
GUACAMOLE-723: Use ellipsis for overflowing connection names within the connection selection menu.
2019-06-22 17:47:57 -07:00
Michael Jumper
5f1c70e737
Merge 1.1.0 changes back to master.
2019-06-17 18:38:29 -07:00
Mike Jumper
82ea1d6ff5
GUACAMOLE-354: Merge translation and definition for Swiss German keymap option.
2019-06-17 18:34:02 -07:00
Michael Jumper
e412742b59
GUACAMOLE-723: Apply ellipsis to all overflowing menu titles by default.
2019-06-15 18:49:32 -07:00
Michael Jumper
e351b355a5
GUACAMOLE-723: Apply ellipsis when connection name overflows available space, regardless of whether the connection selection menu is used.
2019-06-15 18:35:14 -07:00
Michael Jumper
a084ad41de
GUACAMOLE-723: Padding adjustment should be made only to the connection select menu.
2019-06-15 18:11:23 -07:00
Michael Jumper
18e1ec2240
GUACAMOLE-723: Apply ellipsis to portion of connection name that overflows connection selection menu title.
2019-06-15 18:08:40 -07:00
Michael Jumper
4f41890e2b
GUACAMOLE-723: Separate connection selection menu to own CSS class.
2019-06-15 18:05:03 -07:00
Michael Jumper
48ce083ad7
GUACAMOLE-815: Remove duplicated "timezone" field definitions and translations.
2019-06-15 14:00:32 -07:00