Commit Graph

1205 Commits

Author SHA1 Message Date
Michael Jumper
edbdd08476 GUACAMOLE-649: Allow SSH connection to continue despite failure to set LANG environment variable. 2018-11-08 19:29:32 -08:00
Michael Jumper
454682979e GUACAMOLE-649: Add support for setting LANG environment variable via SSH. 2018-11-04 21:20:47 -08:00
Michael Jumper
2f16eadb35 GUACAMOLE-630: Allow color scheme to be changed from webapp via argv streams. 2018-10-22 23:23:27 -07:00
Michael Jumper
6f49194640 Merge 1.0.0 changes back to master. 2018-10-16 09:05:37 -07:00
Nick Couchman
34c088882b GUACAMOLE-527: Correct issue with order of VNC SFTP settings. 2018-10-16 09:27:45 -04:00
Michael Jumper
d851f10a48 GUACAMOLE-353: Clarify applicability of ASF header when transcluded into generated build files. 2018-10-02 20:37:49 -07:00
Michael Jumper
7374b29364 GUACAMOLE-623: Start terminal once Kubernetes connection is ready (necessary since merge of GUACAMOLE-622). 2018-09-27 09:33:31 -07:00
Michael Jumper
9c593bde89 GUACAMOLE-623: Kill connection if libwebsockets is destroying the underlying WebSocket.
Older versions of libwebsockets will not necessarily invoke close events
under all circumstances, and will instead sometimes summarily destroy
the WebSocket. Thankfully there is another event for that, and newer
versions of libwebsockets continue to define that event. We can hook
into both to handle disconnect.
2018-09-26 22:31:25 -07:00
Michael Jumper
44d3433ea9 GUACAMOLE-623: Explicitly bypass certificate checks if requested.
For older versions of libwebsockets, simply requesting that OpenSSL
ignore the verification result is insufficient, as libwebsockets
manually checks and confirms the verification result, producing an error
in all but specific cases.
2018-09-26 22:01:46 -07:00
Michael Jumper
7ee624844a GUACAMOLE-623: Remove unnecessary initialization of pwsi.
The pwsi member was previously used to ensure the lws structure was made
available to invocations of the event callback early in the connection
lifecycle such that the underlyin guac_client could always be retrieved.
Since the migration to guac_kubernetes_lws_current_client, this is not
necessary, and isn't supported in older versions of libwebsockets
anyway.
2018-09-26 21:52:53 -07:00
Michael Jumper
b48a1b3a5d GUACAMOLE-623: Use libwebsockets' dummy callback only if defined. 2018-09-26 21:51:07 -07:00
Michael Jumper
d8618b0682 GUACAMOLE-623: Support older libwebsockets SSL initialization. 2018-09-26 21:50:19 -07:00
Michael Jumper
61df2956b3 GUACAMOLE-623: Clean up logging (libwebsockets adds newline characters). 2018-09-25 21:30:52 -07:00
Michael Jumper
83a531bc89 GUACAMOLE-623: Add support for SSL. 2018-09-25 21:30:52 -07:00
Michael Jumper
2e50573531 GUACAMOLE-623: Move I/O-related functions into separate files. 2018-09-25 21:30:52 -07:00
Michael Jumper
5e3aec6df2 GUACAMOLE-623: Add missing documentation for URL character test. 2018-09-25 21:30:51 -07:00
Michael Jumper
371eed1f93 GUACAMOLE-623: Add missin includes. Remove unnecessary includes. 2018-09-25 21:30:51 -07:00
Michael Jumper
c5f67a31dc GUACAMOLE-623: Add configure test for LWS_CALLBACK_CLIENT_CLOSED (only defined in recent libwebsockets and required if present). 2018-09-25 21:30:51 -07:00
Michael Jumper
ed56093888 GUACAMOLE-623: Generate Kubernetes API endpoint dynamically. 2018-09-25 21:30:51 -07:00
Michael Jumper
34f8f8b30d GUACAMOLE-623: Redirect libwebsockets logging to guacd's debug level log. 2018-09-25 21:30:51 -07:00
Michael Jumper
fe7edce569 GUACAMOLE-623: Add support for terminal resize. Redraw Kubernetes container upon connect. 2018-09-25 21:30:51 -07:00
Michael Jumper
b7c938c239 GUACAMOLE-623: Send typed data to Kubernetes via the STDIN channel. 2018-09-25 21:30:51 -07:00
Michael Jumper
f35517b3ff GUACAMOLE-623: Add outbound message buffer. 2018-09-25 21:30:51 -07:00
Michael Jumper
cbe593503f GUACAMOLE-623: Do not return -1 from libwebsockets callback. Doing so results in automatic cleanup of part of the context, resulting in a segfault when lws_context_destroy() is invoked. 2018-09-25 21:30:51 -07:00
Michael Jumper
f72877bf0d GUACAMOLE-623: Handle data received from Kubernetes. 2018-09-25 21:30:51 -07:00
Michael Jumper
7165fa949d GUACAMOLE-623: Stub out implementation of WebSocket client for Kubernetes. 2018-09-25 21:30:51 -07:00
Michael Jumper
519c90a887 GUACAMOLE-623: Default to unencrypted Kubernetes connections. 2018-09-25 21:30:51 -07:00
Michael Jumper
5bae422b29 GUACAMOLE-623: libwebsockets requires an integer port number. 2018-09-25 21:30:51 -07:00
Michael Jumper
b8bd0e4c6a GUACAMOLE-623: Add base skeleton for Kubernetes protocol support. 2018-09-25 21:30:51 -07:00
Nick Couchman
54fda21366 GUACAMOLE-622: Merge withold first terminal frame until connection is verified. 2018-09-21 20:26:47 -04:00
Michael Jumper
622a849bae GUACAMOLE-628: Correct RDP scancode mapping for right control key. 2018-09-21 16:25:11 -07:00
Michael Jumper
462d494ed8 GUACAMOLE-622: Match each line against all regexes. 2018-09-21 14:29:01 -07:00
Michael Jumper
442b1d5cc2 GUACAMOLE-622: Start terminal for telnet only after login status is known (if login success/failure detection enabled). 2018-09-21 14:29:01 -07:00
netromnetrom
5f8c6470ff
Update Makefile.am
Danish keyboard layout
2018-09-11 13:44:29 +02:00
netromnetrom
948d1bcac8
Create dk_dk_qwerty.keymap
Danish keyboard layout
2018-09-11 13:40:25 +02:00
Michael Jumper
286cbf32a7 GUACAMOLE-622: Ensure connection to guacd is kept alive even if the SSH daemon is taking its time responding. Lengthy connect times due to DNS verification, PAM, etc. are not uncommon. 2018-09-02 23:04:14 -07:00
Michael Jumper
4606607309 GUACAMOLE-622: Start terminal for SSH only after SSH connection succeeds. 2018-09-02 23:04:14 -07:00
Michael Jumper
0e6d549a40 GUACAMOLE-610: Allow scrollback size to be specified for SSH and telnet. 2018-08-18 11:12:55 -07:00
Nick Couchman
0062f61d67 Merge 1.0.0 changes back to master. 2018-07-31 08:12:30 -04:00
Michael Jumper
860a5fca8f GUACAMOLE-559: Maintain terminal clipboard at client level such that it is guaranteed to exist immediately after user connects. 2018-07-30 23:53:03 -07:00
Michael Jumper
f5b5ac7183 Merge 1.0.0 changes back to master. 2018-07-05 22:54:36 -07:00
Nick Couchman
5e942c9a67 GUACAMOLE-446: Valid default value for the filesystem name. 2018-07-03 23:23:38 -04:00
Nick Couchman
958fb4c8e0 GUACAMOLE-446: Pass through drive name to RDPDR stream. 2018-07-03 23:20:11 -04:00
Nick Couchman
cfcfe8866c GUACAMOLE-446: Add settings for drive name. 2018-07-03 22:59:30 -04:00
Michael Jumper
35237a4f88 Merge 1.0.0 changes back to master. 2018-07-03 19:32:36 -07:00
Michael Jumper
da1e078242 GUACAMOLE-445: Merge support for defining the RDP printer name. 2018-07-03 19:24:07 -07:00
Nick Couchman
a1ec5d9ad7 GUACAMOLE-445: Implement per-device announce stream, set it up with device initalization, and collect them all during the annonuce process. 2018-07-03 22:13:11 -04:00
Nick Couchman
e68fe81938 GUACAMOLE-445: Pass printer name from settings to RDP session. 2018-07-03 22:12:30 -04:00
Nick Couchman
b21f00c29d GUACAMOLE-445: Add settings for printer name. 2018-06-26 19:23:52 -04:00
Michael Jumper
67680bd2d5 Merge 1.0.0 changes back to master. 2018-06-25 17:27:10 -07:00
Nick Couchman
aec2be6da2 GUACAMOLE-527: Remove unnecessary includes. 2018-06-25 08:31:37 -04:00
Nick Couchman
2bebb96804 GUACAMOLE-527: Fix host key options in the protocol settings. 2018-06-25 08:31:37 -04:00
Nick Couchman
551598e0a4 GUACAMOLE-527: Use libssh2_knownhost_readline and remove host key type. 2018-06-25 08:31:37 -04:00
Nick Couchman
42044e4279 GUACAMOLE-527: Clean up memory and logging. 2018-06-25 08:31:37 -04:00
Nick Couchman
ec4315dfbe GUACAMOLE-527: Correct names of parameters coming from client. 2018-06-25 08:31:37 -04:00
Nick Couchman
9112c4f32f GUACAMOLE-527: Enable host key setting for SFTP connections. 2018-06-25 08:31:37 -04:00
Nick Couchman
0d82cd1e6c GUACAMOLE-527: Add host key and type settings. 2018-06-25 08:31:37 -04:00
Michael Jumper
b650bef139 GUACAMOLE-574: Redirect STDIN from pipe stream named "STDIN" for SSH and telnet. 2018-06-18 14:31:09 -07:00
Michael Jumper
81bba1b587 GUACAMOLE-470: Merge support for fully configurable terminal color palette. 2018-05-27 08:49:18 -07:00
Jim Chen
87df97317f GUACAMOLE-565: Add terminal-type parameter for SSH and Telnet.
Add a terminal-type parameter for SSH and Telnet connections, to specify
the terminal emulator type that is passed to programs. If not specified,
the default type of "linux" is used in keep with existing behavior.
2018-05-26 23:30:22 -04:00
Jim Chen
1bd537c350 GUACAMOLE-470: Support configurable colors in color-scheme parameter.
Add support for configuring individual colors in the color-scheme
parameter, by parsing the parameter content into name-value pairs.
Backward compatibility is preserved by translating previously supported
values into corresponding new values.
2018-05-26 23:18:27 -04:00
Michael Jumper
70b2b8a1bf GUACAMOLE-269: Merge support for overriding the character sequence sent for backspace for SSH/telnet. 2018-04-02 12:19:02 -07:00
Nick Couchman
dc1918b217 GUACAMOLE-269: Don't abort on ttymode issue, just log a warning. 2018-04-02 15:05:56 -04:00
Nick Couchman
7453bc8f44 GUACAMOLE-269: Clean up logging and comments, and simplify code. 2018-04-02 15:04:03 -04:00
Nick Couchman
b441181c18 GUACAMOLE-269: Remove unnecessary data structure and array size, and update comments. 2018-04-02 10:43:57 -04:00
Nick Couchman
ea946f2492 GUACAMOLE-269: Changes to initializing opcode array. 2018-04-02 09:10:11 -04:00
Nick Couchman
e16bfd7837 GAUCAMOLE-269: Memory effeciency updates. 2018-03-24 15:50:11 -04:00
Nick Couchman
11136f7d7b GUACAMOLE-269: More documentation updates. 2018-03-24 15:09:34 -04:00
Nick Couchman
86dde85b2d GUACAMOLE-269: Comment and spelling updates. 2018-03-24 14:53:22 -04:00
Nick Couchman
a27757682a GUACAMOLE-523: Add default value for client name. 2018-03-08 12:21:04 -05:00
Nick Couchman
b72bcafecd GUACAMOLE-523: Pass configured client name through for redirect messages. 2018-03-08 12:16:31 -05:00
Nick Couchman
45b832bfdc GUACAMOLE-269: Remove all dynamic allocation and simplify implementation. 2018-03-08 11:36:15 -05:00
Nick Couchman
dd7522bd9f GUACAMOLE-269: Get rid of dynamic allocation and properly free up data structures. 2018-03-08 10:48:22 -05:00
Nick Couchman
c3e1b2afef GUACAMOLE-269: Fix minor style issues and update comments. 2018-03-08 10:48:22 -05:00
Nick Couchman
64ca77f3a5 GUACAMOLE-269: Change struct to struct pointer. 2018-03-08 10:48:22 -05:00
Nick Couchman
c286668b79 GUACAMOLE-269: Name functions per Guacamole standards. 2018-03-08 10:48:22 -05:00
Nick Couchman
9bd28321e5 GUACAMOLE-269: Fix up style in comments. 2018-03-08 10:48:21 -05:00
Nick Couchman
fd58d31eea GUACAMOLE-269: Use backspace config to set up tty modes. 2018-03-08 10:48:21 -05:00
Nick Couchman
46e908c06e GUACAMOLE-269: Allow backspace key to be configured. 2018-03-08 10:48:21 -05:00
Nick Couchman
2ace9385a2 GUACAMOLE-269: Add documentation for the defines and variables. 2018-03-08 10:48:21 -05:00
Nick Couchman
5583748b54 GUACAMOLE-269: Move constant declaration to ttymode.c 2018-03-08 10:48:21 -05:00
Nick Couchman
f1bf70a4a2 GUACAMOLE-269: Add basic support for sending TTY mode encoding. 2018-03-08 10:48:21 -05:00
Michael Jumper
5d37530687 GUACAMOLE-517: Add definition for "Print Screen" key to base RDP keymap. 2018-03-06 12:01:50 -08:00
Michael Jumper
bc5b01d4d8 GUACAMOLE-448: Merge support for configuring the level of caching used by RDP. 2018-02-22 00:39:31 -08:00
Nick Couchman
d239207f0f GUACAMOLE-448: Add support for configuring glyph caching. 2018-02-20 15:35:50 -05:00
Michael Jumper
02cd424d18 GUACAMOLE-502: Do not send connection name / hostname (which may be internal information). 2018-02-06 20:12:53 -08:00
Nick Couchman
4d7191147c GUACAMOLE-313: Merge add support for including key events within session recordings. 2018-02-02 16:16:42 -05:00
Nick Couchman
08f854ffef GUACAMOLE-313: Merge add support for logging mouse cursor information. 2018-01-30 14:05:39 -05: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
4fb17d5610 GUACAMOLE-313: Add flags for controlling the contents of session recordings. 2018-01-26 16:42:24 -08:00
Michael Jumper
876516a1fb GUACAMOLE-313: Add support for including key states within session recordings. 2018-01-26 16:42:14 -08:00
Michael Jumper
81a0e66d9f GUACAMOLE-313: Include current button state within mouse update for completeness. 2018-01-26 16:21:53 -08:00
Michael Jumper
df770ae4ea GUACAMOLE-313: Add support for including mouse location within session recordings. 2018-01-26 16:21:28 -08:00
Michael Jumper
b37e73488f GUACAMOLE-313: Provide reference to in-progress screen recording. 2018-01-26 16:21:24 -08:00
Michael Jumper
db85163e20 GUACAMOLE-384: Merge fix for potential segfault if SSH connection is closed while output is still being written to the terminal. 2018-01-23 14:44:47 -08:00
Michael Jumper
822a6c6b9d GUACAMOLE-484: Do not flush frame if connection closed mid-frame. 2018-01-22 12:24:07 -08:00
Michael Jumper
61c16a89d2 GUACAMOLE-484: Always clean up after orderly disconnect. 2018-01-22 12:23:39 -08:00
Michael Jumper
d562cb7648 GUACAMOLE-484: Ensure disconnect reason code is checked for orderly RDP disconnect. 2018-01-22 12:16:09 -08:00
csenel
93b3eebc5d
GUACAMOLE-481: Add Turkish Q keymap for RDP 2018-01-09 10:53:05 +03:00
Nick Couchman
66ffda24f0 GUACAMOLE-448: Add support for configuring bitmap caching. 2018-01-02 18:26:29 -05:00
Michael Jumper
2c12c12850 GUACAMOLE-424: Merge changes addressing potential NULL-pointer dereference in VNC user leave handler. 2017-11-15 07:05:21 -08:00
Michael Jumper
a75bca1e95 GUACAMOLE-273: Merge RDP support for Portuguese Brazilian keyboard. 2017-11-14 17:17:34 -08:00
Frode Langelo
fc599d2aec GUACAMOLE-273: Remove Mac remapping of €. 2017-11-14 20:04:49 +00:00
Michael Jumper
493fa4df16 GUACAMOLE-233: Merge RDP support for Spanish keyboards. 2017-11-14 10:56:28 -08:00
Frode Langelo
fc15850288 GUACAMOLE-233: Add Spanish keymap for RDP. 2017-11-13 22:57:21 +00:00
Frode Langelo
a8174eeac9 GUACAMOLE-273: Fix comment for remapping of €. 2017-11-13 22:52:39 +00:00
Frode Langelo
ed8a32f98b GUACAMOLE-273: Add Brazillian ABNT2 keymap for RDP. 2017-11-13 22:43:42 +00:00
Frode Langelo
625eee0caa GUACAMOLE-434: Add UK English keymap for RDP. 2017-11-13 22:26:29 +00:00
itsankoff
e139b20d12 GUACAMOLE-424: Remove check against NULL for display cursor 2017-11-13 14:51:31 +02:00
Michael Jumper
233f5e27e2 GUACAMOLE-296: Merge changes reverting explicit linking of libwinpr-utils. 2017-11-06 11:24:39 -08:00
Nick Couchman
b9f8e13d80 GUACAMOLE-296: Revert manual addition of winpr-utils library. 2017-11-06 12:20:56 -05:00
itsankoff
bbafa00df0 GUACAMOLE-424: Prevent null pointer dereference for vnc client display and cursor 2017-11-02 19:53:17 +02:00
sanhex
d33bd8deff GUACAMOLE-384: fixing segfault during ssh disconnect
Root Cause:
See the core dump and Valgrind report posted on Jira. guacd was reading a ssh terminal which had been freed. When a ssh connection is terminated, guac_ssh_client_free_handler() will be called from guacd_exec_proc() -> guac_client_free() with pointer client->free_handler. In guac_ssh_client_free_handler(), when ssh_client->term is freed, ssh_client->client_thread may still be using the ssh_client->term. It causes the crash reported in this bug.

