Michael Jumper
c1b8250300
GUACAMOLE-629: Move constants for Guacamole protocol to dedicated "*-constants.h" header.
2019-07-30 13:33:18 -07:00
Michael Jumper
a763d47bc7
GUACAMOLE-629: Add support for sending "argv" instructions from server to client.
2019-07-30 13:06:46 -07:00
Nick Couchman
26bb10a486
GUACAMOLE-422: Add empty handler and trace logging for nop instruction.
2019-07-23 14:29:50 -04:00
Nick Couchman
bf741a46d6
GUACAMOLE-422: Minor style and debug changes.
2019-04-27 21:37:26 -04:00
Nick Couchman
93a240b8ad
GUACAMOLE-422: Add debugging and check argument count.
2019-04-24 22:21:18 -04:00
Nick Couchman
4b43de963e
GUACAMOLE-422: Break handshake out into separate function; NULL out timezone when not received.
2019-04-22 11:49:46 -04:00
Nick Couchman
588e0f194a
GUACAMOLE-422: Fix return documentation on opcode handler function.
2019-04-19 15:50:29 -04:00
Nick Couchman
ab12b2aa8e
GUACAMOLE-422: More substantial comment for protocol version; NULL out timezone at beginning of handshake.
2019-04-19 15:48:14 -04:00
Nick Couchman
98cb7ccf67
GUACAMOLE-422: Fix comment and style.
2019-04-17 15:12:46 -04:00
Nick Couchman
75c0deac1f
GUACAMOLE-422: Update comment style for consistency.
2019-04-17 15:03:27 -04:00
Nick Couchman
54f88531d4
GUACAMOLE-422: Try to avoid memory leaks with mimetypes.
2019-04-17 15:00:46 -04:00
Nick Couchman
340aef5362
GUACAMOLE-422: Update to remove first argument
2019-04-17 14:41:35 -04:00
Nick Couchman
379fce2d77
GUACAMOLE-422: Rename new opcode handler function.
2019-04-11 17:21:36 -04:00
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
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
James Muehlner
dd4c3968d1
GUACAMOLE-637: Merge migration to new libguac string functions.
2019-04-09 21:49:16 -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
Michael Jumper
a0d030a7ae
GUACAMOLE-729: Update libtool version info for libguac (interfaces added and changed).
2019-02-09 11:20:06 -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
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
3549da0dd1
GUACAMOLE-637: Replace usages of strncat() with guac_strlcat().
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
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
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
d851f10a48
GUACAMOLE-353: Clarify applicability of ASF header when transcluded into generated build files.
2018-10-02 20:37:49 -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
adcdb080cb
GUACAMOLE-587: Increase max number of elements per instruction.
2018-07-05 16:42:33 -04: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
9705b39c2b
GUACAMOLE-324: Continuously write chunks of data until entire buffer has been sent.
2018-02-06 21:29:31 -08:00
Nick Couchman
4d7191147c
GUACAMOLE-313: Merge add support for including key events within session recordings.
2018-02-02 16:16:42 -05:00
Nick Couchman
08f854ffef
GUACAMOLE-313: Merge add support for logging mouse cursor information.
2018-01-30 14:05:39 -05:00
Michael Jumper
b21aef565b
GUACAMOLE-313: Add function for sending "key" instructions.
2018-01-26 16:42:14 -08:00
Michael Jumper
81a0e66d9f
GUACAMOLE-313: Include current button state within mouse update for completeness.
2018-01-26 16:21:53 -08:00
Michael Jumper
a74d6a2aaf
GUACAMOLE-313: Include timestamp with mouse position reporting.
2018-01-26 16:21:49 -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
1b81549c97
GUACAMOLE-423: Update libtool version info for libguac (interfaces added, none changed/removed).
2017-12-07 19:10:45 -08: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
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
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
Michael Jumper
b608d2266b
GUACAMOLE-337: Clarify behavior of guac_user_handle_connection().
2017-07-05 19:54:06 -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
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
584c108d1a
GUACAMOLE-314: Bump libtool version info (interface added, none changed/removed).
2017-06-01 22:52:12 -07:00
Michael Jumper
1081131aa5
GUACAMOLE-259: Log server and user frame timing information at TRACE level.
2017-03-31 10:48:58 -07:00
Michael Jumper
e910dcbfcc
GUACAMOLE-259: Add TRACE log level.
2017-03-30 01:15:51 -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
2c2824fc5b
Merge 0.9.12-incubating changes back to master.
2017-03-13 22:13:10 -07: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
c4903a8e36
Merge 0.9.12-incubating changes back to master.
2017-02-28 10:32:49 -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
0210b7dc6b
GUACAMOLE-208: Add protocol status codes representing upstream network errors and session behavior.
2017-02-15 21:23:07 -08:00
James Muehlner
5d5fbb4d45
GUACAMOLE-172: Merge lag calculation improvements.
2017-01-24 23:26:29 -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
James Muehlner
a1886f51bd
GUACAMOLE-171: Merge move of broadcast socket to public API.
2017-01-24 11:49:29 -08:00
Michael Jumper
6131ad0341
GUACAMOLE-172: Ignore insane timestamps when calculating lag.
2017-01-24 00:18:10 -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
8b08a0e444
GUACAMOLE-154: Bump libtool version-info.
2017-01-09 11:38:47 -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
James Muehlner
96f853d8ff
GUACAMOLE-87: Bump libtool version-info.
2016-08-25 22:29:02 -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
bdbe1df43c
GUAC-1511: Add user audio handler and definition. Handle received "audio" instructions.
2016-03-30 15:32:09 -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
8c37db8a07
GUAC-1164: Add missing free() for client connection ID.
2016-03-17 16:03:58 -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
70ce9fa96a
GUAC-1389: Fix typo in punctuation of documentation for guac_client_for_owner().
2016-03-04 19:46:21 -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
Michael Jumper
e625a7a887
GUAC-1389: Palette must be freed.
2016-03-03 11:06:55 -08:00
Michael Jumper
e42566816c
GUAC-1389: PNG encoder should always release palette storage if an error occurs.
2016-03-02 10:55:37 -08:00
Michael Jumper
15f7fedfea
GUAC-1389: Ensure dlopen()'d handle to plugin is released on error.
2016-03-02 10:54:58 -08:00
Michael Jumper
14522dab22
GUAC-1389: Add missing documentation for socket handlers.
2016-03-01 13:02:48 -08:00
Michael Jumper
7653fa106e
GUAC-1389: Document internal stream management functions. Fix semantics of stream closure.
2016-03-01 12:50:51 -08:00
Michael Jumper
cd006a4066
GUAC-1389: Fix spelling of "markers".
2016-03-01 12:25:04 -08:00