Commit Graph

2058 Commits

Author SHA1 Message Date
Michael Jumper
048a59310b GUACAMOLE-1204: Add support for declaring layer multi-touch capabilities. 2021-02-11 20:12:21 -08:00
Michael Jumper
c88c0d1c89 GUACAMOLE-1204: Add libguac support for processing the "touch" instruction. 2021-02-11 20:12:21 -08:00
Sander Vanheule
841dc28e9b GUACAMOLE-1277: Unswap -/_ on fr-be-azerty keymap
When using the fr-be-azerty remote keyboard layout on an RDP connection,
the dash ('-') and underscore ('_') are swapped.

Underscore and dash are located on the same key on a Belgian azerty
layout. Dash should be the normal/unshifted character, and underscore
should be the shifted character. The current mapping has this the other
way around, so let's fix this.

Signed-off-by: Sander Vanheule <Sander.Vanheule@UGent.be>
2021-02-02 19:53:51 +01:00
Mike Jumper
6d526cb60f
GUACAMOLE-1133: Merge addition of GCrypt initialization to VNC startup process. 2021-01-22 21:33:10 -08:00
Nick Couchman
46bed49a43 GUACAMOLE-1133: initialize GCrypt in VNC protocol prior to client start-up. 2021-01-21 21:14:18 -05:00
Virtually Nick
c769d18cf6
GUACAMOLE-1263: Merge mark freed memory as freed prior to calling rfbClientCleanup(). 2021-01-15 14:51:36 -05:00
Michael Jumper
612c5eba20 GUACAMOLE-1263: Mark freed memory as freed prior to calling rfbClientCleanup().
Older versions of libvncclient did not free all memory within
rfbClientCleanup(), but this has been corrected as of their 0.9.12
release. As guacamole-server may well be built against older versions of
libvncclient, we can't simply remove the manual free() calls, but we
should be sure to set any memory that we free ourselves to NULL so that
rfbClientCleanup() does not attempt to free it again.
2021-01-15 11:46:16 -08:00
Virtually Nick
fe62300223
GUACAMOLE-1259: Merge include missing config.h header for sake of conditional Stream_Free(). 2021-01-10 13:09:39 -05:00
Michael Jumper
0b6b14b71e GUACAMOLE-1259: Include missing config.h header for sake of conditional Stream_Free().
The changes introduced by GUACAMOLE-1181 (commit 2c86e20) were made
conditional as older versions of FreeRDP will automatically free the
wStream, resulting in a double-free if we attempt to do so ourselves.

The macro controlling that conditional code is defined within config.h,
which is missing here. Without that macro, the call to Stream_Free()
always occurs, and we get a double-free with older FreeRDP.
2021-01-09 21:15:50 -08:00
Virtually Nick
1c3e86dc2c
GUACAMOLE-1191: Merge always disable the glyph cache due to stability issues. 2021-01-09 22:46:12 -05:00
Michael Jumper
9dc793b0e5 GUACAMOLE-1191: Always disable the glyph cache, as FreeRDP no longer considers the feature to be stable. 2021-01-09 17:49:32 -08:00
Michael Jumper
430182dce2 GUACAMOLE-1254: Add unit tests for unique ID generation. 2021-01-06 22:51:07 -08:00
Michael Jumper
f710e00d26 GUACAMOLE-1254: Use libuuid rather than OSSP UUID if available.
The libuuid library is widely available (part of util-linux) and much
more frequently updated. The OSSP UUID library works great, but was last
updated in 2008 and causes some confusion for users that have libuuid.
2021-01-06 20:58:22 -08:00
Nick Couchman
a37668e9f5 GUACAMOLE-1245: Add support for specifying Wake-on-LAN port. 2020-12-30 16:50:38 -05:00
Nick Couchman
d20b385834 Merge 1.3.0 changes back to master. 2020-12-22 19:05:16 -05:00
Michael Jumper
3196f9f0d0 GUACAMOLE-1242: Move "connection closed" log message to debug level.
It is expected under normal circumstances that the connection may be
abruptly closed, including during the handshake. For example, this will
commonly occur when a TCP load balancer is performing a simple service
health check.

An message noting that the connection has been closed during the
Guacamole protocol handshake is really only of benefit when debugging,
where that information may provide useful context. If not debugging, the
message amounts to log noise.
2020-12-22 13:00:48 -08:00
Virtually Nick
2fc3a43e87
GUACAMOLE-1225: Merge fix simple typo, verfying -> verifying, in code documentation 2020-12-21 08:00:29 -05:00
Tim Gates
ced24fde7d
GUACAMOLE-1225: fix simple typo, verfying -> verifying
There is a small typo in src/libguac/tests/parser/read.c, src/libguac/tests/socket/fd_send_instruction.c, src/libguac/tests/socket/nested_send_instruction.c.

