Commit Graph

1168 Commits

Author SHA1 Message Date
Nick Couchman
5881209f12 GUACAMOLE-221: Move keep-alives to protocol implementation and only send required instruction to owner. 2020-09-15 14:48:15 -04:00
Nick Couchman
51b9c9c103 GUACAMOLE-221: Remove manual addition of null terminator 2020-09-15 14:48:15 -04:00
Nick Couchman
4318083511 GUACAMOLE-221: Fix up style, comments, and variable names. 2020-09-15 14:48:15 -04:00
Nick Couchman
939d954810 GUACAMOLE-221: Extract array writing in protocol into common function and document. 2020-09-15 14:48:15 -04:00
Nick Couchman
76ef6332cc GUACAMOLE-221: Make lock, condition, and flags specific to credentials. 2020-09-15 14:48:15 -04:00
Nick Couchman
7369bed22c GUACAMOLE-221: Add support for sending multiple params in required. 2020-09-15 14:48:15 -04:00
Nick Couchman
21a5d9ee62 GUACAMOLE-221: Add protocol functions for sending prompt to client. 2020-09-15 14:48:15 -04:00
Yaroslav Nikonorov
7683a17d69 GUACAMOLE-1174: Added exec call implementation for kubernetes protocol 2020-09-10 19:59:03 +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
Virtually Nick
a2fb09021b
GUACAMOLE-221: Merge add convenience API for automatically handling received "argv" streams. 2020-07-08 08:30:47 -04:00
Michael Jumper
aa3a9cde6c GUACAMOLE-221: Migrate Kubernetes handling of "argv" to guac_argv_*() convenience API. 2020-07-06 18:19:08 -07:00
Michael Jumper
08a57d3375 GUACAMOLE-221: Migrate telnet handling of "argv" to guac_argv_*() convenience API. 2020-07-06 18:19:08 -07:00
Michael Jumper
2f6de25418 GUACAMOLE-221: Migrate SSH handling of "argv" to guac_argv_*() convenience API. 2020-07-06 18:19:08 -07:00
Nick Couchman
d35a97d28e GUACAMOLE-1122: Correct scope of settings variable for RDP user file handler." 2020-07-02 16:50:23 -04:00
Jimmy
264192fd25 GUACAMOLE-1114: Clean up print job mutex lock 2020-06-26 23:18:02 +03:00
Nick Couchman
79c6e5787d Merge staging/1.2.0 changes back to master. 2020-06-25 17:56:43 -04:00
Michael Jumper
7de6ba7ea9 GUACAMOLE-474: Do not allow RDPDR file downloads via "get" instructions if downloads are disabled. 2020-06-25 14:43:37 -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
f4ff5f337c GUACAMOLE-474: Enforce upload disable option at low level, warning if not blocked at higher level as expected. 2020-06-25 14:43:37 -07:00
Michael Jumper
d8c32b1e82 GUACAMOLE-474: Enforce download disable option at low level, warning if not blocked at higher level as expected. 2020-06-25 14:41:39 -07:00
Nick Couchman
025525f93a Merge staging/1.2.0 changes back to master. 2020-06-24 12:55:34 -04: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
7d17e6898a GUACAMOLE-518: Remove unused GUAC_KEYSYMS_* constants. 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
Nick Couchman
e8deeeae97 Merge staging/1.2.0 changes back to master. 2020-06-23 14:19:37 -04: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
a246403137 GUACAMOLE-518: Update German keymap to define behavior of Caps Lock.
On German keyboards, Caps Lock behaves like Shift, affects all
characters except dead keys, "°", "<", ">", "-", "_", and any keys
requiring AltGr, and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
3f375a4501 GUACAMOLE-518: Update Swiss German keymap to define behavior of Caps Lock.
On Swiss German keyboards, Caps Lock turns all letters uppercase and is
undone by Shift, except for letters which instead rely on Shift to
determine their identity (accented letters).

For example, the key directly to the right of "P" produces "ü" if no
modifiers or locks are active. With Shift pressed, the key changes
identity to "è", with the state of Caps Lock determining the case:

| Shift | Caps  | Result |
|-------|-------|--------|
|       |       | "ü"    |
|       |   X   | "Ü"    |
|   X   |       | "è"    |
|   X   |   X   | "È"    |

This goes for all accented characters in the Swiss German layout.
2020-06-23 11:11:19 -07:00
Michael Jumper
e8153f9002 GUACAMOLE-518: Update French keymap to define behavior of Caps Lock.
On French keyboards, Caps Lock behaves like Shift, affects all
characters including dead keys but excluding "<", ">", "²", and any keys
requiring AltGr, and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
568e037012 GUACAMOLE-518: Update Swiss French keymap to define behavior of Caps Lock.
On Swiss French keyboards, Caps Lock affects only non-accented letters
and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
31d05de72a GUACAMOLE-518: Update Belgian French keymap to define behavior of Caps Lock.
On Belgian French keyboards, Caps Lock behaves like Shift, affects all
characters including dead keys but excluding "<", ">", "²", "³", and any
keys requiring AltGr, and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
f884ab76b1 GUACAMOLE-518: Update Italian keymap to define behavior of Caps Lock.
On Italian keyboards, Caps Lock affects only non-accented letters and is
undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
1117cf052c GUACAMOLE-518: Update Turkish-Q keymap to define behavior of Caps Lock.
On Turkish-Q keyboards, Caps Lock affects only letters (including
accented letters) except for "é", and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
b69248048c GUACAMOLE-518: Update Swedish keymap to define behavior of Caps Lock.
On Swedish keyboards, Caps Lock affects only letters (including accented
letters) and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
38737a8353 GUACAMOLE-518: Update Brazilian Portuguese keymap to define behavior of Caps Lock.
On Brazilian Portuguese keyboards, Caps Lock affects only letters
(including accented letters) and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
5c1a2fc44c GUACAMOLE-518: Update Latin American keymap to define behavior of Caps Lock.
On Latin American keyboards, Caps Lock affects only letters (including
accented letters) and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
ba3d1de3bb GUACAMOLE-518: Update Spanish keymap to define behavior of Caps Lock.
On Spanish keyboards, Caps Lock affects only letters (including accented
letters) and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
2cec040b9e GUACAMOLE-518: Update Danish keymap to define behavior of Caps Lock.
On Danish keyboards, Caps Lock affects only letters (including accented
letters) and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
e9652becfd GUACAMOLE-518: Update Hungarian keymap to define behavior of Caps Lock.
On Hungarian keyboards, Caps Lock affects only letters (including
accented letters) except those requiring AltGr, and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
31a415cc59 GUACAMOLE-518: Update UK English keymap to define behavior of Caps Lock.
On UK English keyboards, Caps Lock affects only letters (including
accented letters) and is undone by Shift.
2020-06-23 11:11:19 -07:00
Michael Jumper
024e281252 GUACAMOLE-518: Update US English keymap to define behavior of Caps Lock.
On US English keyboards, Caps Lock affects only letters and is undone by
Shift.
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
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
f910d29083 GUACAMOLE-1031: Add call for RDP to pay attention to upload directory 2020-04-16 12:20:58 -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