The stack trace exposing the problem can be found by running guacd under Valgrind with a ssh test script. The test script repeats doing ssh login and logout for 5000 times.

Solution:
In guac_ssh_client_free_handler(), before calling guac_terminal_free(ssh_client->term), close the stdin pipe of the terminal to stop reading the pipe with guac_terminal_read_stdin() in ssh_input_thread(). So that ssh_input_thread() can be terminated in this case. Call pthread_join() to wait for ssh_client_thread() terminating before freeing the terminal.

Add a new function guac_terminal_stop() to close the pipe and set the fds to invalid (-1). Call it in guac_ssh_client_free_handler() and guac_terminal_free().

Checking the client running state in ssh_input_thread() and ssh_client_thread() to make sure they can be terminated when the client is stopped in guacd_exec_proc() by another thread.

Test:
- Confirmed ssh connection works normally.
- Observed the child process of guacd exits when ssh connection is terminated.
- Reran the ssh test script. Observed no crash.
2017-10-29 18:11:15 -07:00
itsankoff
15f6c4f3dc GUACAMOLE-424: Fix null pointer dereference for vnc client display 2017-10-24 20:21:03 +03:00
Michael Jumper
95be88be19 GUACAMOLE-296: Merge fix for linking issues with FreeRDP 1.1 and guacai (audio input). 2017-10-14 23:45:35 -07:00
Nick Couchman
caedf26a06 GUACAMOLE-296: Break out WINPR libs into their own variable. 2017-10-13 21:25:32 -04:00
David Fort
bb527f30f8 GUACAMOLE-402: fix out-of-tree build
Use $(srcdir) in places were it's needed, so that an out-of-tree build works.
2017-10-12 15:11:27 +02:00
sanhex
3c7a09f52b GUACAMOLE-400: Fix guacd crash when ssh key fails
Root Cause:
In the ssh library of guacd, function ssh_client_thread(), when guac_ssh_get_user() fails to load private key for ssh authentication, it will return NULL. In this case, the subsequent call to guac_common_ssh_create_session() with parameter 'user=0x0' will cause guacd crash in function guac_common_ssh_authenticate() by accessing 'user->username'.

