Commit Graph

6165 Commits

Author SHA1 Message Date
Michael Jumper
a096abd735 GUACAMOLE-896: Always flush instruction buffer upon end of static tunnel. 2022-02-23 09:28:48 -08:00
Romain Aviolat
57db729afb GUACAMOLE-1539: fix docker init logic when only auth-json is configured
This commit fixes an issue where the Docker init-script won't start if only the
auth-json extension is present.
2022-02-17 22:22:23 +01:00
Virtually Nick
50693de217 GUACAMOLE-1495: Merge add keymap for Polish keyboard layout for RDP 2022-02-17 14:22:19 -05:00
ClassicGOD
3e68e5885e GUACAMOLE-1495: add pl_pl_qwerty to translations
GUACAMOLE-1495: add pl_pl_qwerty to ca translation

GUACAMOLE-1495: add pl_pl_qwerty to cs translation

GUACAMOLE-1495: add pl_pl_qwerty to de translation

GUACAMOLE-1495: add pl_pl_qwerty to es translation

GUACAMOLE-1495: add pl_pl_qwerty to fr translation

GUACAMOLE-1495: add pl_pl_qwerty to it translation

GUACAMOLE-1495: add pl_pl_qwerty to ko translation

GUACAMOLE-1495: add pl_pl_qwerty to nl translation

GUACAMOLE-1495: add pl_pl_qwerty to no translation

GUACAMOLE-1495: add pl_pl_qwerty to pt translation

GUACAMOLE-1495: add pl_pl_qwerty to zh translation

GUACAMOLE-1495: correct typo in no.json
2022-02-17 19:45:51 +01:00
Virtually Nick
97c37d6681 GUACAMOLE-896: Merge leverage Blobs for storage of recording keyframes. 2022-02-14 13:12:25 -05:00
Michael Jumper
d0257122bb GUACAMOLE-896: Leverage Blobs for storage of recording keyframes. 2022-02-14 09:21:22 -08:00
Virtually Nick
e2af997967 GUACAMOLE-896: Merge allow playback of session recordings that cannot fit in memory. 2022-02-12 20:54:31 -05:00
Mike Jumper
f82b7e884c GUACAMOLE-1322: Merge Docker image support for SAML. 2022-02-11 17:23:43 -08:00
Michael Jumper
b8da13243d GUACAMOLE-896: Ensure "seeking" class not erroneously assigned if seek() finishes immediately. 2022-02-11 17:17:44 -08:00
Michael Jumper
2c8bc58402 GUACAMOLE-896: Avoid XHR-related memory limitations by using Fetch API.
The Fetch API allows us to read HTTP responses as true streams, without
building an in-memory string. We can the buffer things ourselves as we
see fit, including as a Blob that can dynamically leverage disk storage
for larger data.
2022-02-11 17:17:44 -08:00
Michael Jumper
f559f5ca70 GUACAMOLE-896: Add JavaScript UTF-8 parser implementation. 2022-02-11 17:17:44 -08:00
Michael Jumper
a97404b6ad GUACAMOLE-896: Update session recording player to support efficient reading from Blobs. 2022-02-11 17:09:57 -08:00
Jean-Benoit Paux
3e1c92a532 GUACAMOLE-1322: implement correct property requirement logic 2022-02-10 12:37:31 +01:00
Jean-Benoit Paux
eb58d37d00 GUACAMOLE-1322: fix SAML/OpenID typo and style 2022-02-10 12:37:30 +01:00
Markus Petzsch
51eaddeba8 GUACAMOLE-1322: prepend Variable for SAML plugin with missing $ 2022-02-10 12:37:30 +01:00
Markus Petzsch
2fbd228c33 GUACAMOLE-1322: Correct indentation of SAML property assignments to match established code style. 2022-02-10 12:37:30 +01:00
Markus Petzsch
d8765a8f3c GUACAMOLE-1322: Add Docker environment variables for configuring SAML. 2022-02-10 12:37:30 +01:00
Virtually Nick
01503bc76e GUACAMOLE-641: Merge use "KeyPair" typed field for private key only if non-empty. 2022-01-30 14:45:58 -05:00
Michael Jumper
ed14fa3ecf GUACAMOLE-641: Use "KeyPair" typed field for private key only if non-empty.
An SSH server record in KSM has an associated "KeyPair" field, but this
field need not be set. If unset, the current logic ignores the rest of
the record and assumes there is no private key at all. Instead, the
standard fallbacks of locating an attached PEM file, locating an
alternative password field, etc. should be used.
2022-01-30 11:33:14 -08:00
James Muehlner
a0d8a7a4ef GUACAMOLE-641: Merge support for reading secrets from key vaults. 2022-01-25 20:47:14 -08:00
Michael Jumper
96c8c7de61 GUACAMOLE-641: Correct old references to the temporarily-removed Azure support. 2022-01-25 19:50:17 -08:00
Virtually Nick
27ae3c7814 GUACAMOLE-1523: Merge resync ONLY local clipboard to internal clipboard. 2022-01-25 20:42:00 -05:00
Michael Jumper
cc8b3f734c GUACAMOLE-1523: Resync ONLY local clipboard to internal clipboard.
The clipboard service previously and incorrectly resynced the internal
clipboard with itself. This had the effect of forcing a resync of the
internal clipboard contents to the external, local clipboard, clearing
that clipboard of whatever was copied before.
2022-01-25 16:41:16 -08:00
Mike Jumper
6b24394c9b GUACAMOLE-1507: Merge support for configuring the 'extension-priority' property via Docker environment variables. 2022-01-23 18:42:45 -08:00
Virtually Nick
0f83d2ea48 GUACAMOLE-1508: Merge ensure extension JarFile is always properly closed. 2022-01-23 19:14:13 -05:00
Michael Jumper
df386bfd10 GUACAMOLE-1508: Ensure extension JarFile is always properly closed. 2022-01-23 15:07:40 -08:00
Virtually Nick
7e30b8682a GUACAMOLE-1509: Merge add contextual CSS classes to reduce template ambiguity. 2022-01-23 15:30:37 -05:00
Michael Jumper
d1bbfd18ab GUACAMOLE-1509: Add contextual CSS classes to containers/elements that are otherwise ambiguous. 2022-01-23 12:20:46 -08:00
Michael Jumper
a7cf01064a GUACAMOLE-1509: Add status-specific CSS classes to connection notifications. 2022-01-23 12:20:46 -08:00
Michael Jumper
a688bc507c GUACAMOLE-1509: Add name attribute to all applicable fields. 2022-01-23 12:20:46 -08:00
Michael Jumper
c93b05ca23 GUACAMOLE-1509: Automatically generate CSS classes for forms and fields. 2022-01-23 12:20:46 -08:00
Virtually Nick
b34696e48b GUACAMOLE-1508: Merge add support for nesting .jar files within extensions. 2022-01-23 15:06:51 -05:00
Virtually Nick
ac7ceb5862 GUACAMOLE-1511: Merge revert incorrect recursive constructor invocation. 2022-01-23 15:06:00 -05:00
Michael Jumper
bba94c0f94 GUACAMOLE-1511: Revert incorrect recursive constructor invocation.
A previous iteration of the whitespace-trimming changes involved an
additional constructor variation. After removing that portion, the
original constructor for PropertiesGuacamoleProperties was not restored
correctly, and now recursively invokes itself.
2022-01-23 11:57:18 -08:00
Virtually Nick
c079b31dd5 GUACAMOLE-1511: Merge automatically trim whitespace from property values. 2022-01-23 14:28:18 -05:00
Michael Jumper
979505bb58 GUACAMOLE-641: Remove Azure Key Vault extension until license text can be obtained. 2022-01-22 22:25:05 -08:00
Michael Jumper
e89a65586c GUACAMOLE-641: Alternatively download .pem files for private keys. 2022-01-22 22:25:05 -08:00
Michael Jumper
86d1de5f2c GUACAMOLE-641: Automatically pull Guacamole properties from vault. 2022-01-22 22:25:05 -08:00
Michael Jumper
46501f4b63 GUACAMOLE-641: Correct standard vs. custom field logic for complex retrievals.
When retrieving a contextual field like "passphrase", which does not
have a typed representation different from "password" or "hidden", the
contexts where the field's identity is truly known should be preferred
("password" field of a record with a "keypair" field, which MUST be the
key passphrase). When venturing outside well-known contexts, custom
fields should be preferred when their standard counterparts would
already have well-established meanings that differ from the requested
secret (again: "password" of a record with "keypair").

