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
Virtually Nick
614f38767e
GUACAMOLE-465: Merge produce MPEG-4 output within a proper container.
2020-06-24 13:10:32 -04:00
Nick Couchman
f1f1b0d438
Merge staging/1.2.0 changes back to master.
2020-06-24 12:59:34 -04:00
Virtually Nick
4815f62358
GUACAMOLE-966: Merge bump libguac version number for 1.2.0.
2020-06-24 12:58:40 -04:00
Nick Couchman
025525f93a
Merge staging/1.2.0 changes back to master.
2020-06-24 12:55:34 -04:00
Michael Jumper
3e73e392a0
GUACAMOLE-966: Bump libguac version number for 1.2.0 (interfaces added, none changed or removed).
2020-06-24 02:37:35 -07:00
Michael Jumper
fb94ef9e9a
GUACAMOLE-495: Add whitespace and reflow as necessary to improve readability.
2020-06-24 02:25:02 -07:00