Solution:
- Update the comment of function guac_ssh_get_user() to document that NULL will be returned if fails to import key for the user.
- In function ssh_client_thread(), verify the return of guac_ssh_get_user(). If ssh_client->user is NULL, return NULL.

Test:
- Configured a ssh app with an encrypted private key and a wrong passphrase.
- Ran the ssh app from web portal and observed guacd crash.
- Applied the fix and reran the ssh app. Observed no crash.
2017-09-29 11:04:48 -07:00
Ilya Shipitsin
fc071fd1af GUACAMOLE-383: resolve issues identified by cppcheck
[src/guacd/conf-file.c:206]: (error) Memory leak: conf
[src/protocols/rdp/rdp_cliprdr.c:205]: (error) Memory leak: output
[src/terminal/display.c:283]: (error) Memory leak: display
[src/terminal/display.c:290]: (error) Memory leak: display
2017-09-20 22:55:58 +05:00
Michael Jumper
7857dd0a9a GUACAMOLE-303: Ensure there is always space for the null terminator when normalizing. 2017-07-04 12:00:43 -07:00
Michael Jumper
d51e92eb31 GUACAMOLE-303: Add "sftp-root-directory" parameter to VNC, RDP, and SSH. 2017-06-29 15:48:23 -07:00
Michael Jumper
0474f86c46 GUACAMOLE-303: Extend common SFTP filesystem such that arbitrary directories can be used as the root of the filesystem. 2017-06-29 15:36:10 -07:00
Michael Jumper
e5a1b4d8ae GUACAMOLE-326: Explicitly deny attempted reads/writes to Windows named data streams (like "foo:Zone.identifier" for the file "foo"). 2017-06-26 14:40:32 -07:00
Nick Couchman
041fcc4651 GUACAMOLE-203: Change remaining instances of timer to timeout. 2017-06-25 05:13:22 -04:00
Nick Couchman
05dfb1a6ae GUACAMOLE-203: Deal correctly with negative keepalive values. 2017-06-25 05:10:22 -04:00
Nick Couchman
8c24c77d55 GUACAMOLE-203: Change timer to timeout 2017-06-14 13:00:30 -04:00
Nick Couchman
af4d762147 GUACAMOLE-203: Move warning about minimum alive interval to single place in common code. 2017-06-14 12:49:49 -04:00
Nick Couchman
89b9a905db GUACAMOLE-203: Tweak warning message sent to users. 2017-06-14 11:11:32 -04:00
Nick Couchman
df718395e8 GUACAMOLE-203: Change alive interval from int to unsigned. 2017-06-14 10:17:28 -04:00
Nick Couchman
193051dfd5 GUACAMOLE-203: Change parameter name for consistency 2017-06-14 08:40:07 -04:00
Nick Couchman
070bd25721 GUACAMOLE-203: if statement style tweak 2017-06-14 08:27:09 -04:00
Nick Couchman
03403e3ea5 GUACAMOLE-203: Correct implementation of SSH keepalive option for SFTP connections across all protocols. 2017-05-31 21:03:14 -04:00
Nick Couchman
e7fc8a0d98 GUACAMOLE-203: Expand SSH keepalives to cover SFTP connections for other protocols. 2017-05-31 21:03:09 -04:00
Nick Couchman
9993684205 GUACAMOLE-203: Warn user if they try to enter keepalive value < 2 seconds. 2017-05-31 21:03:06 -04:00
Nick Couchman
1e3d82cc63 GUACAMOLE-203: Update comment for keep alive interval. 2017-05-31 21:03:04 -04:00
Nick Couchman
f693b02e12 GUACAMOLE-203: Tighten up code, implement constant for socket poll timer. 2017-05-31 21:02:59 -04:00
Nick Couchman
75019f5e4b GUACAMOLE-203: Add a few more comments to code. 2017-05-31 21:02:53 -04:00
Nick Couchman
8ab7e56972 GUACAMOLE-203: Implement keepalive config in SSH connection. 2017-05-31 21:02:50 -04:00
Nick Couchman
f42f05aab7 GUACAMOLE-203: Add option entries for ServerAliveInterval. 2017-05-31 21:02:38 -04:00
Michael Jumper
8024f13458 GUACAMOLE-306: Do not attempt to send VNC events with a non-existent VNC client object. 2017-05-19 14:20:28 -07:00
James Muehlner
69caa9936b GUACAMOLE-40: Merge RD gateway support. 2017-04-20 21:36:44 -07:00
Michael Jumper
228874804e GUACAMOLE-268: Use 64-bit unsigned integers to represent file size internally (identical to RDPDR). 2017-04-17 11:52:07 -07:00
Michael Jumper
09099050cb GUACAMOLE-40: Set RD gateway and load balancing settings for FreeRDP where applicable. 2017-04-10 00:13:38 -07:00
Michael Jumper
da8636ef54 GUACAMOLE-40: Add and parse RD gateway connection parameters. 2017-04-09 23:58:11 -07:00
dborth
8833c0dd79 GUACAMOLE-262: set VNC trueColour flag to 1 instead of 255 2017-04-03 09:28:22 -06:00
Michael Jumper
61896e829c GUACAMOLE-257: Set VNC/SSH file upload handlers only if SFTP is enabled. 2017-03-28 10:48:38 -07:00
James Muehlner
c4903a8e36 Merge 0.9.12-incubating changes back to master. 2017-02-28 10:32:49 -08:00
Michael Jumper
3f7ccb6b9a GUACAMOLE-169: Move terminal headers to namespaced directory. 2017-02-27 14:34:46 -08:00
Michael Jumper
d371f2d9ee GUACAMOLE-169: Move common-ssh headers to namespaced directory. 2017-02-27 14:28:23 -08:00
Michael Jumper
fb8a2766da GUACAMOLE-194: Free SSH user for VNC+SFTP and RDP+SFTP only within client free. 2017-02-26 15:10:53 -08:00
Michael Jumper
c796787f25 GUACAMOLE-218: Reset internal RDPSND audio format counter whenever a new SNDC_FORMATS PDU is received. 2017-02-25 15:08:16 -08:00
James Muehlner
077cc84d27 GUACAMOLE-208: Merge new protocol status codes. 2017-02-15 21:52:36 -08:00
Michael Jumper
4f4643dd2f GUACAMOLE-208: Report network failures to connect with UPSTREAM_NOT_FOUND. 2017-02-15 21:40:00 -08:00
Michael Jumper
a78d52e615 GUACAMOLE-208: Handle RDP disconnect reason codes. 2017-02-15 21:23:46 -08:00
Michael Jumper
12cde5d520 GUACAMOLE-200: Clear reference to active job after the job has been freed. 2017-02-15 20:11:26 -08:00
Michael Jumper
7a4b737a3a GUACAMOLE-200: Document all parameters of guac_rdp_print_job_write(). 2017-02-15 19:59:50 -08:00
Michael Jumper
bf2a5885d0 GUACAMOLE-200: Move print job cleanup into main RDP client thread. 2017-02-14 00:09:24 -08:00
Michael Jumper
5a68f932d6 GUACAMOLE-200: Maintain print jobs at top level. Do not rely on proper free of RDPDR plugin. 2017-02-14 00:02:17 -08:00
Michael Jumper
1537e475af GUACAMOLE-200: Refactor RDPDR print job object to top-level. 2017-02-13 23:51:33 -08:00
Michael Jumper
17093a8149 GUACAMOLE-200: Kill any remaining print job when connection closes. 2017-02-13 23:08:54 -08:00
Michael Jumper
d23a22b7c6 GUACAMOLE-200: Clean up PostScript document title search logic. 2017-02-13 18:42:28 -08:00
Michael Jumper
3fc43fba37 GUACAMOLE-200: Refactor RDPDR printer such that the "ack" handler cannot block. 2017-02-13 18:42:28 -08:00
James Muehlner
d831a4b9df GUACAMOLE-188: Merge alpha component support for common surface. 2017-01-29 12:45:46 -08:00
James Muehlner
135514a0d2 GUACAMOLE-94: Merge move from readdir_r to readdir. 2017-01-29 12:30:24 -08:00
Michael Jumper
b9faca923b GUACAMOLE-135: Correct Swiss French mapping of "¬", "|", and "¢" (off by one key). 2017-01-28 14:55:38 -08:00
Michael Jumper
c79b303237 GUACAMOLE-135: Clean up spacing and alignment of Swiss French keymap. 2017-01-28 14:23:33 -08:00
Michael Jumper
c6f6bb67f0 GUACAMOLE-135: Swiss Franch dead umlaut should map from keysym 0xFE57. 2017-01-28 14:22:22 -08:00
Michael Jumper
fb298acdcd GUACAMOLE-135: Abbreviate Swiss French mapping range where possible. 2017-01-28 14:21:17 -08:00
Michael Jumper
86493dda93 GUACAMOLE-135: Remove duplicate scancode mappings from Swiss French keymap. 2017-01-28 14:19:52 -08:00
Cédric Marie-Marthe
941fd9659a GUACAMOLE-135: Add Swiss-French keymap for RDP. 2017-01-28 13:35:21 -08:00
Michael Jumper
dc6cae46ca GUACAMOLE-94: Use readdir() instead of readdir_r(). Multiple threads will not be accessing the same directory stream. 2017-01-28 00:11:59 -08:00
Michael Jumper
1a5f48961c GUACAMOLE-188: Allow alpha component to be set within common surface. 2017-01-27 16:51:45 -08:00
James Muehlner
5d5fbb4d45 GUACAMOLE-172: Merge lag calculation improvements. 2017-01-24 23:26:29 -08:00
Michael Jumper
48ebbe95ea GUACAMOLE-179: Move PulseAudio support into separate utility library. 2017-01-24 17:19:06 -08:00
Michael Jumper
234f98705e GUACAMOLE-172: Use frame start as end of previous frame (ignore server-side time). 2017-01-24 00:18:07 -08:00
Michael Jumper
f641d91b55 GUACAMOLE-172: Exclude server-side rendering time from next frame's required wait (if render times are consistent, then including that time will result in duplicate waiting: once within the render loop, and again when actually flushing the display). 2017-01-24 00:18:04 -08:00
Michael Jumper
eee928548d GUACAMOLE-169: Use proper namespace for internal common headers. 2017-01-23 23:26:26 -08:00
Michael Jumper
e5b3af8ffe GUACAMOLE-86: Remove terminal emulator's STDOUT pipe. Use pthread_cond_t to signal modification. 2017-01-16 00:02:30 -08:00
James Muehlner
574bec859a GUACAMOLE-119: Merge addition of missing liscense files and exclusion of generated source from source archive. 2016-11-13 10:52:16 -08:00
Michael Jumper
8fc4cc928d GUACAMOLE-119: Do not include generated sources in source tarball. 2016-11-12 18:56:18 -08:00
Michael Jumper
c12e26404a GUACAMOLE-118: Use poll() when waiting for data from RDP. Reformat for sake of readability/verification. 2016-11-11 13:45:01 -08:00
Michael Jumper
2421fc2f11 GUACAMOLE-118: Use poll() when waiting for data from SSH. 2016-11-11 13:16:57 -08:00
Michael Jumper
168359344e GUACAMOLE-118: Use poll() when waiting for data from Telnet. 2016-11-11 13:13:48 -08:00
Michael Jumper
bed38cec71 GUACAMOLE-117: Do not stop connection when the intent is to reconnect (originally broken by commit a64c3e0). 2016-10-29 15:00:53 -07:00
Michael Jumper
996f1a8ec2 GUACAMOLE-51: Require shift released and numlock active for keypad numerals. 2016-08-16 20:00:24 -07:00
Michael Jumper
69ab054323 GUACAMOLE-51: Support -num and +num option (require clear/set numlock) in keymaps. 2016-08-16 20:00:24 -07: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
Michael Jumper
1ad99a312e GUACAMOLE-5: Add "read-only" parameter to RDP, SSH, and telnet (per-user, just like VNC). 2016-07-24 22:36:25 -07:00
Michael Jumper
59e66ddc77 GUACAMOLE-5: Handle VNC's "read-only" parameter on a per-user basis. 2016-07-24 22:36:25 -07:00
Michael Jumper
0641ccf601 GUACAMOLE-5: Store connection parameters at user level. Maintain reference to owner's connection parameters at client level. 2016-07-24 22:05:04 -07:00
Michael Jumper
69ddeeb06d GUACAMOLE-44: Refactor the RDPDR printer to synchronous operation. 2016-06-16 15:40:43 -07:00
Michael Jumper
c1fdbca62b GUACAMOLE-25: Avoid unnecessary allocation of temporary string for guac_rdp_ptr_to_string(). 2016-06-03 11:41:55 -07:00
Michael Jumper
402b039384 GUACAMOLE-25: Update documentation regarding loading of dynamic virtual channel plugins. 2016-06-01 22:06:17 -07:00
Michael Jumper
0d29694afc GUACAMOLE-25: Reset I/O counters upon end-of-stream. 2016-06-01 16:20:38 -07:00
Michael Jumper
0be04ea54d GUACAMOLE-25: Resample received audio as necessary. 2016-06-01 15:25:42 -07:00
Michael Jumper
1c2890b47c GUACAMOLE-25: Store PCM format expected by RDP server. 2016-05-26 10:39:33 -07:00
Michael Jumper
ad00cce0ad GUACAMOLE-25: Store audio format within common structure. 2016-05-25 14:38:22 -07:00
Michael Jumper
260d0cd340 GUACAMOLE-25: Remove STUB. 2016-05-25 13:50:29 -07:00
Michael Jumper
533a47f06d GUACAMOLE-25: Store input and output audio format. 2016-05-25 13:50:29 -07:00
Michael Jumper
320f564daf GUACAMOLE-25: Implement parsing of audio mimetypes. 2016-05-25 13:50:29 -07:00
Michael Jumper
8ccf61e6b1 GUACAMOLE-25: Support FreeRDP stable-1.0 and compatible. 2016-05-25 13:50:29 -07:00
Michael Jumper
f1d4393eb8 GUACAMOLE-25: Implement buffer attachment in Stream_New() and Stream_Free() compatibility functions. 2016-05-25 13:50:28 -07:00
Michael Jumper
1393358469 GUACAMOLE-25: Abstract DVC management away from FreeRDP for sake of API compatibility. 2016-05-25 13:50:28 -07:00
Michael Jumper
46bdf0692f GUACAMOLE-25: Delay sending of "ack" until RDP has opened the AUDIO_INPUT stream. Close audio stream with another "ack" when RDP has closed the AUDIO_INPUT stream. 2016-05-25 13:50:28 -07:00
Michael Jumper
166eba11b7 GUACAMOLE-25: Fix pointer update in audio input buffer transfer. 2016-05-25 13:50:28 -07:00
Michael Jumper
4e4dbd6a2d GUACAMOLE-25: Fix configure test for FreeRDP variations. 2016-05-25 13:50:28 -07:00
Michael Jumper
9d5871a3c8 GUACAMOLE-25: Buffer and send Data PDUs as necessary. 2016-05-25 13:50:28 -07:00
Michael Jumper
63cd2ce512 GUACAMOLE-25: Partially handle the Open PDU. 2016-05-25 13:50:28 -07:00
Michael Jumper
86806a3759 GUACAMOLE-25: Handle the server's Sound Formats PDU. 2016-05-25 13:50:28 -07:00
Michael Jumper
503ffb0d45 GUACAMOLE-25: Implement message processing. Stub handlers. 2016-05-25 13:50:28 -07:00
Michael Jumper
1088332376 GUACAMOLE-25: Add support for multiple versions of IWTSVirtualChannelCallback. 2016-05-25 13:50:28 -07:00
Michael Jumper
ac94fd4cd0 GUACAMOLE-25: Add stub callbacks for AUDIO_INPUT data handling. 2016-05-25 13:50:28 -07:00
Michael Jumper
9cd89e6580 GUACAMOLE-25: Allocate proper number of argument entries. 2016-05-25 13:50:28 -07:00
Michael Jumper
4fdcfebf25 GUACAMOLE-25: Set AudioCapture flag if audio input is enabled. 2016-05-25 13:50:28 -07:00
Michael Jumper
36cc9f492f GUACAMOLE-25: Convert guac_client pointer to/from a string for sake of FreeRDP's DVC API. 2016-05-25 13:50:28 -07:00
Michael Jumper
21ab9d765d GUACAMOLE-25: Add stub "guacai" plugin for AUDIO_INPUT channel support. 2016-05-25 13:50:28 -07:00
James Muehlner
ec93a2989f GUACAMOLE-33: Merge mouse duplication user disconnect fix. 2016-05-23 20:45:18 -07:00
James Muehlner
fa3565e617 Merge rdp performance flag fixes. 2016-05-23 20:43:36 -07:00
Michael Jumper
9ae667e6bc GUACAMOLE-35: Fix logic of desktop_composition flag. 2016-05-23 20:39:26 -07:00
Michael Jumper
82fd6a279b GUACAMOLE-33: Implement leave handlers for RDP, SSH, and telnet. 2016-05-23 13:58:30 -07:00
Michael Jumper
46b29edc5f GUACAMOLE-33: Actually use VNC's leave handler. 2016-05-23 13:58:30 -07:00
Michael Jumper
92e2f4e420 GUACAMOLE-33: Restore guac_common_cursor_remove_user() (reverts commit af7968e). 2016-05-23 13:58:30 -07:00
Michael Jumper
a64c3e0179 GUACAMOLE-34: Ensure guac_client_stop() or guac_client_abort() are called in ALL cases where the client thread terminates. 2016-05-23 13:58:01 -07:00
Michael Jumper
88b422987e GUACAMOLE-35: Ensure performance flag values are applied. 2016-05-23 13:55:37 -07:00
Michael Jumper
facc0a794e GUAC-1517: Only allocate one audio stream for RDP connection. 2016-03-31 14:25:31 -07:00
Michael Jumper
ba673c52b0 GUAC-1517: Only allocate filesystem objects once per Guacamole connection. Do not reallocate when RDP automatically reconnects due to resize. 2016-03-30 12:22:32 -07:00
Michael Jumper
5b4a02e8a5 GUACAMOLE-1: Relicense RDP keymaps and associated Perl script. 2016-03-28 20:39:45 -07:00
Michael Jumper
f4b8c70f79 GUACAMOLE-1: Relicense build/shell scripts. 2016-03-28 20:39:38 -07:00
Michael Jumper
4da3bef4ec GUACAMOLE-1: Relicense C files. 2016-03-28 20:39:19 -07:00
Michael Jumper
ecbb6fc6b3 GUAC-1164: Do not load "drdynvc" plugin unless actually needed. 2016-03-22 16:50:49 -07:00
Michael Jumper
1cb4325422 GUAC-1164: Init/uninit common SSH client only once. Do not touch display if RDP server is not connected. 2016-03-17 18:29:27 -07:00
Michael Jumper
0fb8a49e62 GUAC-1164: Do not send clipboard notification to RDP server if RDP server is not connected. 2016-03-17 18:06:23 -07:00
Michael Jumper
7c3d108e21 GUAC-1164: Duplicate strings which FreeRDP will free when it frees its settings structure. 2016-03-17 18:05:16 -07:00
Michael Jumper
0a4bfc95d1 GUAC-1164: Ensure audio stream and context are freed upon disconnect. 2016-03-17 17:30:32 -07:00
Michael Jumper
176ff96a26 GUAC-1164: Ensure elements of SVC names array are freed. 2016-03-17 15:54:15 -07:00
James Muehlner
55f5d1cca3 Merge pull request #129 from glyptodon/rdp-resize
GUAC-1164: Add parameter for automatically reconnecting when display changes
2016-03-16 21:37:06 -07:00
Michael Jumper
c336ce39e2 GUAC-1164: Document guac_rdp_handle_connection(). 2016-03-16 21:30:46 -07:00
Michael Jumper
db82c6fa02 GUAC-1164: Delay display resize relative to display manager creation or reconnect. 2016-03-16 15:27:24 -07:00
Michael Jumper
3997e44810 GUAC-1164: Do not load display update channel unless needed. 2016-03-16 15:02:13 -07:00
Michael Jumper
de78a6efed GUAC-1164: Reset request throttle after reconnect completed (prevent excessive reconnecting due to lengthy connects). 2016-03-16 14:56:14 -07:00
Michael Jumper
8d14118469 GUAC-1164: Add setting for specifying the resize method, if any. 2016-03-16 14:44:16 -07:00
Michael Jumper
0a5e57362e GUAC-236: Add missing plurals. 2016-03-16 10:45:11 -07:00
Michael Jumper
534d0e580e GUAC-236: Add missing documentation for screen recording parameters of VNC and RDP. 2016-03-16 10:26:10 -07:00
Michael Jumper
67a0a1fe46 GUAC-1164: Do not refer to disp member if it does not exist. 2016-03-15 22:11:06 -07:00
Michael Jumper
fc71dcadb0 GUAC-1164: Do not include disply update channel functionsn unless display update channel support is present. 2016-03-15 22:07:38 -07:00
Michael Jumper
81ebfbb5ca GUAC-1164: rdp_disp.[ch] must now be built in all cases. 2016-03-15 22:02:35 -07:00
Michael Jumper
4e2b90cc0a GUAC-1164: Conditionally build display update channel support. 2016-03-15 21:59:28 -07:00
Michael Jumper
fc40e9f14c GUAC-1164: Automatically reconnect when display size changes. 2016-03-15 21:48:56 -07:00
Michael Jumper
e3d1af1953 GUAC-236: Add screen recording support to telnet. 2016-03-14 20:26:31 -07:00
Michael Jumper
6fc208554d GUAC-236: Add session recording parameters to VNC, RDP, and SSH. 2016-03-14 20:22:02 -07:00
Michael Jumper
35746efca8 GUAC-1389: Document guac_telnet_compile_regex(). 2016-03-14 20:12:55 -07:00
Michael Jumper
9253d877a2 GUAC-1389: Do not handle input events until terminal exists. 2016-03-14 20:05:45 -07:00
Michael Jumper
4faf1829d2 GUAC-1389: Add screen sharing support to telnet. 2016-03-14 19:47:36 -07:00
Michael Jumper
3a4aec3708 GUAC-1389: Document parameters of SSH client thread. 2016-03-14 18:32:03 -07:00
Michael Jumper
fa43a94e02 GUAC-1389: Rely on API definition for handler. 2016-03-14 18:27:52 -07:00
Michael Jumper
075b7ffba9 GUAC-1389: Add screen sharing support to SSH. 2016-03-14 17:33:17 -07:00
Michael Jumper
1787683f1b GUAC-1389: Stretch RDP frames until client has caught up. Do same with VNC. Reduce frame timeout to 0 (essentially automatic now). 2016-03-08 18:12:43 -08:00
Michael Jumper
6f264f9c31 GUAC-1389: Include frame rendering time in lag calculations. Sleep only if necessary. 2016-03-08 16:21:47 -08:00
Michael Jumper
d4d2fe06d9 GUAC-1389: Document RDP frame start timeout. 2016-03-07 21:12:53 -08:00
Michael Jumper
fc5ad6c9cd GUAC-1389: Document static functions. 2016-03-07 16:40:05 -08:00
Michael Jumper
993e8583a6 GUAC-1389: Document enum for RDP args. 2016-03-07 15:42:50 -08:00
Michael Jumper
12f166c0fc GUAC-1389: Update comments to match latest standard. 2016-03-07 15:05:31 -08:00
Michael Jumper
5a6c16ab24 GUAC-1389: Document RDP channel data handler. 2016-03-07 13:10:12 -08:00
Michael Jumper
8ce5e1cab2 GUAC-1389: Correct input.h parameter documention with respect to standards. 2016-03-07 12:43:54 -08:00
Michael Jumper
5a9d68a896 GUAC-1389: Correct documentation surrounding RDPDR callback. 2016-03-07 12:40:53 -08:00
Michael Jumper
c95613f8b7 GUAC-1389: Reference client/user handler types directly. Do not redocument parameters. 2016-03-07 12:37:00 -08:00
Michael Jumper
2f58469f1b GUAC-1389: Do not attempt to free RDP client until client thread finishes. 2016-03-07 11:32:44 -08:00
Michael Jumper
51aaa193f2 GUAC-1389: Allocate sufficient memory for print job close message. 2016-03-07 11:32:44 -08:00
Michael Jumper
eadc3a91a9 GUAC-1389: Two clipboard formats should allocate two cells for said formats. 2016-03-07 11:32:44 -08:00
Michael Jumper
6764196527 GUAC-1389: "any" audio stream, not "an". 2016-03-07 11:32:44 -08:00
Michael Jumper
8ca77c1c78 GUAC-1389: Ensure users that join after a SVC has connected are alerted to its existence. 2016-03-07 11:32:44 -08:00
Michael Jumper
9191e264f8 GUAC-1389: Remove tracking of input pipe (there may be many). 2016-03-07 11:32:44 -08:00
Michael Jumper
d2ca12e88b GUAC-1389: Download only to owner if invoked via the special "Download" folder of the guac drive. 2016-03-07 11:32:44 -08:00
Michael Jumper
e573e59e83 GUAC-1389: Add screen sharing support to RDP. 2016-03-07 11:32:44 -08:00
Michael Jumper
432eb57b13 GUAC-1389: Remove guac_common_cursor_remove_user() - no longer needed. 2016-03-04 17:10:49 -08:00
Michael Jumper
5f83900ed8 GUAC-1389: Remove dated and incorrect "for now" wording. 2016-03-03 17:56:05 -08:00
Michael Jumper
7f0b0ab1ef GUAC-1389: Document the frame wait timeout (no magic numbers). 2016-03-03 17:39:09 -08:00
Michael Jumper
967affa883 GUAC-1389: guac_vnc_set_pixel_format() is not a callback. 2016-03-03 17:32:51 -08:00
Michael Jumper
551398ae53 GUAC-1389: remote_cursor flag should be a bool. 2016-03-03 17:29:20 -08:00
Michael Jumper
38f1e87334 GUAC-1389: Only free dest_host if repeater is available. 2016-03-03 13:06:31 -08:00
Michael Jumper
05e8bf3195 GUAC-1389: Document settings. Use macros to remove struct members if their settings are not applicable. 2016-03-03 12:58:46 -08:00
Michael Jumper
f6feec8c84 GUAC-1389: Document VNC connection and thread. 2016-03-03 12:36:11 -08:00
Michael Jumper
f5109fe34e GUAC-1389: Document logging functions. 2016-03-03 12:30:31 -08:00
Michael Jumper
c3584c8d04 GUAC-1389: Document graphical functions and handlers. 2016-03-03 12:27:59 -08:00
Michael Jumper
880553bf3e GUAC-1389: Document clipboard handler parameters. 2016-03-03 12:05:41 -08:00
Michael Jumper
58b545293f GUAC-1389: Use function types directly rather than re-documenting the parameters everywhere. 2016-03-03 12:03:47 -08:00
Michael Jumper
4c62b60f71 GUAC-1389: Document VNC password retrieval. 2016-03-03 11:58:21 -08:00
Michael Jumper
d484a98876 GUAC-1389: Add screen sharing support to VNC. 2016-03-03 11:22:32 -08:00
Michael Jumper
d0be90e711 GUAC-1410: Fix keymap ordering in Makefile.am. 2016-02-01 14:48:39 -08:00
Mike Jumper
bef52c9496 Merge pull request #98 from moriyoshi/moriyoshi/ja-jp-keymap
GUAC-1410: Add ja-jp keymap
2016-02-01 14:47:46 -08:00
Michael Jumper
4661f432f0 GUAC-1452: Parse and handle typescript parameters within SSH and telnet. 2016-01-27 12:43:53 -08:00
Michael Jumper
ad34aa99b4 GUAC-1452: Add typescript parameters for SSH/telnet. 2016-01-25 13:12:24 -08:00
Moriyoshi Koizumi
d42ac5aca6 GUAC-1410: Add ja-jp keymap 2016-01-19 17:08:34 +09:00
James Muehlner
7e78ac1eb9 Merge pull request #97 from glyptodon/hyper-v
GUAC-363: Add support for the RDP preconnection PDU (and thus Hyper-V)
2015-11-03 20:14:26 -08:00
Michael Jumper
5d608b3500 GUAC-363: Warn of invalid preconnection IDs. 2015-11-03 15:41:28 -08:00
Michael Jumper
b47cff044e GUAC-363: Set preconnection BLOB and ID if supported by FreeRDP and specified within connection parameters. 2015-11-03 13:36:58 -08:00
Michael Jumper
7fdbc45575 GUAC-1196: The close handler should do nothing - it is not a stub. 2015-11-02 17:18:30 -08:00
Michael Jumper
63f3652c54 GUAC-1196: Document RDPSND message handlers. 2015-11-02 17:15:35 -08:00
Michael Jumper
c3e2754ec4 GUAC-1196: Load RDPSND if RDPDR is loaded, but do not actually handle audio unless enabled. 2015-11-02 16:54:37 -08:00
Michael Jumper
0dddf47af0 GUAC-1196: Use guac_client to access guac_audio_stream rather than storing the audio stream directly. 2015-11-02 15:55:52 -08:00
Michael Jumper
e8b98abfc4 GUAC-1038: Add support for running specific commands via SSH (instead of a shell). 2015-10-19 15:58:44 -07:00
Michael Jumper
7cf2005f5b GUAC-1354: Replace WAVE encoder with raw PCM encoder. Partially migrate to new audio streaming (Ogg not yet migrated). 2015-10-02 17:16:47 -07:00
Mike Jumper
24cbf72388 Merge pull request #74 from flangelo/num_keypad_map
GUAC-1314: Add mapping of numeric keypad operators to the base RDP keymap.
2015-09-20 14:22:06 -07:00
Michael Jumper
4e97843ef0 Merge branch 'master' into experimental
Conflicts:
	src/common/guac_surface.c
