59 Commits

Author SHA1 Message Date
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
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
Jimmy
d6a817f58c GUACAMOLE-1185: Fixed one typo mistake. 2020-09-28 10:35:05 +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
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
7598f5a95a GUACAMOLE-1076: Use proper constants to represent RemoteApp high contrast support flags. 2020-06-20 16:09:43 -07:00
Michael Jumper
d5608fb8a2 GUACAMOLE-1076: Send same System Parameters Update PDUs as Apache Guacamole 1.0.0 and older. 2020-06-20 15:09:00 -07:00
Michael Jumper
a7732e72be GUACAMOLE-1076: Ensure Client Information PDU is sent during RAIL handshake (required by spec). 2020-06-20 14:32:53 -07:00
Michael Jumper
6a50d3076c GUACAMOLE-1076: Set RAIL flag for expanding environment variables within RemoteApp arguments (match v1.0.0 behavior). 2020-06-20 14:14:29 -07:00
Nick Couchman
42e223f4a6 GUACAMOLE-474: Correct variable name and scope errors in RDP fs code. 2020-06-07 19:51:02 -04:00
Mike Jumper
e526174009
GUACAMOLE-474: Merge support for selectively disabling file uploads and downloads. 2020-06-07 16:30:37 -07:00
Michael Jumper
4184a52c98 GUACAMOLE-1059: Sound format index should be checked against maximum number of formats, not byte size of array. 2020-06-06 23:50:28 -07:00
Nick Couchman
ec093d3cea GUACAMOLE-474: Minor style and debug message tweaks. 2020-05-29 07:39:39 -04:00
Nick Couchman
ff34146f57 GUACAMOLE-1059: Log array boundary violation for sound formats. 2020-05-24 08:55:58 -04:00
Nick Couchman
234f5aff1a GUACAMOLE-1059: Check array boundary for sound formats. 2020-05-16 21:12:53 -04:00
Nick Couchman
557e2f5944 GUACAMOLE-1059: Fine tune comments and log messages. 2020-05-06 10:17:20 -04:00
Nick Couchman
47bf3ab672 GUACAMOLE-1059: Verify correct number of bytes for incoming wave. 2020-05-05 17:15:47 -04:00
Nick Couchman
e761e47cd0 GUACAMOLE-1059: Add missing checks and fix up warning messages. 2020-05-05 16:33:59 -04:00
Nick Couchman
71769b9715 GUACAMOLE-1059: Add missing check for manually copied buffer. 2020-05-04 19:49:15 -04:00
Nick Couchman
ac9e5e91f6 GUACAMOLE-1059: Remove bad check of audio stream against body_size. 2020-05-04 17:53:38 -04:00
Nick Couchman
98f0c271fb GUACAMOLE-1059: Add explanatory comments and additional logging. 2020-05-04 17:45:17 -04:00
Nick Couchman
8560ff9718 GUACAMOLE-1059: Move rdpsnd body size check to correct location. 2020-05-04 12:11:37 -04:00
Nick Couchman
ce28575b3a GUACAMOLE-1059: Use FreeRDP function for verifying Stream length before reading. 2020-05-04 08:48:40 -04:00
Nick Couchman
b077013c30 GUACAMOLE-474: Hide Download folder if downloads are disabled. 2020-04-02 14:58:06 -04:00
Michael Jumper
789463ce76 GUACAMOLE-978: Respond to Handshake/HandshakeEx PDU received via RAIL with client Handshake PDU. 2020-03-02 14:15:27 -08:00
Jimmy
659cdd09a0 GUACAMOLE-947: Fix the initialization issue of CLIPRDR_FORMAT_LIST object. 2020-02-06 18:17:40 +02:00
Nick Couchman
1a699686b9 GUACAMOLE-474: Implement logic to disable file transfers in each protocol. 2020-01-26 03:33:08 -05:00
Michael Jumper
3dfd2467c3 GUACAMOLE-249: Remove RAIL callback typecasts, relying instead on configure tests to check need for const. 2020-01-13 16:34:02 -08:00
Michael Jumper
e5fdda1286 GUACAMOLE-249: Remove CLIPRDR callback typecasts, relying instead on configure tests to check need for const. 2020-01-13 16:34:02 -08:00
Michael Jumper
eaae203e94 GUACAMOLE-249: Ensure RAIL message handlers are accepted by compiler regardless of whether const is required. 2020-01-13 15:41:56 -08:00
Michael Jumper
4282da662f GUACAMOLE-249: Restructure audio input such that audio buffer can be separately linked.
On some platforms, the libguacai-client.so plugin for FreeRDP reports an
unlinked symbol:

    undefined symbol: guac_freerdp_dynamic_channel_collection_add	(/usr/local/lib/freerdp2/libguacai-client.so)

