Nick Couchman
c750b18f60
GUACAMOLE-422: Handle sending version internally.
2019-04-11 17:18:27 -04:00
Nick Couchman
2f57564f5d
GUACAMOLE-422: Remove duplicate code and migrate handshake to user handlers.
2019-04-11 17:18:27 -04:00
Nick Couchman
2b68925ec9
GUACAMOLE-422: Add protocol version as initial item passed back in args.
2019-04-11 17:18:27 -04:00
Nick Couchman
0ee47e0186
GUACAMOLE-422: Change handshake to ignore order of opcodes.
2019-04-11 17:18:27 -04:00
Nick Couchman
5480b288e8
GUACAMOLE-422: Remove NULL check for parser argv.
2019-04-11 17:18:27 -04:00
Nick Couchman
5caa8a25f7
GUACAMOLE-422: SSH parameter should use handshake for default.
2019-04-11 17:18:27 -04:00
Nick Couchman
6fae0b4b23
GUACAMOLE-422: Use timezone from handshake when parameter does not exist.
2019-04-11 17:18:27 -04:00
Nick Couchman
f70aa4939f
GUACAMOLE-422: Add client timezone to handshake.
2019-04-11 17:16:43 -04:00
Nick Couchman
cd3432e594
Merge 1.1.0 changes back to master.
2019-04-10 06:18:53 -04:00
Michael Jumper
0c25782036
GUACAMOLE-637: Add missing libguac include path to RDP and common-ssh tests.
2019-04-09 23:36:03 -07:00
James Muehlner
6dad6cd919
Merge 1.1.0 changes back to master.
2019-04-09 21:52:28 -07:00
James Muehlner
dd4c3968d1
GUACAMOLE-637: Merge migration to new libguac string functions.
2019-04-09 21:49:16 -07:00
m-khan-glyptodon
871f31353b
GUACAMOLE-764: Updated variable type for offsets to uint64_t to increase rdp write to a 64-bit addressable space
2019-04-08 15:27:58 -07:00
m-khan-glyptodon
2db7ffbaab
GUACAMOLE-764: Updated variable type for offsets to uint64_t to increase rdp read to a 64-bit addressable space
2019-04-08 15:00:59 -07:00
Michael Jumper
f8ec709e33
GUACAMOLE-637: Correct naming of SFTP unit tests.
2019-04-07 16:51:53 -07:00
Michael Jumper
cda7bca126
GUACAMOLE-637: Add RDP filesystem and SFTP unit tests for path depth.
2019-04-07 16:51:33 -07:00
Michael Jumper
6e2be38ae2
GUACAMOLE-637: Add path depth limits to generated paths in unit tests.
2019-04-07 16:36:16 -07:00
Michael Jumper
986f7f5d64
GUACAMOLE-637: Use same logic for RDP filesystem path normalization as SFTP.
2019-04-07 16:30:27 -07:00
Michael Jumper
1591980579
GUACAMOLE-637: Simplify SFTP path normalization logic. Correct behavior to match documentation.
2019-04-07 16:14:00 -07:00
Michael Jumper
591e494dfd
GUACAMOLE-637: Add unit tests for RDP filesystem path normalization.
2019-04-07 13:56:52 -07:00
Michael Jumper
f19754cfa6
GUACAMOLE-637: Add unit tests for SFTP path normalization.
2019-04-07 13:50:53 -07:00
Michael Jumper
24ab5ca85b
GUACAMOLE-637: Remove unnecessary .gitignore files. Universally exclude test output. Remove duplicated exclusions.
2019-04-07 11:50:43 -07:00
Nick Couchman
1b8e31b70c
GUACAMOLE-296: Add checks for Stream functions in winpr libraries.
2019-03-24 16:12:20 -04:00
Nick Couchman
a4521208ba
GUACAMOLE-414: Remove unnecessary rfbconfig include.
2019-03-24 15:09:58 -04:00
Nick Couchman
a6f2ab9d93
GUACAMOLE-414: Use correct formatting for string from strerror.
2019-03-10 17:41:45 -04:00
Nick Couchman
bfc6c1e6e0
GUACAMOLE-414: Convert errors to strings from ptread_mutex_lock and unlock.
2019-03-10 17:40:34 -04:00
Nick Couchman
36817f3774
GUACAMOLE-414: Clean up style and move mutex init to client allocation.
2019-03-10 17:33:14 -04:00
Nick Couchman
df4c93b3e8
GUACAMOLE-414: Use configure checks for finding TLS locking support.
2019-03-10 15:22:49 -04:00
Nick Couchman
c90c057e12
GUACAMOLE-414: Add version checks for TLS locking.
2019-03-09 21:46:02 -05:00
Nick Couchman
e9a10d66b7
GUACAMOLE-414: Add pthread lock and callbacks for TLS write locking.
2019-03-09 21:27:30 -05:00
Michael Jumper
228cea4af1
GUACAMOLE-381: Disable outbound transfers from terminal protocols if "disable-copy" is set.
2019-02-19 12:11:24 -08:00
Michael Jumper
254615509a
GUACAMOLE-381: Disable or ignore outbound clipboard transfers for VNC/RDP if "disable-copy" is set.
2019-02-19 11:45:30 -08:00
Michael Jumper
993d5c5707
GUACAMOLE-381: Disable inbound clipboard transfer if "disable-paste" is set.
2019-02-19 11:40:32 -08:00
Michael Jumper
7d2b7126db
GUACAMOLE-381: Add copy/paste disable flags for all supported protocols.
2019-02-19 11:34:18 -08:00
Michael Jumper
a0d030a7ae
GUACAMOLE-729: Update libtool version info for libguac (interfaces added and changed).
2019-02-09 11:20:06 -08:00
Virtually Nick
7065ff5586
GUACAMOLE-712: Merge add Danish to RDP
2019-02-06 09:01:33 -05:00
netromnetrom
aeb9b99a6c
Merge pull request #2 from netromnetrom/patch-1
...
Patch 1
2019-02-06 12:01:19 +01:00
Michael Jumper
c6feef6c86
GUACAMOLE-637: Clarify purpose of initial empty path component. Fix normalization logic to ensure that empty component is always present.
2019-01-23 20:28:09 -08:00
Michael Jumper
350d8e5995
GUACAMOLE-637: Document failsafe behavior of guac_strlcat() in the event the destination buffer is not terminated as required.
2019-01-23 19:02:19 -08:00
Michael Jumper
ba8fd17394
GUACAMOLE-637: "concatentation" ... not "contatenation".
2019-01-23 18:53:06 -08:00
Michael Jumper
9fb713d804
GUACAMOLE-637: Correct grammar of documentation for guac_strl*() unit tests.
2019-01-23 18:51:53 -08:00
Michael Jumper
b7761e9a2e
GUACAMOLE-637: The $^
variable is non-portable and specific to GNU Make. As otherwise POSIX-compliant platforms may not provide this variable, we shouldn't use it here.
2019-01-23 18:44:45 -08:00
Michael Jumper
789e3883d6
GUACAMOLE-637: Not all systems place Perl in /usr/bin. The line #!/usr/bin/env perl
should be used for portability.
2019-01-23 18:44:45 -08:00
Michael Jumper
e6c5da315e
GUACAMOLE-637: Add unit tests for guac_strljoin().
2019-01-23 18:44:45 -08:00
Michael Jumper
258946cd88
GUACAMOLE-637: Correctly handle string lengths as size_t (unsigned).
2019-01-23 18:44:45 -08:00
Michael Jumper
068f33aaef
GUACAMOLE-637: Add unit tests for guac_strlcat().
2019-01-23 18:44:45 -08:00
Michael Jumper
dec3642905
GUACAMOLE-637: Add unit tests for guac_strlcpy().
2019-01-23 18:44:45 -08:00
Michael Jumper
fdd3292f09
GUACAMOLE-637: Simplify path translation logic. Update to use guac_strl*(). Fix return values.
2019-01-23 18:44:45 -08:00
Michael Jumper
3549da0dd1
GUACAMOLE-637: Replace usages of strncat() with guac_strlcat().
2019-01-23 18:44:45 -08:00
Michael Jumper
e5c1147cf6
GUACAMOLE-637: Replace usages of strncpy() with guac_strlcpy().
2019-01-23 18:44:45 -08:00
Michael Jumper
5bf6a1479c
GUACAMOLE-637: Add convenience function for joining an array of strings using a given delimiter.
2019-01-23 18:44:45 -08:00
Michael Jumper
a78f254611
GUACAMOLE-637: Add strlcat() implementation. Use libc strlcat() if available.
2019-01-23 18:44:45 -08:00
Michael Jumper
d7909a77aa
GUACAMOLE-637: Add strlcpy() implementation. Use libc strlcpy() if available.
2019-01-23 18:44:45 -08:00
Michael Jumper
f6953e1317
GUACAMOLE-637: Use proper namespaced path for Guacamole headers within libguac source.
2019-01-23 18:44:45 -08:00
netromnetrom
7b7c8a1b02
Update Makefile.am
2019-01-22 16:24:56 +01:00
netromnetrom
a06edb9deb
Update and rename dk_dk_qwerty.keymap to da_dk_qwerty.keymap
2019-01-22 14:36:05 +01:00
Michael Jumper
d73b86b4b7
GUACAMOLE-661: Mark "nest" instruction and socket as deprecated.
2019-01-07 09:37:08 -08:00
Michael Jumper
cc4671d7a1
GUACAMOLE-662: Correct handling of buffering within nested socket.
...
The nested socket implementation seems to have never been properly
updated since guac_socket was changed to rely on implementation-specific
buffering. This meant that absolutely every write resulted in a nest
instruction being sent to the parent socket.
Data should instead be built up within the internal buffer, with each
flush writing as much of the internal buffer as possible within a nest
instruction, leaving any partial UTF-8 characters at the end of the
buffer for later completion with future writes.
2019-01-06 17:09:35 -08:00
Michael Jumper
47ad6f4b59
GUACAMOLE-662: Properly initialize nested socket index (fixes GUACAMOLE-510).
2019-01-06 17:09:35 -08:00
Nick Couchman
aba7b987d3
GUACAMOLE-662: Merge fix handling of unit tests within buid.
2019-01-06 19:42:12 -05:00
Michael Jumper
b6477ea7ae
GUACAMOLE-354: Merge RDP keymap for Swiss-German keyboards.
2018-12-04 10:58:34 -08:00
Andrin
01142e6dd8
GUACAMOLE-354: Fixed keyboard name.
2018-12-04 08:30:36 +01:00
Andrin
9486ec7cc4
GUACAMOLE-354: Add Swiss-German keymap for RDP
2018-11-20 14:10:36 +01:00
Michael Jumper
476b431041
GUACAMOLE-662: Migrate tests to test runners generated by new convenience script. Remove unnecessary test runners.
2018-11-17 18:06:40 -08:00
Michael Jumper
867e63b524
GUACAMOLE-638: avcodec_register_all() should be used only if not deprecated.
2018-11-12 16:36:15 -08:00
Nick Couchman
7b1ba3f269
GUACAMOLE-422: Fix spelling mistake.
2018-11-12 12:09:51 -05:00
Nick Couchman
d1b3695282
GUACAMOLE-422: Fix type in strerror()
2018-11-12 11:56:57 -05:00
Nick Couchman
f61539c4e7
GUACAMOLE-422: Quick fixes for style and logging.
2018-11-12 11:55:07 -05:00
Nick Couchman
9a944637be
GUACAMOLE-422: Fix function declaration for pushing settings.
2018-11-11 17:25:12 -05:00
Nick Couchman
4bd19160de
GUACAMOLE-422: Add logging for RDP timzeone.
2018-11-11 17:22:03 -05:00
Nick Couchman
b3be9eb869
GUACAMOLE-422: Revert addition of logging for setting TZ variable.
2018-11-11 16:07:20 -05:00
Nick Couchman
0b71559017
GUACAMOLE-422: Add errno header.
2018-11-11 15:48:02 -05:00
Nick Couchman
e2b4de9d95
GAUCAMOLE-422: Add warning messages when TZ cannot be set.
2018-11-11 15:45:24 -05:00
Nick Couchman
d7ed452d69
GUACAMOLE-422: Update comments on timezone settings.
2018-11-11 15:30:17 -05:00
Nick Couchman
5536b836ad
GUACAMOLE-422: Add support for passing through TZ in SSH.
2018-11-11 14:11:40 -05:00
Nick Couchman
ffdc98d024
GUACAMOLE-422: Support timezone redirection in RDP via TZ variable.
2018-11-11 14:09:23 -05:00
Nick Couchman
381c5d1a76
GUACAMOLE-630: Merge allow font parameters of active terminal session to be changed.
2018-11-11 14:03:58 -05:00
Michael Jumper
5683be0ea3
GUACAMOLE-630: Allow SSH/telnet font family and size to be updated.
2018-11-10 14:22:23 -08:00
Michael Jumper
9e28de70ec
GUACAMOLE-630: Separate setting of font family/size from terminal display initialization.
2018-11-10 14:22:23 -08:00
Nick Couchman
d2cb7a9ce9
GUACAMOLE-630: Merge allow color scheme of active terminals to be changed.
2018-11-10 10:45:56 -05:00
Michael Jumper
0cf24219d8
GUACAMOLE-630: Define maximum "argv" stream length for SSH and telnet with symbolic constants.
2018-11-09 20:27:28 -08:00
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
f293c5e9c0
GUACAMOLE-630: Do not entirely reset terminal state when color scheme is changed.
2018-10-22 23:23:27 -07:00
Michael Jumper
dcab540839
GUACAMOLE-630: Persist semantics of default foreground/background with dedicated palette pseudo-indexes.
2018-10-22 23:23:27 -07: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
6f9f2189f2
GUACAMOLE-630: Separate color scheme parsing into own files.
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
Nick Couchman
760f7a649a
GUACAMOLE-629: Merge add support for updating connection parameters of in-progress connections.
2018-09-26 08:47:32 -04:00
Nick Couchman
2d6ce1a5fd
GUACAMOLE-632: Merge dynamic JPEG/WebP quality scaling.
2018-09-26 08:45:32 -04: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
Michael Jumper
45e8503ead
GUACAMOLE-632: Dynamically scale JPEG/WebP quality depending on measured processing lag.
2018-09-25 13:28:21 -07:00
Michael Jumper
8456c050ea
GUACAMOLE-629: Add support for updating connection parameters of in-progress connections.
2018-09-25 11:40:08 -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
1178b475da
GUACAMOLE-622: Do not allow STDIN to be redirected if the terminal is not yet started.
2018-09-02 23:04:14 -07: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
0b39b0fc5f
GUACAMOLE-622: Implicitly invoke guac_terminal_start() if prompting is required.
2018-09-02 23:04:14 -07:00
Michael Jumper
61a51df1b2
GUACAMOLE-622: Require guac_terminal_start() to be invoked before the terminal will render frames or accept user input.
2018-09-02 23:04:14 -07:00
Nick Couchman
332e187813
Merge 1.0.0 changes back to master.
2018-08-24 12:17:20 -04:00
Jim Chen
eb5aa14a6f
GUACAMOLE-470: Support named colors in color-scheme configuration.
...
When parsing named colors, treat semi-colons as string terminators, so
we can properly parse named colors within the color-scheme
configuration.
2018-08-24 10:42:24 -04:00
Michael Jumper
994cb95893
GUACAMOLE-610: Add console code for altering scrollback size on the fly.
2018-08-18 11:26:12 -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
Michael Jumper
6a576f0121
GUACAMOLE-610: Limit terminal width/height to 1024 characters.
2018-08-18 11:12:50 -07:00
Nick Couchman
0062f61d67
Merge 1.0.0 changes back to master.
2018-07-31 08:12:30 -04:00
Michael Jumper
4f25410aa9
GUACAMOLE-559: Guarantee ordered modification to the clipboard. Do not allow modification of clipboard while clipboard contents are being sent.
2018-07-30 23:53:03 -07: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
e66178ff9a
GUACAMOLE-597: Add flag for forcing automatic flushing of pipe stream.
2018-07-27 14:23:50 -07:00
Michael Jumper
99b17b0ac4
GUACAMOLE-597: Add flag which sends terminal output to both the user's display and the open pipe stream.
2018-07-27 14:23:44 -07:00
Michael Jumper
e02df8d550
GUACAMOLE-597: Additionally parse integer flags which may affect pipe stream contents.
2018-07-27 14:23:33 -07:00
Michael Jumper
b0b0b186f5
GUACAMOLE-573: Ensure scrollback buffer bounds cannot be exceeded. Remove incorrect bounds checks.
2018-07-17 21:55:46 -07:00
Michael Jumper
f5b5ac7183
Merge 1.0.0 changes back to master.
2018-07-05 22:54:36 -07:00
Michael Jumper
71f993b25d
GUACAMOLE-446: Merge changes adding support for overriding default RDP virtual drive name.
2018-07-05 22:53:29 -07:00
Michael Jumper
83f8dd50df
Merge 1.0.0 changes back to master.
2018-07-05 14:42:15 -07:00
Nick Couchman
adcdb080cb
GUACAMOLE-587: Increase max number of elements per instruction.
2018-07-05 16:42:33 -04: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
fe44fd7c3b
GUACAMOLE-527: Remove unused error message length variable.
2018-06-25 20:04:26 -04:00
Nick Couchman
7bc6a62365
GUACAMOLE-527: Do not call a remote host key a fingerprint.
2018-06-25 13:57:01 -04:00
Nick Couchman
ba684962b6
GUACAMOLE-527: Plug some memory leaks before returning NULL.
2018-06-25 13:50:19 -04:00
Nick Couchman
f9379dc6bb
GUACAMOLE-527: Get full error message when key verification fails.
2018-06-25 08:37:34 -04:00
Nick Couchman
7e254955e8
GUACAMOLE-527: Slight tweak to error message.
2018-06-25 08:31:37 -04:00
Nick Couchman
ebbb7492e7
GUACAMOLE-527: Add warning if no known host keys are provided.
2018-06-25 08:31:37 -04:00
Nick Couchman
27c977adb2
GUACAMOLE-527: Make sure ssh_known_hosts exists before trying to load.
2018-06-25 08:31:37 -04:00
Nick Couchman
428243bb78
GUACAMOLE-527: Move host key checking to a separate function.
2018-06-25 08:31:37 -04:00
Nick Couchman
ac2b4f8d12
GUACAMOLE-527: Check either provided key or key file, if it exists.
2018-06-25 08:31:37 -04: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
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