If this is not done, things like retrieving the private key from a
"Login" record fail, as one of the possible storage mechanisms for a
private key is a hidden or password field, which pulls the user's
password instead of their key. In this case, the correct behavior is
to pull the typed value ("keypair") if available, and use custom fields
ONLY otherwise, as those fields have labels that can establish context.
In no other case would it be reliable to assume that a hidden/password
field actually contains a private key.
2022-01-22 22:25:05 -08:00
Michael Jumper
1cfd2ee835 GUACAMOLE-641: Index records by username ONLY if not related to a hostname.
Doing otherwise would mean that a particular user would never be able
to be associated with a specific password/key by their username if they
have any explicit server-specific account.
2022-01-22 22:25:05 -08:00
Michael Jumper
87b26fe2c8 GUACAMOLE-641: Use record service to resolve hostname/username of records for later lookup. 2022-01-22 22:25:04 -08:00
Michael Jumper
55b7e6f867 GUACAMOLE-641: Additionally match against KSM custom fields based on labels. 2022-01-22 22:25:04 -08:00
Michael Jumper
f8f0779d7a GUACAMOLE-641: Manually extract password value from KeeperRecord.
Simply calling getPassword() does not currently work correctly, as the
implementation of getPassword() assumes there will be at least one
value if the field is present. This results in an
ArrayIndexOutOfBoundsException for records with empty passwords:

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
 at java.util.ArrayList.rangeCheck(ArrayList.java:659)
 at java.util.ArrayList.get(ArrayList.java:435)
 at com.keepersecurity.secretsManager.core.KeeperRecord.getPassword(SecretsManager.kt:134)
 ...
2022-01-22 22:25:04 -08:00
Michael Jumper
b6e6800c0d GUACAMOLE-641: Consider null token mapping (blank YAML) to be empty. 2022-01-22 22:25:04 -08:00
Michael Jumper
aee1b13b2b GUACAMOLE-641: Include KSM extension in vault distribution. 2022-01-22 22:25:04 -08:00
Michael Jumper
62863f8a0b GUACAMOLE-641: Log possible ambiguous record retrievals at debug level. 2022-01-22 22:25:04 -08:00
Michael Jumper
c5ae027225 GUACAMOLE-641: Add user- and gateway-specific tokens. 2022-01-22 22:25:04 -08:00
Michael Jumper
b655866057 GUACAMOLE-641: Consider existing tokens when injecting tokens from vault. 2022-01-22 22:25:04 -08:00
Michael Jumper
7641fa9222 GUACAMOLE-641: Allow TokenInjecting* implementations to consider values of existing tokens. 2022-01-22 22:25:04 -08:00
Michael Jumper
d2f5596015 GUACAMOLE-641: Automatically provide KEEPER_SERVER_* tokens based on connection parameters. 2022-01-22 22:25:04 -08:00