Michael Jumper
27e762d06f
GUACAMOLE-1283: Add synchronization around absolutely all outbound RDP messages.
...
The FreeRDP library is intended to be threadsafe, but is not reliably so
with respect to legacy RDP encryption and outbound messages. When
outbound messages are sent by multiple threads, the encryption key used
for legacy RDP encryption may not be updated correctly, resulting in a
fatal connection error like:
"ERRINFO_DECRYPT_FAILED (0x00001192):(a) Decryption using Standard RDP
Security mechanisms (section 5.3.6) failed. (b) Session key creation
using Standard RDP Security mechanisms (section 5.3.5) failed."
2021-04-08 15:43:15 -07:00
Michael Jumper
628f2fd815
GUACAMOLE-518: Ensure all keys are released even if the key pressed client-side is unknown except through dead keys.
2020-06-24 00:54:39 -07:00
Michael Jumper
3798d85bd1
GUACAMOLE-518: Count client-side pressed keys independently of server-side keys.
2020-06-24 00:54:39 -07:00
Michael Jumper
2407157d00
GUACAMOLE-518: Handle modifier status correctly when multiple modifier keys are involved.
2020-06-24 00:54:39 -07:00
Michael Jumper
337f3bbff2
GUACAMOLE-518: Map both Right Alt and AltGr to Windows' Right Alt.
...
Windows expects the Right Alt key to be sent for AltGr.
2020-06-23 22:05:18 -07:00
Michael Jumper
60944f1092
GUACAMOLE-518: Keep locally-tracked keyboard lock status in sync with remote changes to keyboard locks.
2020-06-23 11:11:19 -07:00
Michael Jumper
48b3d5038f
GUACAMOLE-518: Automatically release any automatically-pressed keys after user has released all keys on the client side.
2020-06-23 11:11:19 -07:00
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
ce0982fefd
GUACAMOLE-518: Track and update modifier states based on overall flags, not keysyms.
2020-06-21 21:05:43 -07: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
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
a63dcb46b2
GUACAMOLE-249: Rename and restructure RDP source files more sensibly.
2019-12-23 13:29:37 -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
053d9d420c
GUACAMOLE-352: Clean up keymap lookup/update logic for sake of verifiability.
2018-01-28 23:09:50 -08:00
Michael Jumper
9a5b5574a8
GUACAMOLE-352: Type using dead keys when necessary and possible.
2018-01-28 01:32:58 -08:00
Michael Jumper
5d56985479
GUACAMOLE-352: Add utility function for checking whether a keysym exists within the current RDP keyboard layout.
2018-01-28 00:56:24 -08:00
Michael Jumper
0c48096147
GUACAMOLE-51: Track and synchronize remote lock key state.
2016-08-16 20:00:24 -07:00
Michael Jumper
4f4f83f9a7
GUACAMOLE-51: Isolate sending of specific RDP events within own functions.
2016-08-16 19:54:08 -07:00
Michael Jumper
78a696a86f
GUACAMOLE-51: Abstract away RDP keyboard state tracking with dedicated guac_rdp_keyboard structure.
2016-08-13 18:14:04 -07:00