Should read `verifying` rather than `verfying`.

Fixes https://issues.apache.org/jira/browse/GUACAMOLE-1225
2020-12-21 17:04:52 +11:00
Michael Jumper
d40db7cd3c GUACAMOLE-1227: Build support for generic VNC credentials only if supported by libvncclient. 2020-12-02 22:55:16 -08:00
Yaroslav Nikonorov
004f57e19a GUACAMOLE-1174: Add prototype and docstrings for guac_kubernetes_append_endpoint_param function. 2020-11-18 15:30:34 +02:00
Yaroslav Nikonorov
7809447c3f GUACAMOLE-1174: Add parameters to the endpoint path using function guac_kubernetes_append_endpoint_param. 2020-11-18 14:57:59 +02:00
Yaroslav Nikonorov
7a1ba51bae GUACAMOLE-1174: Determine parameter delimiter, compute the buffer string length, fix the buffer string length usage, verify buffer null terminated. 2020-11-18 14:52:24 +02:00
Michael Jumper
9df3e294c3 Merge 1.3.0 changes back to master. 2020-11-03 14:29:52 -08:00
Mike Jumper
7fcddef117
GUACAMOLE-1205: Merge version number bump to 1.3.0. 2020-11-03 14:29:21 -08:00
Nick Couchman
c867d392d0 GUACAMOLE-1205: Update Guacamole Server version numbers for 1.3.0 release 2020-11-03 14:54:55 -05:00
Nick Couchman
8faeea18f8 Merge 1.3.0 changes back to master. 2020-11-03 14:02:38 -05:00
Michael Jumper
1e3fc25268 GUACAMOLE-221: Handle FREERDP_ERROR_* constants only when defined.
Only FreeRDP 2.0.0-rc3 and later support all the constants used within
src/protocols/rdp/error.c.
2020-11-03 10:14:51 -08:00
Nick Couchman
299b7b4370 Merge 1.3.0 changes back to master. 2020-11-02 22:17:33 -05:00
Virtually Nick
1e856d4e2d
GUACAMOLE-221: Merge rely on FreeRDP error code if no RDP disconnect reason is available. 2020-11-02 22:16:43 -05:00
Nick Couchman
5124e78e05 Merge 1.3.0 changes back to master. 2020-11-02 20:35:00 -05:00
Virtually Nick
4d3280e817
GUACAMOLE-221: Merge terminate keep-alive thread immediately upon guac_socket_free(). 2020-11-02 20:09:18 -05:00
Michael Jumper
8041585379 GUACAMOLE-221: Increase verbosity of logged FreeRDP-related errors. 2020-11-02 15:40:29 -08:00
Michael Jumper
2a4ecda216 GUACAMOLE-221: Terminate keep-alive thread immediately upon guac_socket_free().
The keep-alive interval is identical to the timed client free used by
guacd. This results in a race condition where there is a random chance
that guacd will assume that the client has failed to terminate in a
timely manner simply because guac_socket_free() is waiting for the
keep-alive thread to finish.
2020-11-02 14:57:43 -08:00
Nick Couchman
e3df475bda Merge 1.3.0 changes back to master. 2020-11-02 16:16:22 -05:00
Michael Jumper
1e550b58d9 GUACAMOLE-221: Ensure guacd always enables broadcast socket keep-alive. 2020-11-02 12:51:58 -08:00
Michael Jumper
1e8d9d92a5 GUACAMOLE-221: Rely on FreeRDP error code if no RDP disconnect reason is available. 2020-11-02 12:38:06 -08:00
Nick Couchman
7563402631 Merge 1.3.0 changes back to master. 2020-10-30 10:13:25 -04:00
Virtually Nick
0be71a8c67
GUACAMOLE-1182: Merge ensure converted clipboard data is freed after being sent. 2020-10-30 10:12:25 -04:00
Nick Couchman
4e6ad1939f Merge 1.3.0 changes back to master. 2020-10-30 08:34:16 -04:00
Michael Jumper
256487c95a GUACAMOLE-1181: Only free wStream after send if FreeRDP requires this. 2020-10-29 18:29:47 -07:00
Michael Jumper
2c86e20ab9 GUACAMOLE-1181: Free wStream after send is complete/cancelled. 2020-10-28 20:23:37 -07:00
Michael Jumper
683ef1722e GUACAMOLE-1182: Ensure converted clipboard data is freed after being sent. 2020-10-28 16:36:50 -07:00
Yaroslav Nikonorov
79239e3be0 GUACAMOLE-1174: Create function for appending endpoint params, fix endpoint params overwriting. 2020-10-20 12:44:38 +03:00
Yaroslav Nikonorov
6b58e2e5a9 GUACAMOLE-1174: Free exec_command setting. 2020-10-20 12:44:38 +03:00
Yaroslav Nikonorov
164f792b86 GUACAMOLE-1174: Remove option use-exec, add snprintf result validation, fix code formatting. 2020-10-08 13:18:58 +03:00
Mike Jumper
2aa0218cc7
GUACAMOLE-1190: Merge guacd support for listening on IPv6 addresses. 2020-10-08 00:32:32 -07:00
Jonas Zeiger
8d683b560c GUACAMOLE-1190: Specify correct address family when creating socket 2020-10-07 10:02:28 +02:00
Jimmy
d6a817f58c GUACAMOLE-1185: Fixed one typo mistake. 2020-09-28 10:35:05 +03:00
Mike Jumper
558eb149f4
GUACAMOLE-1031: Merge correction to handling of RDP SFTP upload directory. 2020-09-27 16:34:56 -07:00
Nick Couchman
3e19583b29 GUACAMOLE-221: Switch VNC credentials to NULL when parameter is not passed 2020-09-20 14:41:29 -04:00
Nick Couchman
9e1dada14b GUACAMOLE-221: Add CUnit tests for guac_strdup() 2020-09-20 14:41:29 -04:00
Nick Couchman
3b4007c9fa GUACAMOLE-221: Tweak logic for when RDP domain is requested. 2020-09-20 14:41:29 -04:00
Nick Couchman
bfb54f72a0 GUACAMOLE-221: Clean up libguac, protocol changes, and documentation. 2020-09-20 14:41:29 -04:00
Nick Couchman
6605f217c5 GUACAMOLE-221: Rollback changes to SSH protocol prompting 2020-09-17 21:12:33 -04:00
Nick Couchman
b6d3edb749 GUACAMOLE-221: Move VNC and RDP argv to new callback. 2020-09-17 21:12:33 -04:00
Nick Couchman
f70fdfc612 GUACAMOLE-221: Add back in SSH credential argv support; fix style and comments. 2020-09-15 14:48:15 -04:00
Nick Couchman
ec3cdfd17b GUACAMOLE-221: We need to flush the socket after sending required. 2020-09-15 14:48:15 -04:00
Nick Couchman
26b9850d87 GUACAMOLE-221: Remove bad rebase code. 2020-09-15 14:48:15 -04:00
Nick Couchman
98dbf15d0b GUACAMOLE-221: Fix up SSH terminal prompt fallback. 2020-09-15 14:48:15 -04:00
Nick Couchman
e8feeabfef GUACAMOLE-221: Implement CUnit tests for protocol version comparison and conversion. 2020-09-15 14:48:15 -04:00
Nick Couchman
0db61198e9 GUACAMOLE-221: Fix up lots of comments, streamline code, and fix SSH mutex lock. 2020-09-15 14:48:15 -04:00
Nick Couchman
bc8ed4e104 GUACAMOLE-221: Implement guacd support for verifying that client can accept the required instruction. 2020-09-15 14:48:15 -04:00
Nick Couchman
b00b629b96 GUACAMOLE-221: Clean up VNC mutex; update comments. 2020-09-15 14:48:15 -04:00
Nick Couchman
0761908a77 GUACAMOLE-221: Sockets start keep alive by default. 2020-09-15 14:48:15 -04:00
Nick Couchman
c579e7337f GUACAMOLE-221: Implement function for sending required to client owner. 2020-09-15 14:48:15 -04:00
Nick Couchman
5ec2551761 GUACAMOLE-221: Use constants for parameters updated via argv or required instructions. 2020-09-15 14:48:15 -04:00
Nick Couchman
5881209f12 GUACAMOLE-221: Move keep-alives to protocol implementation and only send required instruction to owner. 2020-09-15 14:48:15 -04:00
Nick Couchman
5c309f5cb1 GUACAMOLE-221: Move away from reserved function names. 2020-09-15 14:48:15 -04:00
Nick Couchman
7759f9b1c0 GUACAMOLE-221: Add socket keepalive when sending required fields. 2020-09-15 14:48:15 -04:00
Nick Couchman
51b9c9c103 GUACAMOLE-221: Remove manual addition of null terminator 2020-09-15 14:48:15 -04:00
Nick Couchman
4318083511 GUACAMOLE-221: Fix up style, comments, and variable names. 2020-09-15 14:48:15 -04:00
Nick Couchman
939d954810 GUACAMOLE-221: Extract array writing in protocol into common function and document. 2020-09-15 14:48:15 -04:00
Nick Couchman
76ef6332cc GUACAMOLE-221: Make lock, condition, and flags specific to credentials. 2020-09-15 14:48:15 -04:00
Nick Couchman
7369bed22c GUACAMOLE-221: Add support for sending multiple params in required. 2020-09-15 14:48:15 -04:00
Nick Couchman
21a5d9ee62 GUACAMOLE-221: Add protocol functions for sending prompt to client. 2020-09-15 14:48:15 -04:00
Yaroslav Nikonorov
7683a17d69 GUACAMOLE-1174: Added exec call implementation for kubernetes protocol 2020-09-10 19:59:03 +03:00
Michael Jumper
df33cd0874 GUACAMOLE-1158: Handle received clipboard data only if copy has not been disabled. 2020-08-24 12:23:01 -07:00
Virtually Nick
a2fb09021b
GUACAMOLE-221: Merge add convenience API for automatically handling received "argv" streams. 2020-07-08 08:30:47 -04:00
Michael Jumper
0cdc51acd1 GUACAMOLE-221: Correct faulty double-increment of args (should advance ONE at a time). 2020-07-06 18:19:08 -07:00
Michael Jumper
aa3a9cde6c GUACAMOLE-221: Migrate Kubernetes handling of "argv" to guac_argv_*() convenience API. 2020-07-06 18:19:08 -07:00
Michael Jumper
08a57d3375 GUACAMOLE-221: Migrate telnet handling of "argv" to guac_argv_*() convenience API. 2020-07-06 18:19:08 -07:00
Michael Jumper
2f6de25418 GUACAMOLE-221: Migrate SSH handling of "argv" to guac_argv_*() convenience API. 2020-07-06 18:19:08 -07:00
Michael Jumper
f8f2c7f747 GUACAMOLE-221: Allow callers to request that argument values be automatically echoed to all connected users. 2020-07-06 18:19:08 -07:00
Michael Jumper
a8151c40c4 GUACAMOLE-221: Implement libguac convenience API for awaiting and processing argument streams. 2020-07-06 18:19:08 -07:00
Nick Couchman
d35a97d28e GUACAMOLE-1122: Correct scope of settings variable for RDP user file handler." 2020-07-02 16:50:23 -04:00
Jimmy
d34745a40b GUACAMOLE-1114: Clean up clipboard mutex lock. 2020-06-26 23:19:23 +03:00
Jimmy
264192fd25 GUACAMOLE-1114: Clean up print job mutex lock 2020-06-26 23:18:02 +03:00
Nick Couchman
79c6e5787d Merge staging/1.2.0 changes back to master. 2020-06-25 17:56:43 -04:00
Michael Jumper
7de6ba7ea9 GUACAMOLE-474: Do not allow RDPDR file downloads via "get" instructions if downloads are disabled. 2020-06-25 14:43:37 -07:00
Michael Jumper
630798503c GUACAMOLE-474: Ensure RDPDR "Download" folder behaves as a normal folder if downloads are disabled. 2020-06-25 14:43:37 -07:00
Michael Jumper
f4ff5f337c GUACAMOLE-474: Enforce upload disable option at low level, warning if not blocked at higher level as expected. 2020-06-25 14:43:37 -07:00
Michael Jumper
d8c32b1e82 GUACAMOLE-474: Enforce download disable option at low level, warning if not blocked at higher level as expected. 2020-06-25 14:41:39 -07:00
Nick Couchman
45a0cd943b Merge staging/1.2.0 changes back to master. 2020-06-24 20:19:10 -04:00
Michael Jumper
af2c109079 GUACAMOLE-465: Correct printf-style format string (should be "%s" for strings, not "%d"). 2020-06-24 17:14:25 -07:00
Michael Jumper
4ac0940e81 GUACAMOLE-465: Remove redundant newline character from calls to guacenc_log(). 2020-06-24 17:14:23 -07:00
Virtually Nick
3a87dd0c96
GUACAMOLE-465: Merge remove superfluous access check prior to attempting file deletion. 2020-06-24 20:10:34 -04:00
Nick Couchman
37965a961e Merge staging/1.2.0 changes back to master. 2020-06-24 20:09:05 -04:00
Michael Jumper
096a067b1f GUACAMOLE-465: Correct possible leak of malloc'd video structure. 2020-06-24 13:56:16 -07:00
Michael Jumper
8d9049942d GUACAMOLE-465: Remove superfluous access check prior to attempting file deletion. 2020-06-24 13:41:03 -07:00
Nick Couchman
708769b4c3 Merge staging/1.2.0 changes back to master. 2020-06-24 13:11:17 -04:00