2015-09-14 14:19:54 -07:00
Michael Jumper
afb671c594 GUAC-427: Ensure socket is flushed when audio buffer is flushed. 2015-09-04 18:58:21 -07:00
Michael Jumper
927ceb99dd GUAC-427: Fix const-ness of pointer. 2015-09-04 13:47:21 -07:00
Michael Jumper
47b060d6eb GUAC-427: Avoid sending silence received from PulseAudio. 2015-09-04 13:40:51 -07:00
Michael Jumper
08cadba16d GUAC-240: Remove guac_protocol_send_png() and guac_protocol_send_jpeg(). 2015-09-04 12:59:00 -07:00
Michael Jumper
d07d8ba2d2 GUAC-240: Associate Guacamole client with surface. 2015-09-04 12:58:13 -07:00
Frode Langelo
9fceb58444 GUAC-1314: Add mapping of numeric keypad operators to base RDP keymap 2015-09-03 15:52:37 +00:00
Michael Jumper
3bcb9863e7 GUAC-1296: Send IAC BRK when Pause, Break, or Ctrl+0 are pressed. 2015-08-23 16:21:50 -07:00
Michael Jumper
08cfde7678 GUAC-1296: Stub Pause / Break / Ctrl+0 key handling within telnet client. 2015-08-23 16:10:51 -07:00
Frode Langelo
9edf33da2e GUAC-1290: Change GUAC_VNC_FRAME_TIMEOUT to 10 so more VNC messages are handled in each frame. 2015-08-13 16:38:54 -07:00
Michael Jumper
78b7b73e78 GUAC-240: Remove guac_protocol_send_png() and guac_protocol_send_jpeg(). 2015-08-13 16:38:54 -07:00
Michael Jumper
859f7d9340 GUAC-240: Associate Guacamole client with surface. 2015-08-13 16:38:53 -07:00
Michael Jumper
8ff071bf04 Fix botched merge conflict resolution. 2015-08-13 16:38:28 -07:00
Michael Jumper
48bbc6a898 Merge branch 'testing-common-ssh'
Conflicts:
	src/protocols/rdp/client.c
