Michael Jumper
cb6ffd06e6
GUACAMOLE-518: Allow multiple possible definitions (means of typing a particular key) for each keysym.
2020-06-23 11:11:19 -07:00
Michael Jumper
67450d89f3
GUACAMOLE-518: Correct signedness of keyboard flag variables.
2020-06-22 10:05:37 -07:00
Michael Jumper
96c4c208b4
GUACAMOLE-518: Ensure keyboard state is always updated for all keys pressed/released.
2020-06-22 10:05:37 -07:00
Michael Jumper
7fd54c56a8
GUACAMOLE-518: Modifications to generate.pl should result in regeneration of all keymaps.
2020-06-21 21:05:43 -07:00
Michael Jumper
ce0982fefd
GUACAMOLE-518: Track and update modifier states based on overall flags, not keysyms.
2020-06-21 21:05:43 -07:00
Nick Couchman
0c784d434c
Merge staging/1.2.0 changes back to master.
2020-06-20 20:53:18 -04: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
Michael Jumper
29b055b511
Merge 1.2.0 changes back to master.
2020-06-18 12:52:30 -07:00
Mike Jumper
f899fe0b2f
GUACAMOLE-1053: Merge restoration of proper locking on RDP structures.
2020-06-18 12:51:34 -07:00
Grigory Trenin
d76502d169
GUACAMOLE-1053: guacd segfaults when user actively presses keys at RDP disconnect time
2020-06-18 05:57:33 -04:00
Michael Jumper
787ae317fc
Merge 1.2.0 changes back to master.
2020-06-17 14:12:12 -07:00
Nick Couchman
db4b155c51
GUACAMOLE-513: Update default WoL boot wait time to 0.
2020-06-17 15:27:12 -04:00
Virtually Nick
72489d5690
GUACAMOLE-1103: Merge fix the incorrect comment on enable_sftp variable in RDP
2020-06-17 14:10:16 -04:00
Jimmy
2c2f372def
GUACAMOLE-1103: Fixed the incorrect comment of the enable_sftp variable of the guac_rdp_settings structure.
2020-06-17 23:01:13 +03:00
Michael Jumper
b6568d11b3
Merge 1.2.0 changes back to master.
2020-06-09 01:15:43 -07:00
Mike Jumper
65c07b75cc
GUACAMOLE-513: Merge support for Wake-on-LAN.
2020-06-09 01:15:11 -07:00
Michael Jumper
a5a89bcf1d
Merge 1.2.0 changes back to master.
2020-06-08 10:42:40 -07:00
Nick Couchman
df8030d9bb
GUACAMOLE-513: Implement defaults header for protocol constants.
2020-06-07 20:27:42 -04:00
Nick Couchman
42e223f4a6
GUACAMOLE-474: Correct variable name and scope errors in RDP fs code.
2020-06-07 19:51:02 -04:00
Michael Jumper
4dce306a04
Merge 1.2.0 changes back to master.
2020-06-07 16:31:08 -07:00
Mike Jumper
e526174009
GUACAMOLE-474: Merge support for selectively disabling file uploads and downloads.
2020-06-07 16:30:37 -07:00
Nick Couchman
af89f828eb
Merge staging/1.2.0 changes back to master.
2020-06-07 07:22:05 -04: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
Michael Jumper
029563a4b9
Merge 1.2.0 changes back to master.
2020-05-25 02:43:01 -07: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
Michael Jumper
a0e11dc817
Merge staging/1.2.0 changes back to master.
2020-05-07 14:10:33 -07: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
315a8a7179
GUACAMOLE-1059: Correctly handle issues processing audio input formats.
2020-05-05 16:53:13 -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
02a7291742
GUACAMOLE-513: Adjust names of constants and fix style.
2020-04-15 09:42:22 -04:00
Nick Couchman
a55e1893dd
GUACAMOLE-949: Remove unused UNIX_TIME macro.
2020-04-02 15:53:51 -04:00
Nick Couchman
b077013c30
GUACAMOLE-474: Hide Download folder if downloads are disabled.
2020-04-02 14:58:06 -04:00
Nick Couchman
bbb794966b
Merge staging/1.2.0 changes back to master.
2020-03-22 20:30:42 -04:00
Michael Jumper
04b8633410
GUACAMOLE-952: Add security negotiation mode specific to Hyper-V / VMConnect.
2020-03-22 16:27:55 -07:00
Michael Jumper
aa8c8cac84
GUACAMOLE-952: Remove incorrect Preconnection PDU warning left over from old FreeRDP support.
2020-03-22 16:27:55 -07:00
Nick Couchman
45e46bd245
GUACAMOLE-513: Move sleep to protocol implementations; update comments and headers.
2020-03-19 09:12:15 -04:00
Nick Couchman
3dc2591517
GUACAMOLE-513: Add debug logging for sending WoL.
2020-03-19 09:12:15 -04:00
Nick Couchman
3d4a27607d
GUACAMOLE-513: Implement settings and code for Wake-on-LAN support.
2020-03-18 13:29:58 -04:00
Jimmy
fa86d18353
GUACAMOLE-982: Fix the error log message when the creating thread of RDP client fails.
2020-03-09 23:16:28 +02:00
Virtually Nick
e4407167ab
GUACAMOLE-979: Merge ensure all FreeRDP settings strings are independent duplicates of their corresponding Guacamole settings.
2020-03-02 18:36:33 -05:00
Virtually Nick
253213b29d
GUACAMOLE-978: Merge respond to Handshake/HandshakeEx PDU received via RAIL with client Handshake PDU.
2020-03-02 18:35:53 -05:00
Michael Jumper
5e1b92cb65
GUACAMOLE-979: Ensure all FreeRDP settings strings are independent duplicates of their corresponding Guacamole settings.
...
FreeRDP 2.0.0 will automatically free all settings strings when the
settings structure is freed. As we will also do the same for our own
settings strings, the FreeRDP settings must be kept independent. There
is no guarantee that the FreeRDP settings will be pushed before an error
causes the connection to abort, nor that the FreeRDP settings will not
need to be pushed multiple times due to an automatic reconnect.
2020-03-02 15:02:03 -08: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
Michael Jumper
28983d964b
GUACAMOLE-917: Add missing non-dead tilde to German keymap for RDP.
2020-02-28 10:47:22 -08:00
Michael Jumper
a80cd8db06
GUACAMOLE-962: Restore OpaqueRect and PatBlt handlers.
...
This commit effectively reverts commit 9855d875c7
.
With relaxed order checks enabled, FreeRDP will indeed invoke the
OpaqueRect and PatBlt handlers (even though we do not announce support
for those orders) as long as handlers are provided.
2020-02-24 16:48:14 -08:00
Michael Jumper
3b0abe376e
GUACAMOLE-962: Request relaxed RDP order checks if supported by FreeRDP.
2020-02-24 16:48:14 -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
Nick Couchman
42e382062c
GUACAMOLE-474: Add parameter processing for file upload/download disable.
2020-01-26 03:33:08 -05:00
Nick Couchman
0e845a2914
GUACAMOLE-625: Remove trailing whitespace in Makefile.am and fix style
2020-01-24 10:32:25 -05:00
Adolfo Gómez García
b13fae7a9f
GUACAMOLE-625: Included Latin American keymap
2020-01-24 10:50:23 +01:00
Nick Couchman
0aecca3e04
Merge staging/1.1.0 changes back to master.
2020-01-22 16:25:39 -05:00
Michael Jumper
8ebe5c571a
GUACAMOLE-935: Do not assign SVC plugin context as it may be automatically freed.
...
FreeRDP version 2.0.0-rc0 and older will automatically free whatever
entry_points->pInterface is set to when the channel plugin is unloaded.
This doesn't happen in later versions, but will result in a double-free
upon disconnect for 2.0.0-rc0 in our case. As we don't need pInterface,
we can safely set this to NULL and avoid the issue entirely.
2020-01-22 11:10:50 -08:00
James Muehlner
28f7d3694e
Merge 1.1.0 changes back to master.
2020-01-21 23:30:27 -08:00
James Muehlner
3bc00c429a
GUACAMOLE-935: Merge fix for differing rdpBitmap free behavior.
2020-01-21 23:28:46 -08:00
Michael Jumper
26dfc533bd
GUACAMOLE-935: Free internals of rdpBitmap only when required.
...
In FreeRDP 2.0.0-rc0 and earlier, Bitmap_Free(bitmap) invokes the free
handler of the given bitmap, frees bitmap->data, and then frees the
bitmap. The implementation-specific free handler needs to be aware only
of the implementation's own concerns.
After FreeRDP 2.0.0-rc0, Bitmap_Free(bitmap) only invokes the
implementation-specific free handler, and it's on the implementation to
know that bitmap->data must be manually freed with _aligned_free() and
bitmap must be freed with free(). The implementation-specific free
handler must be aware of the internals of the library.
See commit 8dda26a
.
2020-01-21 22:35:26 -08:00
James Muehlner
75b658c6c9
GUACAMOLE-934: Merge support for the Play Sound PDU.
2020-01-21 22:08:44 -08:00
Michael Jumper
b21d19d37d
GUACAMOLE-934: Correct waveform calculation. Switch to triangle wave to reduce aliasing distortion.
2020-01-21 00:03:42 -08:00
Michael Jumper
b8148b0daf
GUACAMOLE-934: Handle potential lack of available audio streams.
2020-01-20 21:16:36 -08:00
Michael Jumper
ddc09b161a
GUACAMOLE-934: Add support for the Play Sound PDU.
2020-01-20 18:36:06 -08:00
Michael Jumper
32f8f20852
GUACAMOLE-931: Verify that home directory is both a directory and writable for sake of FreeRDP initialization.
2020-01-20 11:49:11 -08:00
Nick Couchman
cc8d879a12
Merge staging/1.1.0 changes back to master.
2020-01-18 06:16:54 -05:00
Michael Jumper
0676e70325
GUACAMOLE-927: Abort RDP connection if FreeRDP fails to initialize.
2020-01-17 15:54:56 -08:00
Michael Jumper
39f7d5a843
GUACAMOLE-927: Automatically set $HOME for sake of FreeRDP initialization process.
2020-01-17 15:50:47 -08:00
Nick Couchman
fd2c5b9259
Merge staging/1.1.0 changes back to master.
2020-01-16 15:06:56 -05:00
Michael Jumper
37dceed8ec
GUACAMOLE-249: Automatically determine correct location for FreeRDP plugins.
2020-01-15 21:55:27 -08:00
Michael Jumper
fcac1a26f8
GUACAMOLE-249: Remove extra warning resulting from merge.
...
If the admin intentionally disables both copy and paste, then there is
no need to log a warning that this is the case; it was intentional. A
warning will likely set off alarm bells within production log monitoring
systems.
2020-01-14 15:50:23 -08:00
Nick Couchman
956c5f293e
Merge staging/1.1.0 changes back to master.
2020-01-14 16:27:09 -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
308d7a09a8
GUACAMOLE-249: Support rdpGlyph callback format used in FreeRDP 2.0.0-rc3 and older (used UINT32 instead of INT32).
2020-01-13 16:34:02 -08:00
Michael Jumper
9a34caf40f
GUACAMOLE-249: The FreeRDPConvertColor() function is also known as ConvertColor(), but was only available as ConvertColor() in older FreeRDP 2.0.0 release candidates.
2020-01-13 16:08:17 -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
e9846945c7
GUACAMOLE-249: Test endianness of platform without violating strict aliasing rules.
...
Dereferencing a uint8_t array as uint32_t causes a build failure with
some compilers as it breaks strict aliasing rules.
2020-01-12 14:34:44 -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
f805a80bc1
GUACAMOLE-249: Switch return type of guac_rdp_cache_bitmap() back to void - it doesn't fail, and isn't dictated by the FreeRDP API.
2020-01-11 20:14:35 -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
b3a713bf7a
GUACAMOLE-249: Clean up basename logic of file downloads. Add unit test.
2020-01-09 13:36:37 -08:00
Michael Jumper
c4f6c5161c
GUACAMOLE-249: Remove accidentally-inserted "0" from end of comment.
2020-01-09 13:11:45 -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
55959b5456
GUACAMOLE-249: Until parameter prompting is available, do not auto-negotiate for NLA if username and password have not been provided.
2020-01-06 13:47:19 -08:00
Michael Jumper
666c4fb299
GUACAMOLE-249: Do not include "extended mode" NLA in security negotiation as negotiation fails (see FreeRDP defaults).
2020-01-06 13:39:59 -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