Michael Jumper
87a3c7392b
GUACAMOLE-935: Periods within regexes must be escaped if intended to match literal periods.
2020-01-21 22:35:26 -08:00
Michael Jumper
49df9f04e0
GUACAMOLE-935: Use C preprocessor to determine FreeRDP version rather than running a test program.
...
AC_RUN_IFELSE cannot be used when cross-compiling, whereas AC_EGREP_CPP
can.
2020-01-21 22:40:18 -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
Virtually Nick
0cd9ba387b
GUACAMOLE-929: Merge update copyright date to 2020.
2020-01-20 03:50:29 -05:00
Michael Jumper
35e44db713
GUACAMOLE-929: Update copyright date to 2020.
2020-01-19 13:36:09 -08:00
Virtually Nick
77f6168729
GUACAMOLE-928: Merge keep FreeRDP plugins of Docker image within /usr/local/guacamole
2020-01-18 06:15:23 -05:00
Virtually Nick
a384e749e2
GUACAMOLE-927: Merge automatically set $HOME for sake of FreeRDP initialization process
2020-01-18 06:13:45 -05:00
Michael Jumper
2c6be5afd1
GUACAMOLE-928: Keep all build artifacts of Docker image within /usr/local/guacamole, including FreeRDP plugins.
2020-01-17 16:15:31 -08: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
Virtually Nick
39defa27fa
GUACAMOLE-249: Merge automatically determine correct location for FreeRDP plugins.
2020-01-16 15:04:45 -05:00
Michael Jumper
be5cdf52c1
GUACAMOLE-249: Allow detected FreeRDP plugin directory to be overridden with --with-freerdp-plugin-dir.
2020-01-16 11:57:14 -08:00
Michael Jumper
37dceed8ec
GUACAMOLE-249: Automatically determine correct location for FreeRDP plugins.
2020-01-15 21:55:27 -08:00
Virtually Nick
3e22526ad9
GUACAMOLE-249: Merge migrate to FreeRDP 2.x
2020-01-14 14:21:26 -05:00
Michael Jumper
99b00a8cc0
GUACAMOLE-249: Add -Werror to CPPFLAGS for FreeRDP tests to ensure tests fail when pointers are incompatible.
2020-01-13 18:17:56 -08:00
Michael Jumper
de3300ed89
GUACAMOLE-249: Preserve CPPFLAGS such that modifications needed for FreeRDP tests affect only FreeRDP tests.
2020-01-13 18:17:32 -08: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
e9670df145
GUACAMOLE-249: Correct typo: "updating" should be "update".
2020-01-11 20:19:51 -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
Michael Jumper
dc8c60f30f
GUACAMOLE-249: freerdp_channels_data() is already the default value of ReceiveChannelData.
2020-01-06 13:22:24 -08:00
Michael Jumper
80988cd6f4
GUACAMOLE-249: Provide SetNull and SetDefault implementations for rdpPointer.
2020-01-06 13:09:51 -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
0677a9ae4d
GUACAMOLE-249: Common surface should still pay attention to dirty flag, regardless of the new special case for unrealized surfaces.
2020-01-06 11:18:10 -08:00
Michael Jumper
a54a12362c
GUACAMOLE-249: Use ReadColor() / WriteColor() around FreeRDPConvertColor().
...
The latter expects color input to be in an intermediate representation
resulting from using ReadColor(), and produces color output which cannot
be used until converted back with WriteColor().
2020-01-06 11:04:44 -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
9855d875c7
GUACAMOLE-249: Remove handlers for PatBlt and OpaqueRect. FreeRDP will not invoke these if the corresponding OrderSupport element is FALSE, thus they will never be called.
2020-01-04 11:53:11 -08:00
Michael Jumper
2bbc4bfbff
GUACAMOLE-249: Move keyboard-related source back to root of RDP (ease merge). Not truly needed as much as the rest of the restructure.
2020-01-04 11:50:08 -08:00
Michael Jumper
f57382f885
GUACAMOLE-249: Determine FreeRDP pixel format corresponding to local Cairo surfaces based on local platform endianness.
2020-01-04 01:11:12 -08:00
Michael Jumper
555973f6b0
GUACAMOLE-249: Remove unnecessary bitmap conversion - will happen automatically when FreeRDP invokes bitmap->Decompress().
2020-01-04 00:00:21 -08:00
Michael Jumper
902c5e1bd4
GUACAMOLE-249: Alpha component must be in highest-order byte.
2020-01-03 23:42:34 -08:00
Michael Jumper
1bc9384ea8
GUACAMOLE-249: Claim support only for RDP orders that are explicitly supported, independently of any FreeRDP defaults.
2020-01-03 17:29:16 -08:00