2015-08-13 16:29:22 -07:00
Michael Jumper
d85ed5f85f GUAC-1292: Use "sftp-directory" for default upload directory, if specified, for both VNC and RDP. 2015-08-13 16:21:15 -07:00
Michael Jumper
677c3ce6e8 GUAC-1195: Add "color-scheme" parameter to SSH and telnet. 2015-07-28 16:46:32 -07:00
Michael Jumper
fa443249c9 GUAC-1195: Use color scheme constants and names. 2015-07-28 16:43:23 -07:00
Michael Jumper
b2c2779465 GUAC-1195: Define and use color constants for terminal. 2015-07-28 16:20:14 -07:00
Michael Jumper
029b3bdb80 GUAC-1195: Configure default foreground/background when terminal is created. 2015-07-28 15:59:20 -07:00
Michael Jumper
e8e39fd862 GUAC-515: Add missing include required by mkdir(). 2015-07-28 14:40:35 -07:00
Michael Jumper
736ec7da23 GUAC-515: Clarify comments and formatting. Use simpler mkdir() logic. 2015-07-28 14:36:08 -07:00
Daryl Borth
52084f4f1f GUAC-515: Add new RDP setting, create-drive-path, to create the drive. 2015-07-28 14:26:27 -07:00
Michael Jumper
5e4c7de5c7 GUAC-298: Clarify function documentation and naming. Do not simply silently default to ISO8859-1 if encoding is invalid. 2015-07-27 18:19:50 -07:00
Michael Jumper
7bfd7ce0ca GUAC-298: Add missing comment. Update documentation style. 2015-07-27 17:51:03 -07:00
Michael Jumper
80a4d37173 Merge branch 'vnc_clipboard_encoding' of git://github.com/flangelo/guacamole-server into vnc-encoding
Conflicts:
	src/protocols/vnc/client.h
