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
Virtually Nick
77f6168729
GUACAMOLE-928: Merge keep FreeRDP plugins of Docker image within /usr/local/guacamole
2020-01-18 06:15:23 -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
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
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
Michael Jumper
36f227586e
GUACAMOLE-249: Defer draws to unrealized (server-side) buffers until they are actually needed client-side.
...
Though deferred creation of buffers is already intended, creation was
not actually being deferred in practice as the act of initializing the
buffer with a solid rect of color was causing the buffer to be realized,
even if that initialization process is the only drawing operation that
will ever occur to that buffer.
2020-01-03 16:35:37 -08:00
Michael Jumper
2d4412316f
GUACAMOLE-249: Do not draw background for glyphs when "redundant" (transparent).
2020-01-01 20:33:46 -08:00
Michael Jumper
d7151e0d84
GUACAMOLE-249: Push FreeRDP settings in preconnect hander (OrderSupport is reset otherwise).
...
We set the values within the OrderSupport array to match which RDP
messages we have implemented within guac_rdp_push_settings(). This array
is reset to its default values prior to the preconnect handler being
invoked, thus guac_rdp_push_settings() MUST be invoked within the
preconnect handler for its settings to have the intended effect.
Without proper values within OrderSupport, the initial RDP negotiation
process will claim support for messages that we don't actually support,
resulting in graphical artifacts and unexpected behavior.
2019-12-31 16:23:39 -08:00
Michael Jumper
7ef1dcafba
GUACAMOLE-249: Convert absolutely all rdpBitmaps before attempting to draw.
2019-12-31 16:17:36 -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
8dda26af54
GUACAMOLE-249: Free rdpBitmap and rdpGlyph within custom free handlers (not automatically freed like rdpPointer).
2019-12-30 16:11:13 -08:00
Michael Jumper
0926864ecb
GUACAMOLE-249: Redirect FreeRDP log messages to debug level of guac_client_log().
2019-12-29 18:44:41 -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
36545cc92c
GUACAMOLE-249: Document absolutely all parameters and return types for RDP support.
2019-12-29 18:04:51 -08:00
Michael Jumper
a54c61e860
GUACAMOLE-249: Support for OpaqueRect MUST NOT be claimed without supporting PatBlt. OpaqueRect implies PatBlt and vice versa.
2019-12-28 19:36:43 -08:00
Michael Jumper
fbb759ab82
GUACAMOLE-249: Correct mismatched ifndef/define header include check.
2019-12-28 19:36:43 -08:00
Michael Jumper
ab05502494
GUACAMOLE-249: Correct missing/incorrect documentation for RDP callback parameters.
2019-12-28 19:36:43 -08:00
Michael Jumper
12febd5162
GUACAMOLE-249: Remove unused SEC_TO_UNIX_EPOCH constant.
2019-12-27 21:12:39 -08:00
Michael Jumper
6c239a7b98
GUACAMOLE-249: Use filesystem constants defined by FreeRDP and WinPR headers rather than defining our own.
2019-12-27 21:12:18 -08:00
Michael Jumper
598b86a4cf
GUACAMOLE-249: Correct @file annotations within Doxygen comments of renamed headers.
2019-12-27 20:55:06 -08:00
Michael Jumper
69831995cb
GUACAMOLE-249: Remove prototype for guac_rdp_bitmap_decompress(), which is no longer defined nor used.
2019-12-27 15:24:25 -08:00
Michael Jumper
47a1dcc82e
GUACAMOLE-249: Message flags of clipboard data response must be set to CB_RESPONSE_OK for data to be accepted.
2019-12-25 02:04:13 -08:00
Michael Jumper
0c7091198f
GUACAMOLE-249: Use correct start location of clipboard buffer (accidentally used pointer to end).
2019-12-25 02:03:23 -08:00
Michael Jumper
bced87cff9
GUACAMOLE-249: FreeRDP 2.0.0 requires the Clipboard Capabilities PDU to be manually sent.
2019-12-25 01:34:57 -08:00
Michael Jumper
024fc2a1f7
GUACAMOLE-249: Callbacks for "drdynvc" plugin should return CHANNEL_RC_OK, including entry point.
2019-12-23 19:26:49 -08:00
Michael Jumper
4752863b5b
GUACAMOLE-249: Remove now-unnecessary status.h FreeRDP compatibility header.
2019-12-23 13:35:32 -08:00
Michael Jumper
d7bbee35b0
GUACAMOLE-249: Reorganize includes to match code standard.
2019-12-23 13:32:36 -08:00
Michael Jumper
a63dcb46b2
GUACAMOLE-249: Rename and restructure RDP source files more sensibly.
2019-12-23 13:29:37 -08:00
Michael Jumper
827951dcf6
GUACAMOLE-249: Remove RDP constant definitions which are defined within FreeRDP headers.
2019-12-22 21:24:07 -08:00
Michael Jumper
875d51c1ed
GUACAMOLE-249: Dynamically wrap channel entry points (FreeRDP will refuse to associate the same entry point with multiple channels).
2019-12-22 20:34:30 -08:00
Michael Jumper
664586ea54
GUACAMOLE-249: VirtualChannelEntryEx entry point is supposed to accept a PCHANNEL_ENTRY_POINTS_EX.
2019-12-22 17:33:35 -08:00
Michael Jumper
4612e79b8d
GUACAMOLE-249: Remove "guacsnd" plugin in favor of leveraging common SVC implementation.
2019-12-22 14:29:01 -08:00
Michael Jumper
3255b182ab
GUACAMOLE-249: Remove "guacsvc" plugin in favor of leveraging common SVC implementation.
2019-12-22 14:07:01 -08:00
Michael Jumper
352b9c517c
GUACAMOLE-249: Add common SVC plugin implementation as future simplified basis for RDPSND, RDPDR, etc.
2019-12-22 13:36:35 -08:00
Michael Jumper
7b93b3d2e9
GUACAMOLE-249: Gradually reassemble received chunks of RDPSND data.
2019-12-21 22:51:43 -08:00
Michael Jumper
a7352b1429
GUACAMOLE-249: Remove lock around usage of FreeRDP (new library appears threadsafe).
2019-12-21 20:02:17 -08:00
Michael Jumper
ee4d91ea98
GUACAMOLE-249: Migrate RDPDR support to FreeRDP 2.0.0 plugin API.
2019-12-21 19:53:44 -08:00
Michael Jumper
68710a6702
GUACAMOLE-249: Migrate loading of RDPDR support (guacdr plugin) to abstract function.
2019-12-21 19:53:44 -08:00
Michael Jumper
6f2b124472
GUACAMOLE-249: Migrate RDPSND support to FreeRDP 2.0.0 plugin API.
2019-12-21 19:41:00 -08:00
Michael Jumper
0497a33ece
GUACAMOLE-249: Migrate loading of RDPSND support ("guacsnd" plugin) to abstract function.
2019-12-21 19:41:00 -08:00
Michael Jumper
f3cef7e2f0
GUACAMOLE-249: Add example for testing arbitrary SVC support.
2019-12-21 13:42:30 -08:00
Michael Jumper
233c0555c3
GUACAMOLE-249: Migrate SVC support to FreeRDP 2.0.0 plugin API.
2019-12-21 13:42:30 -08:00
Jukka-Pekka Virtanen
1822e59ac3
GUACAMOLE-901: Belgian French keymap
...
Add Belgian French keymap file and add it to build process. Keymap is
based on https://commons.wikimedia.org/wiki/File:Belgian_pc_keyboard.svg
2019-11-19 11:53:02 +02:00
Michael Jumper
fa0ad267b8
GUACAMOLE-249: Update Docker build to use FreeRDP 2.0.0.
2019-11-04 19:26:04 -08:00
Maxime Coste
199c2a0961
GUACAMOLE-871: Add support for hidden cursor (DECTECM)
2019-10-15 20:24:51 +11:00
Michael Jumper
77a32398e5
GUACAMOLE-249: Migrate to plugin naming style used by FreeRDP 2.0.0.
2019-10-14 14:13:19 -07:00
Michael Jumper
6dc8b57ca4
GUACAMOLE-249: Update RAIL (RemoteApp) support to FreeRDP 2.0.0 API.
2019-10-14 11:15:43 -07:00
Michael Jumper
07f6e6afc2
GUACAMOLE-249: Remove guac_rdp_dvc_list, relying instead on the DVC channel collection within rdpSettings.
2019-10-13 15:30:21 -07:00
Michael Jumper
eab07b4a61
GUACAMOLE-249: Add trace-level logging of received and sent CLIPRDR PDUs.
2019-10-13 14:28:06 -07:00
Michael Jumper
de493ba959
GUACAMOLE-249: Send Format List Response PDU after successfully processing a Format List PDU.
2019-10-13 14:28:06 -07:00
Michael Jumper
9dd1555c81
GUACAMOLE-249: Do not include CB_RESPONSE_OK flag in Format List PDU.
...
The CLIPRDR specification requires that the msgFlags field for the
Format List PDU be set to 0x0000. The function within FreeRDP overrides
this value to 0x0000, but it is still incorrect to attempt to set it.
2019-10-13 14:28:06 -07:00
Michael Jumper
8c7984d201
GUACAMOLE-249: Free GDI implementation. Do not allocate cache (unnecessary).
2019-10-13 14:28:06 -07:00
Michael Jumper
b64b8f375a
GUACAMOLE-249: Restore support for CLIPRDR channel.
2019-10-13 14:28:06 -07:00
Michael Jumper
831606a4e9
GUACAMOLE-249: Use pkg-config to determine location of FreeRDP headers.
2019-10-11 17:56:21 -07:00
Michael Jumper
cc7cd78e5b
GUACAMOLE-249: Centralize handling of connected channels.
2019-10-08 11:44:26 -07:00
Michael Jumper
16be3af03c
GUACAMOLE-249: Load FreeRDP plugins regardless of entry point interface.
...
Most plugins built into FreeRDP implement the PVIRTUALCHANNELENTRYEX
entry point, but the FreeRDP standard function for loading plugins only
supports PVIRTUALCHANNELENTRY. It appears that only the commandline
argument parser included with FreeRDP was updated to leverage the new
entry points.
2019-10-06 14:44:26 -07:00
Michael Jumper
b89ed7ff15
GUACAMOLE-249: Migrate wait mechanism to event handle interface.
2019-10-06 14:32:12 -07:00
Michael Jumper
17045d5d3a
GUACAMOLE-249: Use reversed byte order for colors locally (verification needed).
2019-09-29 16:08:27 -07:00
Michael Jumper
7904d9c002
GUACAMOLE-249: Initialize FreeRDP's GDI implementation (default GDI handlers will otherwise fail).
2019-09-29 15:44:34 -07:00
Michael Jumper
7a7ffc2c19
GUACAMOLE-249: Add missing pixel format parameter to pointer image copy.
2019-09-29 15:44:34 -07:00
Michael Jumper
65fe6c9735
GUACAMOLE-249: Correct incorrect syntax introduced by initial partial migration (commit a5b62aa82
).
2019-09-29 15:44:34 -07:00
Michael Jumper
c311d8bde9
GUACAMOLE-249: Rely on default bitmap/GDI/pointer handlers for all but those that must be overridden.
2019-09-29 15:44:34 -07:00
Michael Jumper
1e692094be
GUACAMOLE-249: Correct remaining void returns from BOOL handlers.
2019-09-29 15:44:34 -07:00
Michael Jumper
7332e633dc
GUACAMOLE-249: Add "nla-ext" option for extended NLA mode.
2019-09-29 15:44:34 -07:00
Michael Jumper
2ed0d042a3
GUACAMOLE-249: Default to negotiated security mode, not old "RDP" encryption.
2019-09-29 14:34:05 -07:00
Michael Jumper
a76e307176
GUACAMOLE-249: RDP "DisableEncryption" settings flag has been inverted and renamed to "UseRdpSecurityLayer".
2019-09-29 14:25:47 -07:00
Michael Jumper
6886665f65
GUACAMOLE-249: Comment out usage of old event interface.
2019-09-29 14:15:41 -07:00
Michael Jumper
703ce5c223
GUACAMOLE-249: Remove usage of old FreeRDP channels interface.
2019-09-29 14:15:13 -07:00
Michael Jumper
ad7ab67571
GUACAMOLE-249: The freerdp/gdi/gdi.h header is required to access contents of rdpGdi struct.
2019-09-22 14:58:23 -07:00
Michael Jumper
9fa9adbd58
GUACAMOLE-249: Migrate to libwinpr "CF_*" constants for clipboard formats.
...
The "CB_FORMAT_*" constants which used to be defined by FreeRDP no
longer exist.
2019-09-22 14:58:23 -07:00
Michael Jumper
3b560044bc
GUACAMOLE-249: Correct prototype of certificate verification callback. If accepting the certificate, request that FreeRDP not store it.
2019-09-22 14:49:30 -07:00
Michael Jumper
82664b4e6b
GUACAMOLE-249: Correct prototypes of GDI handlers.
2019-09-22 14:49:30 -07:00
Michael Jumper
fbfbaff540
GUACAMOLE-249: Correct prototypes of pointer handlers.
2019-09-22 14:49:30 -07:00
Michael Jumper
e4a68d776f
GUACAMOLE-249: Correct prototypes of glyph handlers.
2019-09-22 14:49:30 -07:00
Michael Jumper
9b08a716d6
GUACAMOLE-249: Comment out remaining usage of SVC.
2019-09-22 14:49:03 -07:00
Michael Jumper
554251cc72
GUACAMOLE-249: Remove usage of CLRCONV.
2019-09-22 14:49:00 -07:00
Michael Jumper
17d31d94b7
GUACAMOLE-249: Remove all legacy FreeRDP compatibility.
2019-09-22 14:48:56 -07:00
Michael Jumper
a5b62aa82e
GUACAMOLE-249: Migrate to newer API (partial).
2019-09-22 14:48:26 -07:00
Mike Jumper
b181026e58
GUACAMOLE-861: Merge correction to RDPDR filesystem timestamp conversion.
2019-08-22 10:25:55 -07:00
unknown
4cc9c2d3e1
GUACAMOLE-861: Fixes WINDOWS_TIME calculation
...
This fixes the UNIX time to FILETIME conversion in WINDOWS_TIME macro,
according to MSDN (addition instead of subtraction).
2019-08-21 23:05:45 +03:00
Virtually Nick
f34be230aa
GUACAMOLE-859: Merge correct Caps Lock keysym sent via RDP
2019-08-13 21:11:46 -04:00
Weston Thayer
a189c9ab8a
GUACAMOLE-859: Remove +ext from Caps Lock keymapping.
...
When connected with a Guacamole RDP session, the keysym for Caps Lock (0xffe5) is sent over RDP as scancode 0xe03a. Windows does not understand this scancode, thus does not generate the correct VK (Virtual Key) events. Removing +ext from the keymap sends the scancode 0x003a, which is correctly recognized by Windows as Caps Lock. This enables Windows applications to listen for key down and key up events on the Caps Lock key while connected via a Guacamole RDP session.
Note: this issue likely went un-noticed for a long time because it only impacts the key up and down events for the Caps Lock key, not Caps Lock's effect on sending uppercase [A-Z] characters.
2019-08-13 21:00:26 -04:00
Nick Couchman
7ac840090e
GUACAMOLE-514: Slight correction to debug message.
2019-08-12 19:45:45 -04:00
Nick Couchman
61d12f1668
GUACAMOLE-514: VNC client should abort on credential error.
2019-08-09 13:08:36 -04:00
Nick Couchman
f21621e677
GUACAMOLE-514: Remove x509 support.
2019-08-09 13:05:40 -04:00
Nick Couchman
88425160ae
GUACAMOLE-514: Write x509 authentication factors to temp files.
2019-08-09 13:05:40 -04:00
Nick Couchman
b9001f4ec7
GUACAMOLE-514: Add missing parameter tag.
2019-08-09 13:05:40 -04:00
Nick Couchman
4329739d3e
GUACAMOLE-514: Remove CRL check flag.
2019-08-09 13:05:40 -04:00
Nick Couchman
90d55956d0
GUACAMOLE-514: use correct client in log call.
2019-08-09 13:05:40 -04:00
Nick Couchman
51ae8a41a1
GUACAMOLE-514: Add guacd support for extended VNC credentials.
2019-08-09 13:05:40 -04:00
Nick Couchman
f962eab27a
Merge 1.1.0 changes back to master.
2019-08-09 13:01:54 -04:00
Michael Jumper
43269920db
GUACAMOLE-630: Clarify usage of argv-related guac_user_callback implementations.
2019-08-07 20:16:01 -07:00
Michael Jumper
f56df8b8be
GUACAMOLE-630: Automatically send current color scheme and font to users joining SSH, telnet, and Kubernetes connections.
2019-08-04 12:52:00 -07:00
Michael Jumper
ccfcfb116d
GUACAMOLE-630: Persist details of color scheme and font changes.
2019-08-04 12:44:43 -07:00
Michael Jumper
4dabea37af
GUACAMOLE-630: Allow guac_terminal_parse_color_scheme() to dictate color scheme format.
2019-08-04 11:55:45 -07:00
Michael Jumper
0516d599cf
GUACAMOLE-630: Disallow NULL color schemes.
...
A color scheme string should always be provided, even if blank.
Disallowing NULL allows assumptions to be made which simplifies the
logic surrounding persisting provided configuration values.
2019-08-04 11:45:41 -07:00
Michael Jumper
b5191caddc
GUACAMOLE-630: Accept pre-defined color schemes in all cases, not just during terminal creation.
2019-08-04 11:37:42 -07:00
Michael Jumper
0c7898c55a
GUACAMOLE-630: Expose terminal font/color configuration changes to connected clients.
2019-08-03 19:53:07 -07:00
Nick Couchman
289ceac222
Merge 1.1.0 changes back to master.
2019-08-03 17:16:45 -04:00
Virtually Nick
e25f83d629
GUACAMOLE-623: Merge add support for adjusting terminal for Kubernetes via "argv".
2019-08-03 17:14:30 -04:00
Michael Jumper
e6835795f0
GUACAMOLE-623: Add support for setting terminal font for Kubernetes via "argv".
2019-08-03 14:04:30 -07:00
Nick Couchman
b6005cc8a0
Merge 1.1.0 changes back to master.
2019-07-31 12:39:32 -04:00
Michael Jumper
ca073db5b6
GUACAMOLE-629: Add convenience functions for immediately sending the current value of a connection parameter.
2019-07-30 14:05:50 -07:00
Michael Jumper
c3a295e9b7
GUACAMOLE-629: Add convenience function for automatically splitting data across a series of blob instructions.
2019-07-30 14:05:50 -07:00
Michael Jumper
c47aa0cea1
GUACAMOLE-629: Define constant for maximum blob size.
2019-07-30 13:34:24 -07:00
Michael Jumper
c1b8250300
GUACAMOLE-629: Move constants for Guacamole protocol to dedicated "*-constants.h" header.
2019-07-30 13:33:18 -07:00
Michael Jumper
a763d47bc7
GUACAMOLE-629: Add support for sending "argv" instructions from server to client.
2019-07-30 13:06:46 -07:00
Michael Jumper
a3101e9744
Merge 1.1.0 changes back to master.
2019-07-26 14:38:25 -07:00
Nick Couchman
26bb10a486
GUACAMOLE-422: Add empty handler and trace logging for nop instruction.
2019-07-23 14:29:50 -04:00
Frank Riley
87a5479ff8
GUACAMOLE-847: Fix severe memory leak when using audio with RDP
2019-07-20 06:14:36 -07:00
Mike Jumper
b4ef38c064
GUACAMOLE-837: Merge RDP support for Hungarian keyboards.
2019-07-11 21:20:08 -07:00
Nick Couchman
ce7bea66cf
Merge 1.1.0 changes back to master.
2019-07-11 09:10:26 -04:00
fgiuba
55add063c5
GUACAMOLE-547: Add missing space between brackets.
2019-07-11 13:37:03 +02:00
fgiuba
9228d2637a
GUACAMOLE-547: Do not ignore password from settings.
2019-07-11 13:37:03 +02:00
P-Zs
8f1826d3e4
GUACAMOLE-837: Update Makefile.am to reference the new Hungarian keymap file
2019-07-10 00:55:31 +02:00
P-Zs
badee3274b
GUACAMOLE-837: Add Hungarian RDP keymap file to code base
2019-07-10 00:55:31 +02:00
Michael Jumper
e149fd4f70
Merge 1.1.0 changes back to master.
2019-06-20 00:47:46 -07:00
Nick Couchman
1baa91f852
GUACAMOLE-547: Minor changes to function documentation.
2019-06-19 12:38:05 -04:00
Nick Couchman
22874e2388
GUACAMOLE-547: Document return value of credential handler.
2019-06-18 17:59:33 -04:00
Nick Couchman
3511991e2f
GUACAMOLE-547: Fixes for style and documentation.
2019-06-18 07:52:05 -04:00
Nick Couchman
9a51d513f2
GUACAMOLE-547: Provide documentation for the new callback function.
2019-06-18 07:37:02 -04:00
Nick Couchman
3d15454097
GUACAMOLE-547: Use a call-back function for getting the password.
2019-06-18 07:37:02 -04:00
Nick Couchman
4641da06ac
GUACAMOLE-547: Relocate NULL check and log when NONE succeeds.
2019-06-18 07:37:02 -04:00
Nick Couchman
b7dca0ed16
GUACAMOLE-547: Add support for SSH NONE authentication method.
2019-06-18 07:37:02 -04:00
Michael Jumper
a1c382c8ce
Merge 1.1.0 changes back to master.
2019-04-30 17:26:21 -07:00
Nick Couchman
bf741a46d6
GUACAMOLE-422: Minor style and debug changes.
2019-04-27 21:37:26 -04:00
Nick Couchman
93a240b8ad
GUACAMOLE-422: Add debugging and check argument count.
2019-04-24 22:21:18 -04:00
Mike Jumper
5e8f5eaa50
GUACAMOLE-296: Merge changes linking libwinpr / libwinpr-utils as needed.
2019-04-24 15:35:16 -07:00
Mike Jumper
fc68113d75
GUACAMOLE-414: Merge support for libvncclient's TLS threadsafety callbacks.
2019-04-24 15:29:32 -07:00
Nick Couchman
4b43de963e
GUACAMOLE-422: Break handshake out into separate function; NULL out timezone when not received.
2019-04-22 11:49:46 -04:00
Nick Couchman
588e0f194a
GUACAMOLE-422: Fix return documentation on opcode handler function.
2019-04-19 15:50:29 -04:00
Nick Couchman
ab12b2aa8e
GUACAMOLE-422: More substantial comment for protocol version; NULL out timezone at beginning of handshake.
2019-04-19 15:48:14 -04:00
Nick Couchman
98cb7ccf67
GUACAMOLE-422: Fix comment and style.
2019-04-17 15:12:46 -04:00
Nick Couchman
75c0deac1f
GUACAMOLE-422: Update comment style for consistency.
2019-04-17 15:03:27 -04:00
Nick Couchman
54f88531d4
GUACAMOLE-422: Try to avoid memory leaks with mimetypes.
2019-04-17 15:00:46 -04:00
Nick Couchman
340aef5362
GUACAMOLE-422: Update to remove first argument
2019-04-17 14:41:35 -04:00
Nick Couchman
379fce2d77
GUACAMOLE-422: Rename new opcode handler function.
2019-04-11 17:21:36 -04:00
Nick Couchman
c750b18f60
GUACAMOLE-422: Handle sending version internally.
2019-04-11 17:18:27 -04:00
Nick Couchman
2f57564f5d
GUACAMOLE-422: Remove duplicate code and migrate handshake to user handlers.
2019-04-11 17:18:27 -04:00
Nick Couchman
2b68925ec9
GUACAMOLE-422: Add protocol version as initial item passed back in args.
2019-04-11 17:18:27 -04:00
Nick Couchman
0ee47e0186
GUACAMOLE-422: Change handshake to ignore order of opcodes.
2019-04-11 17:18:27 -04:00
Nick Couchman
5480b288e8
GUACAMOLE-422: Remove NULL check for parser argv.
2019-04-11 17:18:27 -04:00
Nick Couchman
5caa8a25f7
GUACAMOLE-422: SSH parameter should use handshake for default.
2019-04-11 17:18:27 -04:00
Nick Couchman
6fae0b4b23
GUACAMOLE-422: Use timezone from handshake when parameter does not exist.
2019-04-11 17:18:27 -04:00
Nick Couchman
f70aa4939f
GUACAMOLE-422: Add client timezone to handshake.
2019-04-11 17:16:43 -04:00
Nick Couchman
cd3432e594
Merge 1.1.0 changes back to master.
2019-04-10 06:18:53 -04:00
Michael Jumper
0c25782036
GUACAMOLE-637: Add missing libguac include path to RDP and common-ssh tests.
2019-04-09 23:36:03 -07:00
James Muehlner
6dad6cd919
Merge 1.1.0 changes back to master.
2019-04-09 21:52:28 -07:00
James Muehlner
dd4c3968d1
GUACAMOLE-637: Merge migration to new libguac string functions.
2019-04-09 21:49:16 -07:00
m-khan-glyptodon
871f31353b
GUACAMOLE-764: Updated variable type for offsets to uint64_t to increase rdp write to a 64-bit addressable space
2019-04-08 15:27:58 -07:00
m-khan-glyptodon
2db7ffbaab
GUACAMOLE-764: Updated variable type for offsets to uint64_t to increase rdp read to a 64-bit addressable space
2019-04-08 15:00:59 -07:00