This symbol is actually unused within the plugin, but may be referenced
due to being defined within a function in a common piece of source
shared between the plugin and the RDP support.

Separating the actual common components such that they can be included
by both the RDP support and the libguacai-client.so plugin removes the
potential for unused pieces being flagged as missing.
2020-01-12 22:04:01 -08:00
Michael Jumper
4b1243fbf8 GUACAMOLE-249: Ensure CLIPRDR message handlers are accepted by compiler regardless of whether const is required.
Without a typecast, errors like the following are generated by the
compiler:

    channels/cliprdr.c: In function 'guac_rdp_cliprdr_channel_connected':
    channels/cliprdr.c:477:27: error: assignment from incompatible pointer type [-Werror]
         cliprdr->MonitorReady = guac_rdp_cliprdr_monitor_ready;
                               ^
    channels/cliprdr.c:478:31: error: assignment from incompatible pointer type [-Werror]
         cliprdr->ServerFormatList = guac_rdp_cliprdr_format_list;
                                   ^
    channels/cliprdr.c:479:38: error: assignment from incompatible pointer type [-Werror]
         cliprdr->ServerFormatDataRequest = guac_rdp_cliprdr_format_data_request;
                                          ^
    channels/cliprdr.c:480:39: error: assignment from incompatible pointer type [-Werror]
         cliprdr->ServerFormatDataResponse = guac_rdp_cliprdr_format_data_response;
                                           ^
    cc1: all warnings being treated as errors

This is because FreeRDP commit 65812bd added const to the pointer
argument of each of these handlers, wheras older versions of FreeRDP
lack const here. Our implementations of these functions declare const
and thus do not match the older prototype, though they are compatible
with it.
2020-01-12 14:06:34 -08:00
Michael Jumper
5e9c7cdb42 GUACAMOLE-249: Correct typo: "of common RDPDR header" should be "of the common RDPDR header". 2020-01-11 20:24:12 -08:00
Michael Jumper
01c731e241 GUACAMOLE-249: Clean up documentation for arbitrary pipe SVC. No need to say "automatically" everywhere. 2020-01-11 20:22:23 -08:00
Michael Jumper
92d97a3244 GUACAMOLE-249: Correct typo: "indicating" should be "indicates". 2020-01-11 20:21:00 -08:00
Michael Jumper
a3d9a685e8 GUACAMOLE-249: Handle failure to send either response required for monitor ready. 2020-01-11 20:18:27 -08:00
Michael Jumper
62ee36142d GUACAMOLE-249: Refactor guac_freerdp_channels_load_plugin() to log a warning if plugin limits are reached. 2020-01-09 14:12:08 -08:00
Michael Jumper
feb376ea1e GUACAMOLE-249: Fix misspelled "instruction" and "have" in comments. 2020-01-09 13:10:05 -08:00
Michael Jumper
2139d40e97 GUACAMOLE-249: Remove accidental double spaces from RDP comments. 2020-01-09 13:00:56 -08:00
Michael Jumper
67c5bdfdfe GUACAMOLE-249: Do not attempt to free SVC-specific data if it hasn't actually been allocated. 2020-01-06 13:35:35 -08:00
Michael Jumper
1f24c47e29 GUACAMOLE-249: Remove empty struct definitions added by Include What You Use. 2020-01-06 11:40:08 -08:00
Michael Jumper
e325dbc672 GUACAMOLE-249: Add/remove headers as necessary based on run through Include What You Use (IWYU) tool. 2020-01-04 13:07:28 -08:00
Michael Jumper
f33416949f GUACAMOLE-249: RAIL plugin for FreeRDP 2.0.0 requires that the Client Execute PDU be sent manually. 2019-12-30 17:43:39 -08:00
Michael Jumper
9ad3bc9a49 GUACAMOLE-249: Log RDPDR debug messages at GUAC_LOG_DEBUG level. 2019-12-29 18:12:01 -08:00
Michael Jumper
6940875e6e GUACAMOLE-249: Refactor away old stream.h and guac_rdp_stream. 2019-12-29 18:04:51 -08:00
Michael Jumper
d2083a1aed GUACAMOLE-249: Refactor RDPDR to be more documentable. Document RDPDR fully. 2019-12-29 18:04:51 -08:00
Michael Jumper
fbb759ab82 GUACAMOLE-249: Correct mismatched ifndef/define header include check. 2019-12-28 19:36:43 -08:00