2015-07-27 17:47:26 -07:00
Michael Jumper
6f48ebe7fe GUAC-1264: Use proper parameter for SFTP password within RDP. 2015-07-24 13:55:10 -07:00
Michael Jumper
ec595b9cff GUAC-1264: Explicitly free users and sessions within VNC and RDP. 2015-07-24 13:55:05 -07:00
Michael Jumper
49beb7d7fd GUAC-1264: Require explicit free for users and sessions. Ensure SSH client data is zeroed upon allocation. 2015-07-24 13:20:36 -07:00
James Muehlner
da1f2f2ad3 Merge pull request #56 from glyptodon/clean-resources
GUAC-1171: Ensure user and session objects are automatically free'd, and that this is documented.
2015-07-14 11:06:04 -07:00
Michael Jumper
cdefe52c67 GUAC-1171: Ensure user and session objects are automatically free'd, and that this is documented. 2015-07-14 11:02:48 -07:00
Michael Jumper
df221e05be GUAC-1171: RDP settings values may be NULL, and should not be used as defaults if NULL. 2015-07-14 10:49:06 -07:00
Michael Jumper
4d941545cd GUAC-1171: Ensure directory names are null-terminated. 2015-07-12 22:27:02 -07:00
Michael Jumper
cc717f4112 GUAC-1171: Fix SFTP file upload comments. 2015-07-10 22:41:02 -07:00
Michael Jumper
b770800eda GUAC-1171: Only include common SSH library if enabled. 2015-07-10 22:26:37 -07:00
Michael Jumper
2e5a3606f3 GUAC-1171: Set up handler for "file" instruction for SFTP filesystem, if no other handler is more appropriate. 2015-07-10 22:13:01 -07:00
Michael Jumper
43a534c98b GUAC-1171: Add SFTP filesystem support to RDP. 2015-07-10 22:13:01 -07:00
Michael Jumper
1500e63050 GUAC-1171: Add SFTP filesystem support to VNC. 2015-07-10 22:13:01 -07:00
Michael Jumper
bfe4895408 GUAC-1171: Remove extra trailing spaces from parameter comments. 2015-07-10 21:01:17 -07:00
Michael Jumper
3d1d2ea334 GUAC-1171: Migrate to common SSH for SFTP transfers. 2015-07-10 17:21:58 -07:00
Michael Jumper
a6b46a0ea0 GUAC-1171: Add and document SFTP functionality within common SSH. 2015-07-10 17:21:27 -07:00
Michael Jumper
0fcea2738b GUAC-1171: Migrate to common SSH within client. 2015-07-10 12:46:11 -07:00
Michael Jumper
fbcf8a1e0d GUAC-1171: Move initialization of SSH, OpenSSL, etc. to common SSH base. 2015-07-09 12:02:31 -07:00
Michael Jumper
c199cfc8d7 GUAC-1171: Adopt cleaner style for Makefile.am. 2015-07-08 15:39:25 -07:00
Michael Jumper
77cde6ae4b GUAC-1171: Stub out common SSH client within build. 2015-07-08 14:55:18 -07:00
Frode Langelo
d309842055 GUAC-298: Add configuration option to allow for VNC clipboard text encoding override 2015-07-08 14:28:02 -07:00
Michael Jumper
5e76e11e6a GUAC-1172: Use FreeRDP to define STATUS_* constants, if possible, before falling back to the rest of rdp_status.h. 2015-07-06 00:43:21 -07:00
Michael Jumper
8a36358e94 GUAC-1172: Implement directory listing, file upload, and file download. 2015-07-06 00:43:21 -07:00
Michael Jumper
fef6cd212b GUAC-1172: Associate guac_object with RDP filesystem. 2015-07-06 00:43:21 -07:00
Michael Jumper
58621ca42b GUAC-1172: Move JSON functions to common. 2015-07-05 18:08:22 -07:00
Michael Jumper
ddbbcf032a GUAC-1172: Ensure empty directories are valid JSON. 2015-07-05 12:56:10 -07:00
Michael Jumper
054698a3ad GUAC-1172: Append. Do not appaned. 2015-07-01 11:11:07 -07:00
Michael Jumper
42c36f5b84 GUAC-1172: Properly store/free filesystem object. 2015-07-01 10:48:25 -07:00
Michael Jumper
0bbc958373 GUAC-1172: Implement file upload via filesystem object. 2015-07-01 10:48:25 -07:00
Michael Jumper
5fba93594d GUAC-1172: Implement directory listing and file download via filesystem object. 2015-07-01 10:48:25 -07:00
Michael Jumper
482b3a728c GUAC-1172: Simplify filename validation and manipulation. 2015-07-01 10:48:25 -07:00
Michael Jumper
29b76243b9 GUAC-835: Add support for all RDP performance flags. 2015-06-12 16:35:38 -07:00
Michael Jumper
be0e1d9b12 GUAC-346: Add support for specifying the client hostname. 2015-04-14 12:39:08 -07:00
Michael Jumper
5cb5be6923 GUAC-1056: Do not wait for messages if data is within the RFB client buffer. 2015-04-07 23:44:13 -07:00
Michael Jumper
2144aa4f8f GUAC-794: Add missing hash sign to Italian keymap. 2015-03-31 11:31:52 -07:00
Denis Bernacci
07859aba06 GUAC-794: Add Italian keymap. 2015-03-31 11:18:38 -07:00
Michael Jumper
001b8188e8 GUAC-1095: Free any existing bitmap data prior to overwriting the bitmap data pointer. 2015-02-23 20:36:33 -08:00
rvecchio
efe95748b7 GUAC-570 blank pages inside the generated PDFs 2015-02-09 10:03:05 +01:00
Michael Jumper
959a7a202d GUAC-994: Add support for interleaved_decompress() and planar_decompress() variants in FreeRDP 1.2.0-beta1+android9. Use working color conversion function (old one is present but will not work in 1.2.0). 2015-01-23 15:08:00 -08:00
Michael Jumper
5fe8917bdc GUAC-974: Log reason for auth key failures. Add debug logging. 2015-01-04 19:56:32 -08:00
Michael Jumper
0b0c2aae93 GUAC-974: Auth key failures should abort as UNAUTHORIZED. 2015-01-04 19:17:40 -08:00
Michael Jumper
a5715ae3e0 GUAC-949: Increase display update interval to 500 ms. 2014-12-06 17:32:03 -08:00
James Muehlner
82e26aaca2 Merge pull request #9 from glyptodon/rdp-aspect-ratio
GUAC-947: Maintain aspect ratio when size is adjusted.
2014-12-05 16:57:03 -08:00
Michael Jumper
37276c081b GUAC-947: Maintain aspect ratio when size is adjusted to conform with Display Update specs. 2014-12-05 15:30:51 -08:00
James Muehlner
955dba4498 Merge pull request #7 from glyptodon/swedish-keymap
GUAC-930 - Implement Swedish keymap
2014-12-04 20:49:18 -08:00
James Muehlner
cbab9e2efb Merge pull request #8 from glyptodon/fix-rdp-segfault
GUAC-945: Do not attempt to load drdynvc unless Display Update is in use.
2014-12-03 16:01:36 -08:00
Michael Jumper
ca0107ba54 GUAC-945: Do not attempt to load drdynvc unless Display Update is in use. The interface of drdynvc is too different in versions of FreeRDP lacking Display Update. 2014-12-03 15:43:39 -08:00
James Muehlner
7ef33e5901 Merge pull request #5 from glyptodon/resize-with-dpi
GUAC-936: Use initial resolution for all future resizing of display.
2014-12-01 11:23:43 -08:00
Michael Jumper
05d1b8864c GUAC-930: Add Swedish keymap. 2014-11-28 19:35:30 -08:00
Michael Jumper
6fc1699d86 GUAC-930: Log keysyms which are sent via Unicode. 2014-11-28 19:21:10 -08:00
Michael Jumper
4b53f9f3a6 GUAC-911: Expand logging within SSH and telnet. 2014-11-28 17:20:02 -08:00
Michael Jumper
6ea36b5a27 GUAC-936: Use initial resolution for all future resizing of display. Suggest reasonable resolution only if resolution of display is not provided/forced. 2014-11-26 15:35:22 -08:00
Michael Jumper
6cd161a02d GUAC-935: Document parameters of newly-added functions. 2014-11-25 22:53:22 -08:00
Michael Jumper
d85a18c24d GUAC-935: Add missing headers. Fix test for PubSub. 2014-11-25 22:11:43 -08:00
Michael Jumper
904fcfe75a GUAC-935: Only update display size if it's been longer than 250ms. 2014-11-25 02:20:54 -08:00
Michael Jumper
4cbb4001fc GUAC-865: Allow client-requested DPI to be overridden. 2014-11-21 16:45:47 -08:00
Michael Jumper
b812cc19a9 GUAC-865: Establish lock before sending size update. 2014-11-21 15:46:50 -08:00
Michael Jumper
2aec59dd23 GUAC-865: Do not log newline characters. 2014-11-21 14:25:05 -08:00
Michael Jumper
1fc80182a3 GUAC-865: rdpSettings may not have SupportDisplayControl, even if freerdp/client/disp.h is present. 2014-11-21 13:51:01 -08:00
Michael Jumper
a0e1e5f0c6 GUAC-865: Initial support for display update. 2014-11-21 13:30:24 -08:00
Michael Jumper
7064e12959 GUAC-852: Use rdpContext.codecs as a basis for determining whether FreeRDP uses _aligned_malloc() internally. 2014-11-20 21:41:38 -08:00
Michael Jumper
98195e606a GUAC-852: Abstract away color conversion. 2014-11-20 21:07:22 -08:00
Michael Jumper
f401597f10 GUAC-852: Use old bitmap_decompress if no codecs in context. Restore use of freerdp_image_flip. 2014-11-20 21:07:18 -08:00
Michael Jumper
7fae39b593 GUAC-852: Refactor bitmap_decompress within guac_rdp_bitmap_decompress. 2014-11-20 18:49:47 -08:00
Michael Jumper
7449543461 GUAC-852: Store raw ARGB32 palette internally, for future use in conversions. 2014-11-20 18:35:17 -08:00
Michael Jumper
3171da9e09 GUAC-852: Use freerdp_image_copy instead of freerdp_image_flip. 2014-11-20 18:01:58 -08:00
Michael Jumper
fc6758ffdf GUAC-852: Use freerdp_convert_gdi_order_color() for color conversion. 2014-11-20 18:01:05 -08:00
Michael Jumper
e2c28d9240 GUAC-852: Add bitmap_decompress implementation (partial stub - will not work with older FreeRDP). 2014-11-20 17:56:56 -08:00
Michael Jumper
f18d9ae831 GUAC-911: Replace old GUAC_RDP_DEBUG with calls to guac_client_log(). 2014-11-12 13:35:25 -08:00
Michael Jumper
c0eb7df97a GUAC-911: Log FreeRDP plugin load failures to warning level. 2014-11-12 12:02:38 -08:00
Michael Jumper
6081ce6fa4 GUAC-911: Greatly increase available values for guac_error. Remove use of guac_error by non-library code. 2014-11-09 22:59:53 -08:00
Michael Jumper
431fd2de6f GUAC-911: Add log levels. Refactor guac_client_log_*() into guac_client_log(). 2014-11-07 16:32:19 -08:00
Michael Jumper
0af6c7d22a GUAC-874: Load RDPDR and set device redirection if audio enabled. 2014-10-05 15:16:28 -07:00
Michael Jumper
3b8e2a5528 GUAC-874: Remove detection of FastPath settings. Rely on defaults. 2014-10-05 14:30:55 -07:00
Michael Jumper
b2ab26c727 GUAC-849: Check for presence of AudioPlayback setting in FreeRDP settings struct. 2014-10-04 20:26:01 -07:00
Michael Jumper
5bcd60b3ba GUAC-849: Set AudioPlayback flag if audio is enabled. 2014-10-04 19:47:11 -07:00
Michael Jumper
7b83b279d7 GUAC-659: Do not interpret AltGr as Right Alt. 2014-09-19 01:54:28 -07:00
Michael Jumper
2fa1468386 GUAC-779: Terminal channel mutex must exist before terminal channel. 2014-07-21 11:23:36 -07:00
Michael Jumper
be9c56f9a3 GUAC-779: Synchronize access to shared libssh2 handles. 2014-07-21 11:15:55 -07:00
Michael Jumper
d608b3a30b GUAC-780: Init OpenSSL for sake of threads. 2014-07-21 10:48:02 -07:00
Michael Jumper
98c6e6496d GUAC-780: Ensure libgcrypt is initialized for pthreads if used by libssh2. OpenSSL should be OK. 2014-07-21 10:27:39 -07:00
Michael Jumper
fd800e6dd7 GUAC-771: Ensure display surface is available during initial connection. 2014-07-21 09:12:17 -07:00
Michael Jumper
c7a65d08cb GUAC-707: Clean version check logic. 2014-07-20 21:31:32 -07:00
Felipe Weckx
8c1a152467 GUAC-707 support for latest FreeRDP release (1.2.0-beta1) 2014-07-17 13:13:21 -07:00
Michael Jumper
0adf16c501 GUAC-763: Fix typo in comment. 2014-07-17 13:06:01 -07:00
Michael Jumper
46faa7ab85 GUAC-493: Coding style changes. 2014-07-17 12:54:40 -07:00
Felipe Weckx
e543d9eeb5 GUAC-493 Add keyboard-interactive ssh authentication method 2014-07-17 12:51:35 -07:00
Michael Jumper
d5c0c611bf GUAC-763: Fix comments. Do not continue searching for username after password has been found. 2014-07-17 12:39:19 -07:00
Michael Jumper
1e5fbba64e GUAC-763: Do not send mouse during username search either. 2014-07-17 12:34:57 -07:00
Michael Jumper
b2c6bc488b GUAC-763: Remove stripping of non-printable chars. It will break UTF-8, and the signedness of line_buffer makes the comparisons questionable. 2014-07-17 12:33:46 -07:00
Michael Jumper
e01eb6fc10 GUAC-763: Minor fixes for style. Fix username/password regex. 2014-07-17 12:21:53 -07:00
Felipe Weckx
7784ebc8d3 GUAC-763: Adjust telnet login automation to accept a regex for the username parameter 2014-07-17 12:10:00 -07:00
Michael Jumper
8d99c35a86 GUAC-769: Ensure socket output is handled in a threadsafe manner. 2014-07-10 16:49:13 -07:00
Michael Jumper
8cc6c987a9 GUAC-716: Stop password search if user input is detected. 2014-06-17 12:28:53 -07:00
Michael Jumper
f357197f86 GUAC-716: Add password and password-regex parameters. Search for password prompt if password parameter specified. 2014-06-17 12:24:07 -07:00
Michael Jumper
ad34c254e0 GUAC-748: Add username parameter to telnet. Pass username via NEW-ENVIRONMENT telnet option. 2014-06-16 18:07:13 -07:00
Michael Jumper
adc15d50eb GUAC-730: Fix headers for VNC. 2014-06-11 11:15:35 -07:00
Michael Jumper
9c6770e016 GUAC-730: Fix headers for telnet. 2014-06-11 11:09:44 -07:00
Michael Jumper
48d1597418 GUAC-730: Fix headers for SSH. 2014-06-11 10:06:18 -07:00
Michael Jumper
1973f42f61 GUAC-730: Add missing rail headers to guac_handlers.c. 2014-06-10 19:37:06 -07:00
Michael Jumper
6f5991c504 GUAC-730: Fix headers for RDP. 2014-06-10 18:45:14 -07:00
Michael Jumper
8bc4864d9a GUAC-730: Add stddef.h to generated keymaps. Fix perl warning while we're at it. 2014-06-10 18:23:21 -07:00
Michael Jumper
c84a88d35a GUAC-718: Set locale (for sake of wcwidth()). Warn if locale does not use UTF-8. 2014-06-02 16:01:13 -07:00
Michael Jumper
3bd145a059 GUAC-678: Add missing OpenSSL init. 2014-05-27 12:34:05 -07:00
Michael Jumper
6a93033b97 GUAC-670: Reduce required version of Perl. 2014-05-20 17:01:07 -07:00
Michael Jumper
32474c1114 GUAC-675: Lengthen maximum frame duration. 2014-05-11 23:42:27 -07:00
Michael Jumper
7fc3fe1fdc GUAC-674: Queue and combine png updates. Lengthen RDP frame timeout to 10ms. 2014-05-09 15:39:00 -07:00
Michael Jumper
d42cd23f87 GUAC-654: Comment guac_handlers.h properly. 2014-05-07 21:29:36 -07:00
Michael Jumper
13e205a0e5 GUAC-654: Add missing comments to telnet_client.c 2014-05-07 21:19:15 -07:00
Michael Jumper
4a7e5609f5 GUAC-654: Implement local echo. 2014-05-07 15:30:48 -07:00
Michael Jumper
b87d99cc40 GUAC-654: Do NOT block indefinitely while waiting for socket to die. 2014-05-07 15:19:53 -07:00
Michael Jumper
6b33c8eeda GUAC-654: Fix namespace and style. 2014-05-07 14:36:49 -07:00
Michael Jumper
30a31d07cf GUAC-654: Add negotiation and handling of NAWS (window size). 2014-05-07 14:19:27 -07:00
Michael Jumper
a7d1dde24f GUAC-654: Implement simple telnet client. No screen resize yet. 2014-05-07 13:46:25 -07:00
Michael Jumper
7c08593b83 GUAC-653: Restore file upload for SSH. 2014-05-06 17:14:40 -07:00
Michael Jumper
0acd219a88 GUAC-653: Remove unneeded includes. 2014-05-06 16:45:36 -07:00
Michael Jumper
92f0d4b36b GUAC-653: Remove direct reference to internal terminal pipes. 2014-05-06 16:41:48 -07:00
Michael Jumper
470dc67c34 GUAC-653: Implement render_frame function. 2014-05-06 16:12:29 -07:00
Michael Jumper
f2781ed0cc GUAC-653: Move mouse and key handling into terminal. Move clipboard into terminal. 2014-05-05 19:02:41 -07:00