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
5bb616832e
GUACAMOLE-527: Order SSH handshake correctly, and remove unnecessary logging.
2018-06-25 08:31:37 -04:00
Nick Couchman
c080569cac
GUACAMOLE-527: Fix issue with null host_key variable.
2018-06-25 08:31:37 -04:00
Nick Couchman
2f0c6dcfa3
GUACAMOLE-527: Add error logging for known host checks.
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
Nick Couchman
171bae1f5c
GUACAMOLE-527: Add basic check for known hosts file for SSH connections.
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
97593958e4
GUACAMOLE-574: Add support for reading STDIN from a pipe stream.
2018-06-18 14:31:09 -07:00
Nick Couchman
f3d9c2f610
GUACAMOLE-573: Merge allow selection of text while scrolling.
2018-06-18 09:32:18 -04:00
Michael Jumper
ecda5c1df9
GUACAMOLE-573: Read selection only within bounds of terminal/scrollback.
2018-06-17 00:01:47 -07:00
Michael Jumper
1756c01522
GUACAMOLE-573: Update selected region when terminal scrolls.
2018-06-17 00:01:47 -07:00
Michael Jumper
6f08ef2a07
GUACAMOLE-573: Allow text selection to be expanded using Shift (fixes GUACAMOLE-191).
2018-06-17 00:01:47 -07:00
Michael Jumper
c0d323828e
GUACAMOLE-573: Copy terminal data directly into clipboard. Do not assume selected region will be strictly visible.
2018-06-16 23:58:38 -07:00
Michael Jumper
f87af06ad6
GUACAMOLE-573: Move terminal text selection code into own file.
2018-06-16 23:58:34 -07:00
Michael Jumper
107fdda1f0
GUACAMOLE-570: Update libtool version info for libguac (interfaces added and removed).
2018-06-05 21:48:39 -07:00
Michael Jumper
21f54b9e12
GUACAMOLE-470: Merge changes addressing broken build / GCC warning.
2018-05-27 21:13:25 -07:00
Jim Chen
9c10ddae3b
GUACAMOLE-470: Fix incompatible pointer type warning under older GCC.
...
Older versions of GCC (prior to 5.1) emits an "incompatible pointer
type" warning when passing `foo(*)[]` as `const foo(*)[]`. This was
changed in GCC 5.1, and this patch adds explicit casts to remove the
warning under older GCC.
2018-05-27 23:46:16 -04:00
Michael Jumper
526152b9c6
GUACAMOLE-564: Merge changes ignoring APC sequences within Guacamole's terminal emulator.
2018-05-27 09:31:35 -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
b96afce222
GUACAMOLE-564: Hide APC escape sequence.
...
An APC escape sequence contains an arbitrary string command between
(ESC _) and (ESC \) sequences. While we don't support any APC commands, we
should ignore any commands that we do encounter.
2018-05-26 23:25:56 -04:00
Jim Chen
6da9236ffd
GUACAMOLE-470: Reset character attributes on terminal reset.
...
The character attributes such as foreground/background colors should be
reset as well when performing a terminal reset.
2018-05-26 23:18:27 -04:00
Jim Chen
03d9c51b5d
GUACAMOLE-470: Fix crash when X11 color is not found.
...
Fix a crash when an X11 color name is not found. The variable to
null-check should be `found`, not `color`.
2018-05-26 23:18:27 -04:00
Jim Chen
7e68901ceb
GUACAMOLE-470: Set palette index for parsed RGB colors.
...
Parsed RGB colors do not correspond to any palette entry, so set the
palette index to -1.
2018-05-26 23:18:27 -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
Jim Chen
f8b35078fc
GUACAMOLE-470: Add support for configurable default palette.
...
Add support for configuring a default palette for a terminal display.
When the default palette is specified during display creation, that
palette is used instead of GUAC_TERMINAL_INITIAL_PALETTE when resetting
the display palette.
2018-05-15 22:05:59 -04:00
Nick Couchman
b61a6ab758
GUACAMOLE-482: Merge allow encoding to proceed despite invalid instructions.
2018-04-13 14:46:01 -04:00
Michael Jumper
8d43c4344d
GUACAMOLE-482: Ignore invalid instructions within guacenc. Log failure at debug level.
2018-04-12 15:07:45 -07:00
Nick Couchman
325c8061ea
GUACAMOLE-407: Merge refactor guacd Docker to debian:stable base.
2018-04-04 17:00:30 -04:00
Nick Couchman
6d8319e1bd
GUACAMOLE-533: Merge process cleanup following disconnect.
2018-04-02 18:17:36 -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
c898f35959
GUACAMOLE-269: Clean up terminal backspace initialization.
2018-04-02 07:47:49 -04:00
Michael Jumper
d6a5695f8a
GUACAMOLE-533: Wait at most 5 seconds for connection processes to terminate following disconnect.
2018-04-01 23:35:17 -07:00
Michael Jumper
1f60526ab8
GUACAMOLE-407: Do not build guaclog within guacd Docker image. The guacd image should contain only guacd.
2018-04-01 21:36:59 -07:00
Michael Jumper
d6510360d0
GUACAMOLE-407: Dynamically derive runtime dependencies.
2018-04-01 21:16:38 -07: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
112ce5299e
GUACAMOLE-269: Remove unnecessary dynamic allocation.
2018-03-24 14:54:27 -04:00
Nick Couchman
86dde85b2d
GUACAMOLE-269: Comment and spelling updates.
2018-03-24 14:53:22 -04:00
Nick Couchman
fef819fbb9
GUACAMOLE-30: Add license to file and want network.target.
2018-03-16 17:02:53 -04:00
Nick Couchman
f75579de7e
GUACAMOLE-30: Change from script to data.
2018-03-15 07:30:55 -04:00
Nick Couchman
77cac3b30d
GUACAMOLE-30: Implement systemd script for guacd
2018-03-15 06:52:41 -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
33cca46346
GUACAMOLE-269: Remove debug code.
2018-03-08 10:48:22 -05:00
Nick Couchman
dd78d230ea
GUACAMOLE-269: Backspace key should send null-terminated string.
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
3b327378eb
GUACAMOLE-351: Add "-v" option which causes guacd to print its version information and exit.
2018-02-07 13:45:13 -08:00
Michael Jumper
f4f5b4e65a
GUACAMOLE-351: Separate guac_config structure into own header file, independent of how that config is loaded.
2018-02-07 13:33:52 -08:00
James Muehlner
05f54d098c
GUACAMOLE-502: Merge cessastion of name instruction in RDP/VNC to avoid incorreclty updating window title.
2018-02-06 22:43:46 -08:00
Michael Jumper
cd0e48234a
GUACAMOLE-500: Explicitly guarantee typescript filename cannot exceed buffer size.
2018-02-06 22:13:55 -08:00
James Muehlner
5b58c7e15b
GUACAMOLE-324: Merge buffer write bug fix.
2018-02-06 21:38:27 -08:00
Michael Jumper
9705b39c2b
GUACAMOLE-324: Continuously write chunks of data until entire buffer has been sent.
2018-02-06 21:29:31 -08:00
Michael Jumper
19b5050fbf
GUACAMOLE-482: Fail overall encoding process if any instruction handler reports failure.
2018-02-06 21:19:24 -08:00
Michael Jumper
b0c14bd59f
GUACAMOLE-482: Report video encoding failure if frame flush fails.
2018-02-06 21:18:39 -08: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
Michael Jumper
139251ea73
GUACAMOLE-492: Remove guaclog binary erroneously added to source tree.
2018-01-31 16:45:09 -08:00
Nick Couchman
3f6acb6378
GUACAMOLE-313: Merge remove handling of Unicode codepoints which cannot actually be represented by an X11 keysym.
2018-01-30 19:06:01 -05:00
Nick Couchman
b1d050285a
GUACAMOLE-313: Merge ensure keydef structure is freed in all cases.
2018-01-30 19:04:22 -05:00
Nick Couchman
8ca6ff3a94
GUACAMOLE-313: Merge exclude built guaclog.1 mangpage from git.
2018-01-30 18:41:28 -05:00
Michael Jumper
7f9e61a1f2
GUACAMOLE-313: Exclude built guaclog.1 manpage from git.
2018-01-30 15:28:15 -08:00
Michael Jumper
555126441e
GUACAMOLE-313: Remove code handling Unicode codepoints which cannot be represented by X11 keysyms.
2018-01-30 15:26:25 -08:00
Michael Jumper
cfd69cd122
GUACAMOLE-313: Clarify logic testing for Unicode keysyms.
2018-01-30 15:26:05 -08:00
Michael Jumper
5f547fb118
GUACAMOLE-313: Ensure keydef structure is freed in all cases.
2018-01-30 15:16:56 -08:00
Michael Jumper
575ff91369
GUACAMOLE-313: Properly initialize modifier flag for all keydefs.
2018-01-30 15:11:23 -08:00
Nick Couchman
5f5b4ea8eb
GUACAMOLE-313: Merge add "guaclog" utility for producing human-readable interpreatations of keys pressed in session recordings.
2018-01-30 14:07:35 -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
Nick Couchman
e37fb1dad9
GUACAMOLE-489: Merge lock both wrapped sockets when performing operations through a tee socket.
2018-01-27 17:20:28 -05: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
b21aef565b
GUACAMOLE-313: Add function for sending "key" instructions.
2018-01-26 16:42:14 -08:00
Michael Jumper
fdd17e3042
GUACAMOLE-313: Note that guacenc/guaclog are related.
2018-01-26 16:24:45 -08:00
Michael Jumper
c0b2871b31
GUACAMOLE-313: Document log format.
2018-01-26 16:24:45 -08:00
Michael Jumper
b7257d9ae4
GUACAMOLE-313: Include unknown keys within log.
2018-01-26 16:24:45 -08:00
Michael Jumper
5e5f1fcb3e
GUACAMOLE-313: Add missing keysyms. Track modifier keys only.
2018-01-26 16:24:45 -08:00
Michael Jumper
5b612b856a
GUACAMOLE-313: Refactor guaclog to produce simpler, greppable output.
2018-01-26 16:24:45 -08:00
Michael Jumper
86b09c8cf7
GUACAMOLE-313: Add remaining key names. Use Unicode where possible.
2018-01-26 16:24:45 -08:00
Michael Jumper
3633af5e41
GUACAMOLE-313: Use binary search to find human-readable names for known keys.
2018-01-26 16:24:45 -08:00
Michael Jumper
df29735c83
GUACAMOLE-313: Separate naming logic for keysyms. Align previously-pressed keys.
2018-01-26 16:24:43 -08:00
Michael Jumper
d39757b4dc
GUACAMOLE-313: Continuously track key press/release.
2018-01-26 16:24:14 -08:00
Michael Jumper
ebc731aaf3
GUACAMOLE-313: Add guaclog utility with stubbed interpretation of key events.
2018-01-26 16:24:04 -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
7eb4e22515
GUACAMOLE-313: Use mouse timestamps for frames as well as sync.
2018-01-26 16:21:51 -08:00
Michael Jumper
a74d6a2aaf
GUACAMOLE-313: Include timestamp with mouse position reporting.
2018-01-26 16:21:49 -08:00
Michael Jumper
e2455d6f26
GUACAMOLE-313: Do not render cursor unless mouse has actually moved.
2018-01-26 16:21:47 -08:00
Michael Jumper
cafcd90f9f
GUACAMOLE-313: Add support for the "mouse" instruction to guacenc.
2018-01-26 16:21:45 -08:00
Michael Jumper
a14832c4da
GUACAMOLE-313: Implement the "cursor" instruction to guacenc.
2018-01-26 16:21:43 -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
dc5245025e
GUACAMOLE-489: Lock both wrapped sockets when performing operations through a tee socket.
2018-01-26 16:17:45 -08:00
Michael Jumper
dcaf7b2c21
GUACAMOLE-490: Take channel mask into account when rendering image streams to buffers.
2018-01-26 16:08:51 -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
Michael Jumper
0f78b01e81
GUACAMOLE-456: Merge multi-stage Docker build changes.
2018-01-19 13:37:01 -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
Nick Couchman
5295886f68
Merge 0.9.14 changes back to master.
2018-01-01 16:27:03 -05:00
Michael Jumper
ff6c4b04f4
GUACAMOLE-307: The "size" instruction can also apply to buffers, not just layers.
2017-12-08 14:54:15 -08:00
Michael Jumper
1b81549c97
GUACAMOLE-423: Update libtool version info for libguac (interfaces added, none changed/removed).
2017-12-07 19:10:45 -08:00
Michael Jumper
76a6e41031
GUACAMOLE-423: Automatically populate package version within manpages.
2017-12-07 19:10:45 -08:00
Nick Couchman
e3d8c3fa12
Merge 0.9.14 changes back to master.
2017-12-06 10:04:34 -05:00
Carl Harris
e4f4761c87
GUACAMOLE-456: use Docker multi-stage build
2017-12-06 07:57:12 -05:00
Michael Jumper
a514f03fd4
GUACAMOLE-436: Remove incubator prefix from repositories and URLs.
2017-12-06 00:54:21 -08: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
itsankoff
aa6d81d6f9
GUACAMOLE-424: Update doc comments
2017-11-15 15:02:08 +02: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
itsankoff
f7990af6d0
GUACAMOLE-424: Return NULL if guac_common_display allocation fails
2017-11-13 14:50:44 +02:00
itsankoff
da0fc1a6d8
GUACAMOLE-424: Add doc comment for guac_common_cursor_alloc
2017-11-13 14:49:44 +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
Michael Jumper
012a3497eb
GUACAMOLE-411: Merge changes fully initializing CMSG buffer prior to use.
2017-10-14 17:50:47 -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
Jukka-Pekka Virtanen
c8eaa91ad3
GUACAMOLE-411: Fixed using uninitialized values in guacd_send_fd
2017-10-10 12:41:19 +03:00
Michael Jumper
d35cc7a83e
GUACAMOLE-400: Merge changes correcting segfault when an SSH private key cannot be imported.
2017-09-29 12:05:56 -07: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
Nick Couchman
9200bc789f
GUACAMOLE-398: Use freeaddrinfo() instead of free() on the linked list.
2017-09-27 13:24:58 -04:00
Nick Couchman
e4dd8de4f1
GUACAMOLE-398: Fix memory leak identified by Coverity in common ssh code.
2017-09-27 13:02:41 -04:00
James
f559701645
GUACAMOLE-396: Fixing ssh socket for IPv6 address
...
Root Cause:
In the ssh library of guacd, the TCP socket for connecting to ssh server is created with AF_INET. So it does not support IPv6 address.
Solution:
When guacd creates the socket for ssh in guac_common_ssh_create_session(), stop using hard coded AF_INET for socket() call, use the address family which is returned from getaddrinfo().
Test:
- Connected successfully via ssh connections with IPv4 and IPv6 hosts.
- No connection error in guacd logs.
- Simulated a connection failure with specifying a ssh server which does not exist. guacd worked well in this case.
2017-09-26 17:19:18 -07:00
Ilya Shipitsin
d2102e5705
GUACAMOLE-391: resolve low impact memory leak
2017-09-24 13:42:59 +05: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
b0d9bbc121
GUACAMOLE-279: Add explicit definitions for each human-readable xterm color.
2017-08-13 15:12:05 -07:00
Michael Jumper
27cf97cb9e
GUACAMOLE-279: Handle xterm palette assignments, parsing each color as an X11 color spec.
2017-08-13 15:12:05 -07:00
Nick Couchman
6400af605e
GUACAMOLE-325: Merge restore Windows-compatibility at libguac level.
2017-08-13 14:24:58 -04:00
Michael Jumper
c53575b18c
GUACAMOLE-279: Use guac_terminal_color for color palette assignments.
2017-07-11 08:24:18 -07:00
Michael Jumper
eec3607b16
GUACAMOLE-279: Migrate to mutable terminal color palette.
2017-07-10 14:08:21 -07:00
Michael Jumper
d3c5a8a050
GUACAMOLE-325: Add Winsock-specific guac_socket implementation.
2017-07-05 20:55:03 -07:00
Michael Jumper
eb73563445
GUACAMOLE-325: Explicitly check for Winsock.
2017-07-05 20:55:02 -07:00
Michael Jumper
d85f61deaf
GUACAMOLE-325: Do not lock files on Windows. Use Windows-specific _mkdir() call where necessary.
2017-07-05 20:55:02 -07:00
Michael Jumper
1c404d1881
GUACAMOLE-325: Use recv() on Windows platforms.
2017-07-05 20:55:02 -07:00
Michael Jumper
944857d130
GUACAMOLE-325: Include -no-undefined in libguac libtool flags.
2017-07-05 20:55:02 -07:00
Michael Jumper
7b8d250bd5
GUACAMOLE-325: Explicitly check for libdl, using it if provided and warning if both libdl and dlopen() are absent.
2017-07-05 20:55:02 -07:00
Michael Jumper
9dcddd1947
GUACAMOLE-325: Use select() if poll() is unavailable.
2017-07-05 20:55:02 -07:00
James Muehlner
6236eb8f98
GUACAMOLE-337: Merge move of libguacd code into public libguac API.
2017-07-05 19:56:06 -07:00
Michael Jumper
b608d2266b
GUACAMOLE-337: Clarify behavior of guac_user_handle_connection().
2017-07-05 19:54:06 -07: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
60141175dd
GUACAMOLE-337: Document that socket-ssl.h is not guaranteed to be present.
2017-07-01 18:55:20 -07:00
Michael Jumper
f504b1a5e8
GUACAMOLE-337: Move libguacd functionality into libguac.
2017-07-01 18:50:03 -07:00
Michael Jumper
5b748a4b42
GUACAMOLE-337: Separate definition of guacd read timeout from libguacd.
2017-07-01 18:50:03 -07:00
Michael Jumper
06a5043442
GUACAMOLE-337: Include only *-types.h headers when only types are needed.
2017-07-01 18:50:03 -07:00
Michael Jumper
f311c23ffa
GUACAMOLE-337: Move SSL socket into libguac.
2017-07-01 18:50:03 -07:00
Michael Jumper
78dbf64416
GUACAMOLE-337: Add missing libtool flags for libguacd.
2017-07-01 16:05:17 -07:00
Michael Jumper
3a46fffe44
GUACAMOLE-337: Do not include config.h in libguacd public headers.
2017-07-01 16:05:14 -07:00
Michael Jumper
6c484c1efd
GUACAMOLE-337: Limit public libguacd API to simply user handshake handling and SSL/TLS sockets.
2017-07-01 16:05:12 -07:00
Michael Jumper
7f3b985cc6
GUACAMOLE-337: Install libguacd as a normal library.
2017-07-01 16:05:11 -07:00
Michael Jumper
69d8d87ec9
GUACAMOLE-337: Remove unnecessary include of syslog.h by libguacd.
2017-07-01 16:05:08 -07:00
Michael Jumper
a56a7207ac
GUACAMOLE-337: Remove unnecessary link to libguac-common for libguacd.
2017-07-01 16:04:52 -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
Michael Jumper
d9c1ce7738
GUACAMOLE-203: Merge support for SSH/SFTP connection keep-alive packets.
2017-06-25 12:01:02 -07:00
Nick Couchman
a5efbb5933
GUACAMOLE-203: Fix function prototype to remove const.
2017-06-25 14:56:50 -04:00
Nick Couchman
650f7a0a32
GUACAMOLE-203: if is not a function...
2017-06-25 14:10:42 -04:00
Nick Couchman
041fcc4651
GUACAMOLE-203: Change remaining instances of timer to timeout.
2017-06-25 05:13:22 -04:00
Nick Couchman
711cdd6929
GUACAMOLE-203: Allow keepalive param to be modified inside the function.
2017-06-25 05:13:12 -04:00
Nick Couchman
05dfb1a6ae
GUACAMOLE-203: Deal correctly with negative keepalive values.
2017-06-25 05:10:22 -04:00
Nick Couchman
ed77114038
GUACAMOLE-203: Fix issue using guac_client_log instead of guac_user_log.
2017-06-14 13:01:01 -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
Michael Jumper
584c108d1a
GUACAMOLE-314: Bump libtool version info (interface added, none changed/removed).
2017-06-01 22:52:12 -07:00
Michael Jumper
57ee384180
GUACAMOLE-314: Bump version numbers to 0.9.13-incubating.
2017-06-01 22:48:02 -07: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
9da27ad578
GUACAMOLE-280: Ensure bold and half-bright attributes cancel each other out.
2017-05-21 13:48:10 -07:00
Michael Jumper
2146200dfd
GUACAMOLE-280: Add support for faint (low) intensity SGR.
2017-05-21 13:46:21 -07:00
James Muehlner
6d2cfdabf8
GUACAMOLE-306: Merge VNC client null check fix.
2017-05-21 11:20:05 -07: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
Michael Jumper
58e26eb312
GUACAMOLE-278: argc value received by 256-color SGR sequence parser must equal the number of remaining argv elements.
2017-04-27 10:15:58 -07:00
James Muehlner
0e5498fc83
GUACAMOLE-278: Merge SGR bright color support for terminal.
2017-04-26 22:13:01 -07:00
Michael Jumper
4b7c679808
GUACAMOLE-265: Set connection name when terminal window title is changed.
2017-04-26 21:19:56 -07:00
James Muehlner
d88b5d1011
GUACAMOLE-278: Merge 256-color support for terminal.
2017-04-26 21:13:51 -07:00
Michael Jumper
2a91e2ff2d
GUACAMOLE-278: Add support for xterm's bright SGR colors (90-97 and 100-107).
2017-04-26 21:06:08 -07:00
Michael Jumper
a04022883c
GUACAMOLE-278: Provide constants defining locations of dark vs. intense colors in 16-color palette.
2017-04-26 21:01:53 -07:00
Michael Jumper
691a3ab840
GUACAMOLE-282: Correct common surface transfer functions to copy/ignore alpha channel as required.
2017-04-24 11:57:12 -07:00
Michael Jumper
10180095d8
GUACAMOLE-278: Handle (but ignore) xterm's 256-color palette redefinition OSC.
2017-04-23 13:59:03 -07:00
Michael Jumper
e4ce7b0eeb
GUACAMOLE-278: Ignore 256-color SGR sequences which contain out-of-range values.
2017-04-23 13:52:08 -07:00
Michael Jumper
19f7424c62
GUACAMOLE-278: Log unhandled/invalid sequences at DEBUG level.
2017-04-23 13:52:07 -07:00
Michael Jumper
87fba523ee
GUACAMOLE-278: Handle xterm 256-color SGR sequences.
2017-04-23 13:24:13 -07:00
Michael Jumper
11bf6f05c4
GUACAMOLE-278: Expand terminal palette to 256 entries. Use xterm colors for entries 16 through 255.
2017-04-23 13:24:04 -07:00
Michael Jumper
eaa71f5717
GUACAMOLE-278: Move terminal palette/color definitions into dedicated files.
2017-04-23 13:23:58 -07:00
Michael Jumper
48fc4afc5b
GUACAMOLE-278: Copy terminal color values rather than referencing only by palette index.
2017-04-23 13:23:48 -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
1081131aa5
GUACAMOLE-259: Log server and user frame timing information at TRACE level.
2017-03-31 10:48:58 -07:00
James Muehlner
457c48ec71
GUACAMOLE-259: Merge addition of new TRACE log level.
2017-03-31 10:45:41 -07:00
Michael Jumper
e910dcbfcc
GUACAMOLE-259: Add TRACE log level.
2017-03-30 01:15:51 -07: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
Michael Jumper
039a1c52e4
GUACAMOLE-239: Merge support for CLOCK_MONOTONIC.
2017-03-23 21:05:49 -07:00
Roman Stoffel
ddc1aa0b5f
GUACAMOLE-239: When available, use CLOCK_MONOTONIC to prevent backwards running time
2017-03-23 23:06:24 +01:00
James Muehlner
516c4a0593
Merge 0.9.12-incubating changes back to master.
2017-03-17 10:43:50 -07:00
Michael Jumper
6a3ce58ab7
GUACAMOLE-240: Document parameters and behavior of PulseAudio callbacks.
2017-03-15 22:26:11 -07:00
Michael Jumper
adf9db7454
GUACAMOLE-240: Always pass guac_pa_stream to PulseAudio callbacks.
2017-03-15 21:24:29 -07:00
James Muehlner
2c2824fc5b
Merge 0.9.12-incubating changes back to master.
2017-03-13 22:13:10 -07:00
Michael Jumper
fe8771e181
GUACAMOLE-231: Notifying terminal for mouse movement is no longer necessary (common cursor sends its own position updates without requiring new frames).
2017-03-11 14:58:52 -08:00
Michael Jumper
240e18cd92
GUACAMOLE-231: Broadcast mouse position only to users who are not moving the mouse.
2017-03-11 14:57:09 -08:00
Michael Jumper
ae7e8d3890
GUACAMOLE-231: Report mouse position using new "mouse" instruction. Rely on client-side cursor layer implementation.
2017-03-11 14:57:09 -08:00
Michael Jumper
1a96c5b415
GUACAMOLE-231: Add "mouse" instruction for server reporting of mouse position.
2017-03-11 14:57:09 -08:00
James Muehlner
1d5d8784b3
Merge 0.9.12-incubating changes back to master.
2017-03-10 09:46:59 -08:00
Michael Jumper
6a1db08299
GUACAMOLE-231: Notify terminal when display is modified due to mouse cursor movement.
2017-03-06 22:41:19 -08:00
James Muehlner
da7b77d2ec
Merge 0.9.12-incubating changes back to master.
2017-03-01 09:43:39 -08:00
James Muehlner
de9b8d6d2c
GUACAMOLE-226: Merge default layer opacity fix.
2017-03-01 09:42:40 -08:00
Michael Jumper
72284cfc7c
GUACAMOLE-226: All new layers are fully opaque.
2017-03-01 08:45:12 -08:00
Michael Jumper
270d51d4d4
GUACAMOLE-205: Use semantically-named macro rather than repeatedly and explicitly check OpenSSL version.
2017-02-28 13:01:30 -08:00
Michael Jumper
98a5faaa77
GUACAMOLE-205: Provide OpenSSL 1.1 API shims for missing accessors.
2017-02-28 13:01:30 -08:00
Michael Jumper
dbfb782dd5
GUACAMOLE-205: Update to 1.1 version of OpenSSL API.
2017-02-28 13:01:30 -08:00
James Muehlner
c8fca94899
GUACAMOLE-223: Merge thread safety fix for SSL.
2017-02-28 10:55:17 -08:00
James Muehlner
c4903a8e36
Merge 0.9.12-incubating changes back to master.
2017-02-28 10:32:49 -08:00
James Muehlner
3ff8323153
GUACAMOLE-169: Merge namespaced directory reshuffle.
2017-02-28 10:28:45 -08:00
James Muehlner
eb5ef5a027
GUACAMOLE-194: Merge removal of double-free code.
2017-02-28 10:19:58 -08:00
Michael Jumper
f85978e43a
GUACAMOLE-225: Bump libtool version info (interface added, none changed/removed).
2017-02-28 09:47:53 -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
James Muehlner
c344aa854f
GUACAMOLE-222: Merge explicit closing of STFP downloaded files.
2017-02-26 14:53:38 -08:00
Michael Jumper
9218a79e62
GUACAMOLE-223: Set required thread-related callbacks for OpenSSL.
2017-02-26 14:32:08 -08:00
Michael Jumper
821feeabb0
GUACAMOLE-223: Always invoke SSL_free().
2017-02-26 14:25:50 -08:00
Michael Jumper
58b85da8f2
GUACAMOLE-222: Ensure files downloaded via SFTP are explicitly closed upon completion.
2017-02-26 14:11:42 -08:00
James Muehlner
f23133043b
Merge 0.9.12-incubating changes back to master.
2017-02-26 00:43:17 -08:00
James Muehlner
a808a6b177
GUACAMOLE-188: Merge usage of Porter-Duff operator for blending ARGB surfaces.
2017-02-26 00:39:25 -08:00
James Muehlner
6939142d2f
GUACAMOLE-217: Merge libavcodec version number update.
2017-02-26 00:22:12 -08:00
James Muehlner
2703c5afff
GUACAMOLE-217: Merge libavcodec version number update.
2017-02-25 23:49:23 -08:00
Michael Jumper
0fb567bb53
GUACAMOLE-188: Clamp alpha blending results to maximum component value (0xFF).
2017-02-25 19:57:10 -08:00
Michael Jumper
12d29569a6
GUACAMOLE-188: Use Porter-Duff "over" operator when drawing with ARGB surfaces.
2017-02-25 19:57:10 -08:00
Michael Jumper
d40b2d8153
GUACAMOLE-217: FFmpeg's decoupled I/O functions were not available until libavcodec 57.37.100.
2017-02-25 19:42:43 -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
0210b7dc6b
GUACAMOLE-208: Add protocol status codes representing upstream network errors and session behavior.
2017-02-15 21:23:07 -08:00
James Muehlner
cd8646b38f
Merge 0.9.12-incubating changes back to master.
2017-02-15 20:53:17 -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
da81d16c27
GUACAMOLE-206: Do not drop keys while Alt is held.
2017-02-14 21:25:20 -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
Michael Jumper
a6e3f19bf7
GUACAMOLE-149: Ignore zero-width characters.
2017-01-31 23:57:02 -08:00
Michael Jumper
fc6f36150f
GUACAMOLE-193: Take character attributes into account when testing for visibility.
2017-01-30 22:39:49 -08:00
James Muehlner
d831a4b9df
GUACAMOLE-188: Merge alpha component support for common surface.
2017-01-29 12:45:46 -08:00
James Muehlner
075c770432
GUACAMOLE-187: Merge surface resize optimization.
2017-01-29 12:37:52 -08:00
James Muehlner
701268271d
GUACAMOLE-167: Merge move away from deprecated avodec_encode_video2() when possible.
2017-01-29 12:34:21 -08:00
James Muehlner
135514a0d2
GUACAMOLE-94: Merge move from readdir_r to readdir.
2017-01-29 12:30:24 -08:00
James Muehlner
0d0f6b9c69
GUACAMOLE-135: Merge new Swiss-French RDP keymap.
2017-01-29 12:27:49 -08:00
Michael Jumper
b796b2c933
GUACAMOLE-148: Clarify that the cursor is expected to potentially exceed the terminal bounds.
2017-01-28 22:54:06 -08:00
Michael Jumper
6c1eeb96b0
GUACAMOLE-148: Move cursor bounds checking to common location (where necessary).
2017-01-28 22:48:45 -08:00
Michael Jumper
073fbe684d
GUACAMOLE-148: Scroll automatically only when cursor is within scrolling region.
2017-01-28 22:47:06 -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
9a51675e32
GUACAMOLE-167: Use avcodec_send_frame() / avcodec_receive_packet() when available.
2017-01-27 20:29:45 -08:00
Michael Jumper
1a5f48961c
GUACAMOLE-188: Allow alpha component to be set within common surface.
2017-01-27 16:51:45 -08:00
Michael Jumper
f353411460
GUACAMOLE-187: Do not perform surface resize unless the new size is actually different.
2017-01-27 16:44:24 -08:00
James Muehlner
ea6b094e24
GUACAMOLE-185: Merge rectangle clipping fix.
2017-01-25 21:53:38 -08:00
Michael Jumper
a72531b65c
GUACAMOLE-185: Fix copy/transfer rectangle calculation. Clip source to bounds, NOT to clipping rectangle.
2017-01-25 21:05:08 -08:00
Michael Jumper
2de7d017f5
GUACAMOLE-185: Clip copy/transfer operations to fit source as well as destination.
2017-01-25 21:05:08 -08:00
Michael Jumper
bd3d482ade
GUACAMOLE-184: Only send contents of surface if non-empty.
2017-01-25 19:28:07 -08:00
James Muehlner
5d5fbb4d45
GUACAMOLE-172: Merge lag calculation improvements.
2017-01-24 23:26:29 -08:00
Michael Jumper
5d1de67a0c
GUACAMOLE-180: Make common display threadsafe.
2017-01-24 18:01:04 -08:00
Michael Jumper
b7e0e080da
GUACAMOLE-180: Make common surface threadsafe.
2017-01-24 18:00:57 -08:00
James Muehlner
b8f4f19c36
GUACAMOLE-179: Merge move of PulseAudio support into library.
2017-01-24 17:49:37 -08:00
James Muehlner
67a5d9a5dd
GUACAMOLE-176: Merge support for layer location and opacity for guac_common_surface.
2017-01-24 17:39:03 -08:00
Michael Jumper
6bd19b6ac6
GUACAMOLE-176: Support layer location and opacity for guac_common_surface.
2017-01-24 17:30:51 -08:00
Michael Jumper
440668a78a
GUACAMOLE-179: Use non-owner users of connection to determine audio encoding if necessary.
2017-01-24 17:19:10 -08:00
Michael Jumper
48ebbe95ea
GUACAMOLE-179: Move PulseAudio support into separate utility library.
2017-01-24 17:19:06 -08:00
James Muehlner
5d2c9676f4
GUACAMOLE-175: Merge move of guacd core into library.
2017-01-24 16:38:50 -08:00
Michael Jumper
6645e858ca
GUACAMOLE-178: Ensure shared cursor layer is always above all other layers.
2017-01-24 16:17:42 -08:00
Michael Jumper
4c06d755f9
GUACAMOLE-175: Move guacd_handle_user() to libguacd.
2017-01-24 15:44:59 -08:00
Michael Jumper
45adc63597
GUACAMOLE-175: Split logging between guacd and libguacd.
2017-01-24 15:44:55 -08:00
Michael Jumper
d7a604c8b2
GUACAMOLE-175: Move common core of guacd into libguacd utility library.
2017-01-24 15:44:51 -08:00
James Muehlner
a1886f51bd
GUACAMOLE-171: Merge move of broadcast socket to public API.
2017-01-24 11:49:29 -08:00
James Muehlner
8cd98b5298
GUACAMOLE-170: Merge client args default change.
2017-01-24 11:44:40 -08:00
Michael Jumper
6131ad0341
GUACAMOLE-172: Ignore insane timestamps when calculating lag.
2017-01-24 00:18:10 -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
9e6e4e520c
GUACAMOLE-172: Clarify processing lag calculations.
2017-01-24 00:18:00 -08:00
Michael Jumper
7a65a63aa9
GUACAMOLE-171: Do not require knowledge of broadcast socket internals (do not acquire write lock around join/leave handlers).
2017-01-23 23:43:36 -08:00
Michael Jumper
98b92f0900
GUACAMOLE-171: Separate broadcast socket from client. Ensure socket remains threadsafe even if no users are connected.
2017-01-23 23:43:32 -08:00
Michael Jumper
9d2bb31a9d
GUACAMOLE-170: Init guac_client args by default.
2017-01-23 23:35:16 -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
Frode Langelo
6c05dc026e
GUACAMOLE-157: Initialize SSH SSL lock array to NULL and test for NULL-ness before freeing.
2017-01-11 22:40:34 +00:00
Michael Jumper
8b08a0e444
GUACAMOLE-154: Bump libtool version-info.
2017-01-09 11:38:47 -08:00
Michael Jumper
7759210f29
GUACAMOLE-154: Bump guacamole-server version numbers to 0.9.11-incubating.
2017-01-09 11:36:06 -08:00
James Muehlner
ecc3a7d49b
Merge release-specific changes for 0.9.10-incubating back to master.
2016-11-13 11:33:44 -08:00
James Muehlner
78e6215cbd
GUACAMOLE-119: Merge integration of Apache Rat into client and associated new license notices.
2016-11-13 11:17:03 -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
4a29979667
GUACAMOLE-119: Add Apache license boilerplate to manpage source.
2016-11-12 19:40:39 -08:00
Michael Jumper
406a58de35
GUACAMOLE-68: Use AV_PIX_FMT_RGB32 and AV_PIX_FMT_YUV420P constants (not PIX_FMT_RGB32 and PIX_FMT_YUV420P).
2016-11-12 19:40:12 -08:00
Michael Jumper
4ea5f163f0
GUACAMOLE-68: Remove -pedantic flag for subprojects depending on libraries which use compiler extensions.
2016-11-12 19:40:01 -08:00
Michael Jumper
8fc4cc928d
GUACAMOLE-119: Do not include generated sources in source tarball.
2016-11-12 18:56:18 -08:00
James Muehlner
7c3430ba0f
GUACAMOLE-118: Merge switchover from select to poll.
2016-11-11 16:19:54 -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
a1fc5bc733
GUACAMOLE-118: Use poll() when waiting for data to be written to the terminal emulator.
2016-11-11 13:12:12 -08:00
Michael Jumper
12d575b8e6
GUACAMOLE-118: Migrate to poll() instead of select() for guacd's SSL/TLS guac_socket implementation.
2016-11-11 13:06:05 -08:00
Michael Jumper
9d6d2aeba7
GUACAMOLE-118: Migrate to poll() instead of select() for file descriptor guac_socket implementation.
2016-11-11 13:03:43 -08:00
Michael Jumper
ca2b426252
GUACAMOLE-117: Close socket file descriptor if SSL/TLS handshake fails.
2016-11-11 12:25:28 -08:00
Michael Jumper
1817ef4ce0
GUACAMOLE-115: Explicitly signal disconnect at end of connection.
2016-11-07 10:29:00 -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
5ce9b1a32f
GUACAMOLE-97: Update guacd Docker README.md with respect to Apache.
2016-10-04 12:25:07 -07:00
Roman
3a3de3e87d
GUACAMOLE-110: Fix guacenc framerate rounding affecting video length
2016-10-03 11:51:24 -04:00
Michael Jumper
4f84be1c31
GUACAMOLE-93: Move Dockerfile to root of repository.
2016-08-28 14:17:26 -07:00
Michael Jumper
b6a988fcb1
GUACAMOLE-93: Build guacd-docker using parent guacamole-server source.
2016-08-26 14:37:58 -07:00
James Muehlner
96f853d8ff
GUACAMOLE-87: Bump libtool version-info.
2016-08-25 22:29:02 -07:00
James Muehlner
e92bb2c824
GUACAMOLE-87: Bump guacamole-server version numbers to 0.9.10-incubating.
2016-08-25 21:59:25 -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
72fb8ffdfe
GUACAMOLE-51: Explicitly map number pad keys within Guacamole terminal emulator.
2016-06-14 14:20:30 -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
5030c0603a
GUACAMOLE-25: Add status code reporting the normal closure of a resource.
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
James Muehlner
055aa1b059
Merge client cleanup fix.
2016-05-23 20:36:55 -07:00
Michael Jumper
2b8e1555c6
GUACAMOLE-33: Fix comment regarding user removal.
2016-05-23 13:58:30 -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
66859010e7
GUACAMOLE-27: Add Docker image from old guacd-docker repository. Update license.
2016-05-20 14:45:12 -07:00
Michael Jumper
facc0a794e
GUAC-1517: Only allocate one audio stream for RDP connection.
2016-03-31 14:25:31 -07:00
James Muehlner
f611ea7b65
GUAC-1511: Merge libguac audio input support.
2016-03-30 15:39:39 -07:00
Michael Jumper
bdbe1df43c
GUAC-1511: Add user audio handler and definition. Handle received "audio" instructions.
2016-03-30 15:32:09 -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
0a1f01ce3f
GUAC-1164: Ensure locks used by OpenSSL are always freed.
2016-03-17 18:10:42 -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
e57c9ddd86
GUAC-1164: Free private key used for SSH login.
2016-03-17 17:30:32 -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
8c37db8a07
GUAC-1164: Add missing free() for client connection ID.
2016-03-17 16:03:58 -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
3614c48240
Merge pull request #130 from glyptodon/out-of-bounds
...
GUAC-236: Do not exceed available buffers/layers/streams.
2016-03-16 22:10:37 -07:00
Michael Jumper
1dfdcec34c
GUAC-236: Do not attempt to lock/close fd if open fails.
2016-03-16 21:52:30 -07:00
Michael Jumper
ec2524eb97
GUAC-236: Do not exceed available buffers/layers/streams.
2016-03-16 21:48:25 -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
89f6bd4fae
GUAC-236: Provide support for much older versions of libavcodec.
2016-03-16 18:51:15 -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
fd430e8b69
GUAC-236: Do not use features specific to libjpeg-turbo. Ensure compatibility with libjpeg.
2016-03-16 11:56:04 -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
2e73e5eef9
GUAC-1164: Dispose of layers/buffers when display/cursor are freed.
2016-03-15 21:49:26 -07:00
Michael Jumper
fc40e9f14c
GUAC-1164: Automatically reconnect when display size changes.
2016-03-15 21:48:56 -07:00
Michael Jumper
e2030c03d0
GUAC-236: They're buffers, not buggers.
2016-03-15 20:34:22 -07:00
Michael Jumper
86eb9c4b8a
GUAC-236: Fix copypasto in guacenc_display_free_*() - we are freeing, not allocating.
2016-03-15 19:35:06 -07:00
Michael Jumper
32779ee15f
GUAC-236: Provide -f option for overriding locking behavior.
2016-03-15 17:24:25 -07:00
Michael Jumper
9d43e22592
GUAC-236: Acquire read lock on input files for guacenc. Refuse to encode in-progress recordings.
2016-03-15 17:08:39 -07:00
Michael Jumper
0361dd2392
GUAC-236: Acquire write lock on output file for in-progress screen recordings.
2016-03-15 17:06:52 -07:00
Michael Jumper
c50561ef10
GUAC-236: Open output stream using file descriptor. Only write output file if it does not yet exist.
2016-03-15 16:43:13 -07:00
Michael Jumper
73bf5ce6f4
GUAC-236: Remove unused macros.
2016-03-15 12:26:35 -07:00
Michael Jumper
acf2d2b004
GUAC-236: Correct typos in comments.
2016-03-15 12:26:13 -07:00
Michael Jumper
e3d1af1953
GUAC-236: Add screen recording support to telnet.
2016-03-14 20:26:31 -07:00
Michael Jumper
570bcc3822
GUAC-236: Add generalized ffmpeg-compat.h header to cover various API changes.
2016-03-14 20:22:04 -07:00
Michael Jumper
770fec0d88
GUAC-236: Define av_frame_free() / av_frame_alloc() if not present.
2016-03-14 20:22:04 -07:00
Michael Jumper
812f8b8cbf
GUAC-236: Include guacenc.1 in EXTRA_DIST.
2016-03-14 20:22:04 -07:00
Michael Jumper
8ed0cd5f16
GUAC-236: Maintain aspect ratio by adding letterboxes / pillarboxes as necessary.
2016-03-14 20:22:04 -07:00
Michael Jumper
2798536a7a
GUAC-236: Document transfer as currently unimplemented (rarely used).
2016-03-14 20:22:03 -07:00
Michael Jumper
be0a9e728f
GUAC-236: Implement JPEG.
2016-03-14 20:22:03 -07:00
Michael Jumper
c16832f11a
GUAC-236: Fix manual section number.
2016-03-14 20:22:03 -07:00
Michael Jumper
e298975918
GUAC-236: Document usage. Use correct extension (.m4v).
2016-03-14 20:22:03 -07:00
Michael Jumper
e74ea54eb9
GUAC-236: Add FILE to usage descriptions.
2016-03-14 20:22:03 -07:00
Michael Jumper
710edc03ff
GUAC-236: Simplify command-line options, restricting to known-good combination. Can add other formats as possible later.
2016-03-14 20:22:03 -07:00
Michael Jumper
ecf3a0302a
GUAC-236: There actually isn't a -f option.
2016-03-14 20:22:03 -07:00
Michael Jumper
2f93e6ce67
GUAC-236: Output sensible messages at sensible times.
2016-03-14 20:22:03 -07:00
Michael Jumper
c4f7bae10b
GUAC-236: Do not create output file until after everything has been validated.
2016-03-14 20:22:03 -07:00
Michael Jumper
3d67598ec9
GUAC-236: Parse command-line arguments.
2016-03-14 20:22:03 -07:00
Michael Jumper
59844d8e59
GUAC-236: Reset log level back to INFO. Define default elsewhere.
2016-03-14 20:22:03 -07:00
Michael Jumper
7575506443
GUAC-236: Add missing comment for use of sws_scale().
2016-03-14 20:22:03 -07:00
Michael Jumper
cb1d5e03b5
GUAC-236: Increase default bitrate.
2016-03-14 20:22:03 -07:00
Michael Jumper
0f467a5d51
GUAC-236: Convert each Guacamole frame to a proper AVFrame.
2016-03-14 20:22:03 -07:00
Michael Jumper
96b3dd4e7c
GUAC-236: Add libswscale to build.
2016-03-14 20:22:03 -07:00
Michael Jumper
f9f08627ff
GUAC-286: Actually write video output to file.
2016-03-14 20:22:03 -07:00
Michael Jumper
1ce39306cb
GUAC-236: Do not store buffer - encode directly. Flush frames at end.
2016-03-14 20:22:03 -07:00
Michael Jumper
1a3e1465fa
GUAC-236: Pass encoding parameters from root level of utility. Declare defaults in header.
2016-03-14 20:22:03 -07:00
Michael Jumper
c37eda37fd
GUAC-236: Define framerate with macro.
2016-03-14 20:22:03 -07:00
Michael Jumper
38c431e8a2
GUAC-236: Record internal presentation timestamp in same format as libavcodec.
2016-03-14 20:22:03 -07:00
Michael Jumper
9eddaeee3d
GUAC-236: Allocate and maintain frame data for encoding.
2016-03-14 20:22:03 -07:00
Michael Jumper
9a5b503da5
GUAC-236: Add libavutil to build.
2016-03-14 20:22:03 -07:00
Michael Jumper
17df235c4e
GUAC-236: Actually open and init codec. Replace PNG output with stub.
2016-03-14 20:22:03 -07:00
Michael Jumper
a8cba53537
GUAC-236: Perform codec lookup via libavcodec.
2016-03-14 20:22:03 -07:00
Michael Jumper
d94915c515
GUAC-236: Ensure display allocation can handle video preparation failures.
2016-03-14 20:22:03 -07:00
Michael Jumper
19ac6e8286
GUAC-236: Abstract video encoding process as guacenc_video struct. Move PNG-writing stub therein.
2016-03-14 20:22:03 -07:00
Michael Jumper
09a4f4da39
GUAC-236: Add libavcodec to guacenc build. Conditionally compile guacenc and guacd.
2016-03-14 20:22:03 -07:00
Michael Jumper
0676a7a51c
GUAC-236: Add missing LDFLAGS for guacenc.
2016-03-14 20:22:03 -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
a3fef4c1fc
GUAC-236: Add common functions for creating client-level session recordings (Guacamole protocol dumps).
2016-03-14 20:22:02 -07:00
Michael Jumper
dc2feba72c
GUAC-236: Add guac_socket_tee() function which allocates a socket that delegates all operations to a primary socket while duplicating write operations to a secondary socket.
2016-03-14 20:22:02 -07:00
Michael Jumper
bd5bd29ec0
GUAC-236: Ensure client socket is always freed.
2016-03-14 20:22:02 -07:00
Michael Jumper
a5ec24c17b
GUAC-236: Fix buffer resize (contents were being cleared).
2016-03-14 20:22:02 -07:00
Michael Jumper
3a972d4845
GUAC-236: Use temporary surface if source rect might intersect dest rect.
2016-03-14 20:22:02 -07:00
Michael Jumper
21c568c0b4
GUAC-236: Implement WebP decoding.
2016-03-14 20:22:02 -07:00
Michael Jumper
960ee263e8
GUAC-236: Split massive display code into more reasonable files.
2016-03-14 20:22:02 -07:00
Michael Jumper
a24152df02
GUAC-236: Flatten and render all layers upon sync.
2016-03-14 20:22:02 -07:00
Michael Jumper
79181567e5
GUAC-236: Store and preseve frame buffer within each layer.
2016-03-14 20:22:02 -07:00
Michael Jumper
80b3d51a49
GUAC-236: Add function for copying buffer state.
2016-03-14 20:22:02 -07:00
Michael Jumper
1d4e6ce924
GUAC-236: Fix comparator. Sort in descending order of depth.
2016-03-14 20:22:02 -07:00
Michael Jumper
2e93499383
GUAC-236: Render layers in order (position not yet correct). Output as PNG frames for verification.
2016-03-14 20:22:02 -07:00
Michael Jumper
19814a4c8a
GUAC-236: Layers should be parented to default layer by default.
2016-03-14 20:22:02 -07:00
Michael Jumper
e3d0c5e5ef
GUAC-236: Do not resize buffers if unnecessary.
2016-03-14 20:22:02 -07:00
Michael Jumper
ba9c1a2efd
GUAC-236: Ensure buffers are resized to fit draw operations (unless they are within layers).
2016-03-14 20:22:02 -07:00
Michael Jumper
83beccf7e4
GUAC-236: Ensure rectangle is explicitly set when painting buffers.
2016-03-14 20:22:02 -07:00
Michael Jumper
bd84315824
GUAC-236: Implement PNG decoding using Cairo's built-in PNG functions.
2016-03-14 20:22:02 -07:00
Michael Jumper
a15a86ed00
GUAC-236: Assemble entire image data prior to decoding. Switch to simple decoder function (no struct).
2016-03-14 20:22:02 -07:00
Michael Jumper
3661cadf4e
GUAC-236: Implement blob, end, and img instructions.
2016-03-14 20:22:02 -07:00
Michael Jumper
d29d5bbc99
GUAC-236: Add helper functions for invoking stream data/end handlers.
2016-03-14 20:22:02 -07:00
Michael Jumper
f535ccfb54
GUAC-236: Invoke init/free handlers as required.
2016-03-14 20:22:02 -07:00
Michael Jumper
578bedcd07
GUAC-236: Add image stream allocation and management functions.
2016-03-14 20:22:02 -07:00
Michael Jumper
8ff8ccc92b
GUAC-236: Free all buffers with appropriate function.
2016-03-14 20:22:02 -07:00
Michael Jumper
5149d6d5c4
GUAC-236: Add decoder search function.
2016-03-14 20:22:02 -07:00
Michael Jumper
083e48d089
GUAC-236: Add stub structure for image decoding.
2016-03-14 20:22:02 -07:00
Michael Jumper
8c0a9b8bc5
GUAC-236: Replace placeholder with required mask and index properties.
2016-03-14 20:22:02 -07:00
Michael Jumper
088f1dfede
GUAC-236: Implement copy.
2016-03-14 20:22:02 -07:00
Michael Jumper
96104c099b
GUAC-236: Ignore free attempts on NULL buffers.
2016-03-14 20:22:01 -07:00
Michael Jumper
dea754d846
GUAC-236: Handle dispose of buffers.
2016-03-14 20:22:01 -07:00
Michael Jumper
36b625818d
GUAC-236: Log protocol violations at WARNING level.
2016-03-14 20:22:01 -07:00
Michael Jumper
d1642cbcba
GUAC-236: Cursor must be ignored for now (no mouse position information in recording).
2016-03-14 20:22:01 -07:00
Michael Jumper
ac78b7a7a5
GUAC-236: Implement cfill and rect.
2016-03-14 20:22:01 -07:00
Michael Jumper
160453c3e9
GUAC-236: Implement buffer retrieval functions.
2016-03-14 20:22:01 -07:00
Michael Jumper
9407f8bcde
GUAC-236: Layers must default to unparented.
2016-03-14 20:22:01 -07:00
Michael Jumper
a0197ee2c2
GUAC-236: Implement buffer resize.
2016-03-14 20:22:01 -07:00
Michael Jumper
696c3c3184
GUAC-236: Stub resize of buffers. Implement size.
2016-03-14 20:22:01 -07:00
Michael Jumper
314d66727a
GUAC-236: Implement alloc/free of layers. Implement shade, move, and dispose.
2016-03-14 20:22:01 -07:00
Michael Jumper
899cdb4c00
GUAC-236: Fully implement sync instruction. Stub timestamp update for display.
2016-03-14 20:22:01 -07:00
Michael Jumper
4634ce391a
GUAC-236: Allocate and pass display to all instruction handlers.
2016-03-14 20:22:01 -07:00
Michael Jumper
f286bd92c7
GUAC-236: Add display, buffer, image, and stream abstractions.
2016-03-14 20:22:01 -07:00
Michael Jumper
23af2d3041
GUAC-236: Handle sync instruction.
2016-03-14 20:22:01 -07:00
Michael Jumper
f842d1c0a4
GUAC-236: Parse base64 from blobs.
2016-03-14 20:22:01 -07:00
Michael Jumper
91197ffad2
GUAC-236: Allow instruction handlers to touch the argument values.
2016-03-14 20:22:01 -07:00
Michael Jumper
0e5a7bb5c2
GUAC-236: Add argument parsing stubs to instruction handlers.
2016-03-14 20:22:01 -07:00
Michael Jumper
d530d92651
GUAC-236: Add stub handlers for each required instruction.
2016-03-14 20:22:01 -07:00
Michael Jumper
a926a6dc3b
GUAC-236: Handle specific instructions via an opcode/handler mapping.
2016-03-14 20:22:01 -07:00
Michael Jumper
1f54ea10dd
GUAC-236: Display DEBUG-level messages for now.
2016-03-14 20:22:01 -07:00
Michael Jumper
c850744faa
GUAC-236: Actually parse input files.
2016-03-14 20:22:01 -07:00
Michael Jumper
5e5186be07
GUAC-236: Log failures vs. total files.
2016-03-14 20:22:01 -07:00
Michael Jumper
652ea5ddf9
GUAC-236: Add stub guacenc utility (encode Guacamole protocol to video).
2016-03-14 20:22:01 -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
7c2766b34b
GUAC-1389: Abort correctly if password or keyboard-interactive auth fails (fixes GUAC-1381).
2016-03-14 17:33:17 -07:00
Michael Jumper
075b7ffba9
GUAC-1389: Add screen sharing support to SSH.
2016-03-14 17:33:17 -07:00
Michael Jumper
8f6a585b09
GUAC-1389: Rename guac_terminal_add_user() to guac_terminal_dup().
2016-03-14 16:03:05 -07:00
Michael Jumper
a101838162
GUAC-1389: Include select layer when syncing.
2016-03-14 16:00:21 -07:00
Michael Jumper
d59a6ebf62
GUAC-1389: Remove use of guac_common_display from terminal.
2016-03-14 16:00:21 -07:00
Michael Jumper
a14e0fa3fb
GUAC-1389: Redraw / resync terminal contents.
2016-03-14 16:00:21 -07:00
Michael Jumper
60dec61c51
GUAC-1389: Redraw / resync scrollbar state when a new user joins a terminal session.
2016-03-14 16:00:21 -07:00
Michael Jumper
e750ca9499
GUAC-1389: Update terminal to support screen sharing.
2016-03-09 12:57:41 -08: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
70ce9fa96a
GUAC-1389: Fix typo in punctuation of documentation for guac_client_for_owner().
2016-03-04 19:46:21 -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
9e8790cbba
GUAC-1389: Fix race in cursor update when a past user has left the connection.
2016-03-04 17:05:45 -08:00
Michael Jumper
e7ada26f55
GUAC-1389: Provide guac_client_for_user() function which validates user pointers, allowing code to safely store and use guac_user pointers.
2016-03-04 16:44:30 -08:00
James Muehlner
36cabe3d09
Merge pull request #117 from glyptodon/missing-includes
...
GUAC-1389: Add missing includes for guacd's connection.c
2016-03-04 13:34:18 -08:00
Michael Jumper
4e50603404
GUAC-1389: Add missing includes for guacd's connection.c.
2016-03-04 13:28:52 -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
James Muehlner
41a21c9b0c
Merge pull request #115 from glyptodon/fix-palette-free
...
GUAC-1389: Palette must be freed.
2016-03-03 11:15:13 -08:00
Michael Jumper
e625a7a887
GUAC-1389: Palette must be freed.
2016-03-03 11:06:55 -08:00
Michael Jumper
8e8b632716
GUAC-1389: Ensure proc is freed and cleaned up, regardless of whether it started properly.
2016-03-03 11:00:21 -08:00
James Muehlner
f7b30414fb
Merge pull request #113 from glyptodon/fake-merge-screen-sharing-004-guacd
...
GUAC-1389: Add screen sharing support to guacd.
2016-03-02 21:29:12 -08:00
Michael Jumper
b3b5a65923
GUAC-1389: Simply logic surrounding freeaddrinfo().
2016-03-02 20:09:07 -08:00
Michael Jumper
39fd2c152f
GUAC-1389: Document guacd_user_start() and corresponding threads.
2016-03-02 16:37:44 -08:00
Michael Jumper
b169ea0f6e
GUAC-1389: Document creation of SSL-wrapped guac_socket.
2016-03-02 16:32:09 -08:00
Michael Jumper
ed44e0c4b0
GUAC-1389: Document process management functions. Remove unnecessary parameter.
2016-03-02 16:26:38 -08:00
Michael Jumper
26bdd9bc38
GUAC-1389: Document client process map manipulation functions.
2016-03-02 15:34:39 -08:00
Michael Jumper
d595d96304
GUAC-1389: Document file descriptor passing functions.
2016-03-02 14:50:34 -08:00
Michael Jumper
1e4a83b3da
GUAC-1389: Document daemonization helper functions.
2016-03-02 14:44:15 -08:00