Commit Graph

1559 Commits

Author SHA1 Message Date
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
Michael Jumper
cb8fe46328 GUAC-1389: Add missing documentation for connection handling functions. 2016-03-02 14:36:16 -08:00
Michael Jumper
9e7663463f GUAC-1389: Restore guacd within build. Migrate guacd to screen sharing changes. 2016-03-02 12:46:00 -08:00
Michael Jumper
c9346014df GUAC-1389: Release candidate addresses of no connection can be established. 2016-03-02 10:59:03 -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
48143f6a0a GUAC-1389: Add convenience function for exposing SFTP filesystems to specific users. 2016-03-01 17:28:35 -08:00
Michael Jumper
cb70c6e8b9 GUAC-1389: Bring common-ssh up to date with screen sharing changes. 2016-03-01 17:28:35 -08:00
Michael Jumper
12d5c315bb GUAC-1389: Add missing parameter comments to static functions in common. 2016-03-01 16:46:19 -08:00
Michael Jumper
bbceed5200 GUAC-1389: Bring common headers up-to-date with current style. 2016-03-01 16:40:23 -08:00
Michael Jumper
f393561925 GUAC-1389: Bring common up to date with screen sharing changes. 2016-03-01 16:27:32 -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
Michael Jumper
1726af0c97 GUAC-1389: Add missing parameter documentation for user-level instruction handlers. 2016-03-01 12:25:04 -08:00
Michael Jumper
dd0cecc7ea GUAC-1389: Add missing parameter comments to user-specific handlers. Clarify purpose of handlers. 2016-03-01 12:25:04 -08:00
Michael Jumper
c3a487f9ec GUAC-1389: Fix spelling of "previously". 2016-03-01 12:25:04 -08:00
Michael Jumper
3734a68a42 GUAC-1389: Fix strange and unnecessary wrapping of line. 2016-03-01 12:25:04 -08:00
Michael Jumper
5ae0da65e1 GUAC-1389: Remove unnecessary blank line. 2016-03-01 12:25:04 -08:00
Michael Jumper
62ccd78122 GUAC-1389: Add missing parameter comments to static handlers of guac_client and the broadcast socket. 2016-03-01 12:25:04 -08:00
Michael Jumper
6d2ddd72a5 GUAC-1389: Add missing parameter comments for client handlers. 2016-03-01 12:25:04 -08:00
Michael Jumper
ea1a34083c GUAC-1389: Explain significance of the type-punning union. 2016-03-01 12:25:04 -08:00
Michael Jumper
76e3b2ebb8 GUAC-1389: Restore libguac's high-level convenience functions for audio streaming. 2016-03-01 12:25:04 -08:00
Michael Jumper
fbe4d53fb1 GUAC-1389: Refactor libguac to allow screen sharing. 2016-03-01 12:24:57 -08:00
Michael Jumper
c5fd72bb98 GUAC-1477: Ensure any fd_set used by guac_socket is always properly initialized. 2016-02-01 15:14:20 -08:00
Michael Jumper
d0be90e711 GUAC-1410: Fix keymap ordering in Makefile.am. 2016-02-01 14:48:39 -08:00
Mike Jumper
bef52c9496 Merge pull request #98 from moriyoshi/moriyoshi/ja-jp-keymap
GUAC-1410: Add ja-jp keymap
2016-02-01 14:47:46 -08:00
Michael Jumper
b35a0c3695 GUAC-1451: Fix order of resource release in case typescript creation failure. 2016-01-28 10:47:04 -08:00
Michael Jumper
4661f432f0 GUAC-1452: Parse and handle typescript parameters within SSH and telnet. 2016-01-27 12:43:53 -08:00
Michael Jumper
d9dacedbe0 GUAC-1452: Log typescript creation/failure. 2016-01-27 12:43:53 -08:00
Michael Jumper
c68f96741d GUAC-1452: Store filenames within typescript struct. 2016-01-27 12:43:53 -08:00
Michael Jumper
7c7a68975b GUAC-1452: Append .timing to end of basename for timing file. 2016-01-27 12:43:53 -08:00
Michael Jumper
d421bbc075 GUAC-1452: Automatically create directory if requested. 2016-01-27 12:43:53 -08:00
Michael Jumper
e9fb7a67da GUAC-1452: Try and retry the specified filename until success or no further possibilities exist. 2016-01-27 12:43:53 -08:00
Michael Jumper
0d5355560e GUAC-1452: Fix inverted logic for typescript alloc return value. 2016-01-27 12:43:53 -08:00
Michael Jumper
6297f11724 GUAC-1452: Cap timing entries at a maximum of 24 hours per entry. 2016-01-27 12:43:53 -08:00
Michael Jumper
8a6a2a1156 GUAC-1452: Actually write timestamps to timing file. 2016-01-27 12:43:53 -08:00
Michael Jumper
88a121f81e GUAC-1452: Write required header/footer. 2016-01-27 12:43:53 -08:00
Michael Jumper
b2a356d4b8 GUAC-1452: Write to and flush typescript automatically. 2016-01-27 12:43:52 -08:00
Michael Jumper
cc76f2f4af GUAC-1452: Fix typescript file creation permissions. 2016-01-26 16:42:24 -08:00
Michael Jumper
3f4bac3d04 GUAC-1452: Add base typescript implementation and stubs. 2016-01-25 17:04:15 -08:00
Michael Jumper
ad34aa99b4 GUAC-1452: Add typescript parameters for SSH/telnet. 2016-01-25 13:12:24 -08:00
Moriyoshi Koizumi
d42ac5aca6 GUAC-1410: Add ja-jp keymap 2016-01-19 17:08:34 +09:00
Michael Jumper
4bc5ebe7da GUAC-1452: Ensure pipe is flushed and closed if terminal is destroyed. 2016-01-13 18:07:37 -08:00
Michael Jumper
ff557a7f01 GUAC-1452: Echo to pipe stream if open (buffered). 2016-01-13 17:38:13 -08:00
Michael Jumper
01edd8ccd8 GUAC-1452: Implement pipe open/close within OSC. 2016-01-13 10:37:41 -08:00
Michael Jumper
051701d566 GUAC-1452: Provide for storage of pipe stream within terminal struct. 2016-01-13 10:37:41 -08:00
Michael Jumper
528de38359 GUAC-1452: Document terminal char handlers. 2016-01-13 10:37:40 -08:00
Michael Jumper
b869edb0a2 GUAC-1452: Add stub handlers for new pipe OSC codes. 2016-01-13 10:37:40 -08:00
Michael Jumper
8b6ca810d9 GUAC-1471: Properly calculate heat map dimensions. 2016-01-12 22:44:28 -08:00
Michael Jumper
858c4450eb GUAC-1434: Document undocumented function parameters. 2015-12-15 16:14:15 -08:00
Michael Jumper
3e69bc51e7 GUAC-1392: Update libtool version (libguac API has changed and is not 100% compatible with 0.9.8 or older). 2015-12-15 13:11:16 -08:00
Michael Jumper
edd6b9af1c GUAC-1392: Bump version to 0.9.9. 2015-12-15 13:09:42 -08:00
Michael Jumper
c7c4010306 GUAC-1425: Use proper enum constant for WebPConfigPreset(). 2015-12-09 13:44:54 -08:00
James Muehlner
7e78ac1eb9 Merge pull request #97 from glyptodon/hyper-v
GUAC-363: Add support for the RDP preconnection PDU (and thus Hyper-V)
2015-11-03 20:14:26 -08:00
Michael Jumper
5d608b3500 GUAC-363: Warn of invalid preconnection IDs. 2015-11-03 15:41:28 -08:00
Michael Jumper
b47cff044e GUAC-363: Set preconnection BLOB and ID if supported by FreeRDP and specified within connection parameters. 2015-11-03 13:36:58 -08:00
Michael Jumper
7fdbc45575 GUAC-1196: The close handler should do nothing - it is not a stub. 2015-11-02 17:18:30 -08:00
Michael Jumper
63f3652c54 GUAC-1196: Document RDPSND message handlers. 2015-11-02 17:15:35 -08:00
Michael Jumper
c3e2754ec4 GUAC-1196: Load RDPSND if RDPDR is loaded, but do not actually handle audio unless enabled. 2015-11-02 16:54:37 -08:00
Michael Jumper
0dddf47af0 GUAC-1196: Use guac_client to access guac_audio_stream rather than storing the audio stream directly. 2015-11-02 15:55:52 -08:00
Mike Jumper
f9cc90307b Merge pull request #89 from frenche/listen_once
GUAC-1361: listen() need not be present in main loop
2015-11-02 11:56:00 -08:00
James Muehlner
5c6ad497f4 Merge pull request #95 from glyptodon/ssh-command
GUAC-1038: Add support for running specific commands via SSH
2015-10-20 11:56:17 -07:00
Michael Jumper
e8b98abfc4 GUAC-1038: Add support for running specific commands via SSH (instead of a shell). 2015-10-19 15:58:44 -07:00
Michael Jumper
364987b159 GUAC-1374: The keep alive ping is disabled by default. 2015-10-19 11:55:18 -07:00
Mike Jumper
8a91965b07 Merge pull request #92 from flangelo/encoding_artifacts
GUAC-1366: Adjust WebP and JPEG image sizes before compressing to avo…
2015-10-19 11:48:39 -07:00
Mike Jumper
0f2041ee5c Merge pull request #91 from flangelo/jpeg_if_bmp_large_enough
GUAC-1365: Don't send JPEG image refreshes if the image size is less …
2015-10-19 11:46:34 -07:00
Michael Jumper
a1c1fa104b GUAC-1354: Remove duration from video instruction. 2015-10-18 22:08:45 -07:00
Frode Langelo
670c6b766e GUAC-1365: Don't send JPEG image refreshes if the image size is less than 4096 pixels. WebP decision should not include the size check. 2015-10-16 16:46:10 +00:00
Frode Langelo
69a7b8c066 GUAC-1366: Adjust WebP and JPEG image sizes before compressing to avoid artifacts on the edges of the images 2015-10-06 22:31:58 +00:00
James Muehlner
6a7b397110 Merge pull request #88 from glyptodon/copy-mimetypes
GUAC-1305: Copy mimetypes - do not just point instruction storage
2015-10-02 23:47:34 -07:00
Michael Jumper
e7ab5b50ab GUAC-1354: Remove old Ogg encoder. 2015-10-02 17:16:47 -07:00
Michael Jumper
7cf2005f5b GUAC-1354: Replace WAVE encoder with raw PCM encoder. Partially migrate to new audio streaming (Ogg not yet migrated). 2015-10-02 17:16:47 -07:00
Isaac Boukris
61b01299b2 GUAC-1361: listen() need not be present in main loop
See GUAC-1361.

Signed-off-by: Isaac Boukris <iboukris@gmail.com>
2015-09-28 04:06:39 +03:00
Michael Jumper
653751e2f5 GUAC-1305: Copy mimetypes into client structure. Instruction contents CANNOT be relied upon after new instruction data is read (the argv, etc. buffers are reused and shared). 2015-09-24 12:45:14 -07:00
Michael Jumper
9a3a1bdcde GUAC-1305: Mimetype pointers need not be const. 2015-09-24 12:45:07 -07:00
Michael Jumper
1211c366bf GUAC-1305: Support lossless WebP within encoder. 2015-09-22 12:17:26 -07:00
Michael Jumper
3597a20890 GUAC-1305: Clean up WebP encoder. 2015-09-20 21:06:46 -07:00
Michael Jumper
0dd4d9b9fa GUAC-1305: Send WebP images in preference to JPEG when supported. 2015-09-20 18:58:30 -07:00
Michael Jumper
be64fd23c7 GUAC-1305: Add functions for checking WebP support and streaming WebP images. 2015-09-20 18:53:19 -07:00
Frode Langelo
42dba743eb GUAC-1305: Add support for WebP encoded images. Added optional dependency on libwebp. 2015-09-20 18:12:41 -07:00
James Muehlner
fdc40a9315 Merge pull request #84 from glyptodon/image-handshake
GUAC-1305: Add image mimetypes to Guacamole protocol handshake.
2015-09-20 17:37:30 -07:00
Michael Jumper
c57abf3411 GUAC-1305: Add image mimetypes to Guacamole protocol handshake. 2015-09-20 16:15:13 -07:00
Mike Jumper
24cbf72388 Merge pull request #74 from flangelo/num_keypad_map
GUAC-1314: Add mapping of numeric keypad operators to the base RDP keymap.
2015-09-20 14:22:06 -07:00
Michael Jumper
7cb632c5c9 GUAC-240: Ensure initialization of last_pixel is obvious. 2015-09-18 11:38:22 -07:00
Michael Jumper
4e97843ef0 Merge branch 'master' into experimental
Conflicts:
	src/common/guac_surface.c
2015-09-14 14:19:54 -07:00
Michael Jumper
ab4af86c7b GUAC-1323: Send proper Guacamole protocol status codes for SFTP errors. 2015-09-06 13:39:08 -07:00
Michael Jumper
afb671c594 GUAC-427: Ensure socket is flushed when audio buffer is flushed. 2015-09-04 18:58:21 -07:00
Michael Jumper
927ceb99dd GUAC-427: Fix const-ness of pointer. 2015-09-04 13:47:21 -07:00
Michael Jumper
47b060d6eb GUAC-427: Avoid sending silence received from PulseAudio. 2015-09-04 13:40:51 -07:00
Michael Jumper
037f5bc514 GUAC-1280: Bump version numbers to 0.9.8. Update libtool versioning. 2015-09-04 13:30:51 -07:00
James Muehlner
c02ade76ca Merge pull request #75 from glyptodon/fix-makefile-indent
GUAC-1297: Remove indentation / use tabs where required by Makefile standard.
2015-09-04 13:29:56 -07:00
Michael Jumper
3d888c2eb5 GUAC-240: Byte order of pixels is BGR, not BRG. 2015-09-04 13:01:06 -07:00
Michael Jumper
08cadba16d GUAC-240: Remove guac_protocol_send_png() and guac_protocol_send_jpeg(). 2015-09-04 12:59:00 -07:00
Michael Jumper
59f440209c GUAC-240: Add function for streaming JPEG images via img instruction. 2015-09-04 12:58:47 -07:00
Michael Jumper
7aff3a257a GUAC-240: Move JPEG encoder to own file, writing directly to an img stream. 2015-09-04 12:58:39 -07:00
Michael Jumper
f79c661192 GUAC-240: Add function for streaming PNG images via img instruction. Use for surface. 2015-09-04 12:58:29 -07:00
Michael Jumper
8f2d6f2975 GUAC-240: Force flush at end of PNG write. 2015-09-04 12:58:22 -07:00
Michael Jumper
d07d8ba2d2 GUAC-240: Associate Guacamole client with surface. 2015-09-04 12:58:13 -07:00
Michael Jumper
364d2842ab GUAC-240: Move PNG encoder to own file, writing directly to an img stream. 2015-09-04 12:58:05 -07:00
Michael Jumper
74728d2944 GUAC-1297: Remove indentation / use tabs where required by Makefile standard. 2015-09-04 11:55:30 -07:00
Frode Langelo
9fceb58444 GUAC-1314: Add mapping of numeric keypad operators to base RDP keymap 2015-09-03 15:52:37 +00:00
Michael Jumper
3bcb9863e7 GUAC-1296: Send IAC BRK when Pause, Break, or Ctrl+0 are pressed. 2015-08-23 16:21:50 -07:00
Michael Jumper
08cfde7678 GUAC-1296: Stub Pause / Break / Ctrl+0 key handling within telnet client. 2015-08-23 16:10:51 -07:00
Michael Jumper
5dc5a9dbca GUAC-240: Rename optimality function to match convention used elsewhere in this file. 2015-08-17 16:14:57 -07:00
Michael Jumper
16fd8f6c7d GUAC-240: Fix buffer error in calculation of framerate. Clarify naming. 2015-08-17 16:09:40 -07:00
Michael Jumper
c604777622 GUAC-240: Remove unused macros. 2015-08-17 16:04:07 -07:00
Michael Jumper
62572073b0 GUAC-240: Dynamically allocate heat map. Throw away heat map during resize. 2015-08-17 16:02:19 -07:00
Michael Jumper
cc21092ac2 GUAC-240: Remove unnecessary change to PNG function. 2015-08-17 11:11:30 -07:00
Michael Jumper
2d66ae87f9 GUAC-240: Improve PNG optimality approximation algorithm (count average run length). 2015-08-17 11:02:18 -07:00
Michael Jumper
b0db2c210f GUAC-240: Remove now-unused structure member. 2015-08-17 08:38:41 -07:00
Michael Jumper
b6a2de8a97 GUAC-240: Remove whitespace changes. 2015-08-17 08:37:43 -07:00
Michael Jumper
adcb887efb GUAC-240: Correct PNG optimality calculations. 2015-08-17 08:30:23 -07:00
Michael Jumper
b56afd8bb8 GUAC-240: Approximate whether images will compress well with JPEG vs. PNG. 2015-08-17 06:29:30 -07:00
Michael Jumper
f7cb3d56e9 GUAC-240: Update function documentation. Remove unused macros. 2015-08-17 01:51:03 -07:00
Michael Jumper
dd2e020351 GUAC-240: Move JPEG optimality test into own function. 2015-08-17 01:44:31 -07:00
Michael Jumper
baf01d5524 GUAC-240: Flush to JPEG if dirty rect is hot. 2015-08-17 01:34:32 -07:00
Michael Jumper
26f9070d99 GUAC-240: Restore flush to PNG. Simplify handling of flush. Remove lossy pipeline. 2015-08-17 01:27:09 -07:00
Michael Jumper
807e3a39a5 GUAC-240: Simplify and clarify update history tracking. Remove lossless refresh of previously-lossy updates for now. 2015-08-17 01:13:59 -07:00
Michael Jumper
254a0dded0 GUAC-240: Remove need for forward declarations of static functions. 2015-08-14 10:54:59 -07:00
Frode Langelo
379c4462ca GUAC-240: Implement adaptive encoding. Build a heat map of the screen, and use lossy image compression for areas refreshing frequently. Once refresh frequency is reduced the lossy area is repainted with a lossless image. 2015-08-14 10:54:59 -07:00
Michael Jumper
fde6abe98b GUAC-240: Byte order of pixels is BGR, not BRG. 2015-08-13 16:38:54 -07:00
Frode Langelo
9edf33da2e GUAC-1290: Change GUAC_VNC_FRAME_TIMEOUT to 10 so more VNC messages are handled in each frame. 2015-08-13 16:38:54 -07:00
Michael Jumper
78b7b73e78 GUAC-240: Remove guac_protocol_send_png() and guac_protocol_send_jpeg(). 2015-08-13 16:38:54 -07:00
Michael Jumper
1263965511 GUAC-240: Add function for streaming JPEG images via img instruction. 2015-08-13 16:38:54 -07:00
Michael Jumper
995373e74b GUAC-240: Move JPEG encoder to own file, writing directly to an img stream. 2015-08-13 16:38:54 -07:00
Michael Jumper
9c2d7f56ce GUAC-240: Add function for streaming PNG images via img instruction. Use for surface. 2015-08-13 16:38:54 -07:00
Michael Jumper
56fa7423f3 GUAC-240: Force flush at end of PNG write. 2015-08-13 16:38:53 -07:00
Michael Jumper
859f7d9340 GUAC-240: Associate Guacamole client with surface. 2015-08-13 16:38:53 -07:00
Michael Jumper
e73ef09fdd GUAC-240: Move PNG encoder to own file, writing directly to an img stream. 2015-08-13 16:38:53 -07:00
Michael Jumper
8ff071bf04 Fix botched merge conflict resolution. 2015-08-13 16:38:28 -07:00
Michael Jumper
48bbc6a898 Merge branch 'testing-common-ssh'
Conflicts:
	src/protocols/rdp/client.c
2015-08-13 16:29:22 -07:00
Michael Jumper
d85ed5f85f GUAC-1292: Use "sftp-directory" for default upload directory, if specified, for both VNC and RDP. 2015-08-13 16:21:15 -07:00
Mike Jumper
a64ed2bf72 Merge pull request #64 from flangelo/adaptive_jpeg
GUAC-240: New rectangle helper methods and utilities which will be us…
2015-08-07 23:55:28 -07:00
Michael Jumper
7bb798e40b GUAC-1285: Implement jpeg_mem_dest() for platforms that lack it. 2015-08-07 17:39:10 +00:00
Frode Langelo
385808c7a1 GUAC-240: New rectangle helper methods and utilities which will be used by adaptive encoding. Rectangle helper unit tests. 2015-08-06 17:19:35 -07:00
Michael Jumper
a52b285f45 GUAC-240: Fix typo - should be JPEG, not JOEG. 2015-08-05 22:02:54 -07:00
Frode Langelo
240867a432 GUAC-240: Make JPEG quality a parameter to methods. Reorder JPEG_LIBS in LDFLAGS 2015-08-05 15:16:27 -07:00
Frode Langelo
c27e2997dd GUAC-240: Implement support for JPEG server protocol and image compression. 2015-08-05 15:16:26 -07:00
Michael Jumper
93c151512f GUAC-1195: Migrate to scrollbar style which works against dark OR light backgrounds. 2015-07-28 16:51:01 -07:00
Michael Jumper
677c3ce6e8 GUAC-1195: Add "color-scheme" parameter to SSH and telnet. 2015-07-28 16:46:32 -07:00
Michael Jumper
fa443249c9 GUAC-1195: Use color scheme constants and names. 2015-07-28 16:43:23 -07:00
Michael Jumper
b2c2779465 GUAC-1195: Define and use color constants for terminal. 2015-07-28 16:20:14 -07:00
Michael Jumper
029b3bdb80 GUAC-1195: Configure default foreground/background when terminal is created. 2015-07-28 15:59:20 -07:00
Michael Jumper
e8e39fd862 GUAC-515: Add missing include required by mkdir(). 2015-07-28 14:40:35 -07:00
Michael Jumper
736ec7da23 GUAC-515: Clarify comments and formatting. Use simpler mkdir() logic. 2015-07-28 14:36:08 -07:00
Daryl Borth
52084f4f1f GUAC-515: Add new RDP setting, create-drive-path, to create the drive. 2015-07-28 14:26:27 -07:00
Michael Jumper
5e4c7de5c7 GUAC-298: Clarify function documentation and naming. Do not simply silently default to ISO8859-1 if encoding is invalid. 2015-07-27 18:19:50 -07:00
Michael Jumper
7bfd7ce0ca GUAC-298: Add missing comment. Update documentation style. 2015-07-27 17:51:03 -07:00
Michael Jumper
80a4d37173 Merge branch 'vnc_clipboard_encoding' of git://github.com/flangelo/guacamole-server into vnc-encoding
Conflicts:
	src/protocols/vnc/client.h
2015-07-27 17:47:26 -07:00
Michael Jumper
6f48ebe7fe GUAC-1264: Use proper parameter for SFTP password within RDP. 2015-07-24 13:55:10 -07:00
Michael Jumper
ec595b9cff GUAC-1264: Explicitly free users and sessions within VNC and RDP. 2015-07-24 13:55:05 -07:00
Michael Jumper
49beb7d7fd GUAC-1264: Require explicit free for users and sessions. Ensure SSH client data is zeroed upon allocation. 2015-07-24 13:20:36 -07:00
Michael Jumper
f8f16c44a9 GUAC-1264: Validate provided credentials. Log if anything is missing. 2015-07-23 16:28:48 -07:00
Michael Jumper
6ae5b94df3 GUAC-1171: Always close socket file descriptor when session creation fails. 2015-07-14 11:15:21 -07:00
James Muehlner
da1f2f2ad3 Merge pull request #56 from glyptodon/clean-resources
GUAC-1171: Ensure user and session objects are automatically free'd, and that this is documented.
2015-07-14 11:06:04 -07:00
Michael Jumper
cdefe52c67 GUAC-1171: Ensure user and session objects are automatically free'd, and that this is documented. 2015-07-14 11:02:48 -07:00
Michael Jumper
df221e05be GUAC-1171: RDP settings values may be NULL, and should not be used as defaults if NULL. 2015-07-14 10:49:06 -07:00
Michael Jumper
46ce69a8a9 GUAC-1171: Do not attempt to read error strings when there may be no such strings available. 2015-07-12 22:36:08 -07:00
Michael Jumper
4d941545cd GUAC-1171: Ensure directory names are null-terminated. 2015-07-12 22:27:02 -07:00
Michael Jumper
1316743b02 GUAC-1171: Do not fall through to DSA if RSA signature fails. 2015-07-12 22:24:26 -07:00
Michael Jumper
3eac35c158 GUAC-1171: Handle socket() error return values. 2015-07-12 22:22:32 -07:00
Michael Jumper
c6191f4539 GUAC-1171: Fix resource leaks. 2015-07-12 22:19:36 -07:00
Michael Jumper
cc717f4112 GUAC-1171: Fix SFTP file upload comments. 2015-07-10 22:41:02 -07:00
Michael Jumper
b770800eda GUAC-1171: Only include common SSH library if enabled. 2015-07-10 22:26:37 -07:00
Michael Jumper
2e5a3606f3 GUAC-1171: Set up handler for "file" instruction for SFTP filesystem, if no other handler is more appropriate. 2015-07-10 22:13:01 -07:00
Michael Jumper
43a534c98b GUAC-1171: Add SFTP filesystem support to RDP. 2015-07-10 22:13:01 -07:00
Michael Jumper
1500e63050 GUAC-1171: Add SFTP filesystem support to VNC. 2015-07-10 22:13:01 -07:00
Michael Jumper
bfe4895408 GUAC-1171: Remove extra trailing spaces from parameter comments. 2015-07-10 21:01:17 -07:00
Michael Jumper
5f547a9974 GUAC-1171: Fix naming of guac_common_ssh_buffer_*() functions. 2015-07-10 17:26:04 -07:00
Michael Jumper
3d1d2ea334 GUAC-1171: Migrate to common SSH for SFTP transfers. 2015-07-10 17:21:58 -07:00
Michael Jumper
a6b46a0ea0 GUAC-1171: Add and document SFTP functionality within common SSH. 2015-07-10 17:21:27 -07:00
Michael Jumper
87be5d43ea GUAC-1171: Add missing comments around static functions. Add param and return annotations to existing comments. 2015-07-10 14:20:16 -07:00
Michael Jumper
0fcea2738b GUAC-1171: Migrate to common SSH within client. 2015-07-10 12:46:11 -07:00
Michael Jumper
98503a9fb7 GUAC-1171: Initial refactor to require that user credentials be provided prior to connect. 2015-07-10 02:00:23 -07:00
Michael Jumper
ff287aee52 GUAC-1171: Separate key/password management from SSH connection. Maintain connection information within session object. 2015-07-10 01:31:15 -07:00
Michael Jumper
0a015b2843 GUAC-1171: Add key and buffer helpers. Partially implement private key auth. 2015-07-09 16:17:47 -07:00
Michael Jumper
5b627ae5cc GUAC-1171: Implement SSH connection (without auth). 2015-07-09 12:28:46 -07:00
Michael Jumper
ed70281766 GUAC-1171: Move SFTP functions to own header. 2015-07-09 12:05:57 -07:00
Michael Jumper
fbcf8a1e0d GUAC-1171: Move initialization of SSH, OpenSSL, etc. to common SSH base. 2015-07-09 12:02:31 -07:00
Michael Jumper
cc6a56234c GUAC-1171: Stub common SSH API. 2015-07-09 01:29:17 -07:00
Michael Jumper
c199cfc8d7 GUAC-1171: Adopt cleaner style for Makefile.am. 2015-07-08 15:39:25 -07:00
Michael Jumper
77cde6ae4b GUAC-1171: Stub out common SSH client within build. 2015-07-08 14:55:18 -07:00
Frode Langelo
d309842055 GUAC-298: Add configuration option to allow for VNC clipboard text encoding override 2015-07-08 14:28:02 -07:00
Frode Langelo
9c8756556a GUAC-1247: Fix case where 1x1 pixel surface put with non-dirty data was not ignored 2015-07-08 11:12:34 -07:00
Michael Jumper
5e76e11e6a GUAC-1172: Use FreeRDP to define STATUS_* constants, if possible, before falling back to the rest of rdp_status.h. 2015-07-06 00:43:21 -07:00
Michael Jumper
4d7634da9e GUAC-1172: Remove use of stdbool.h and bool from guac_json - FreeRDP is not compatible with use of the standard bool. 2015-07-06 00:43:21 -07:00
Michael Jumper
8a36358e94 GUAC-1172: Implement directory listing, file upload, and file download. 2015-07-06 00:43:21 -07:00
Michael Jumper
fef6cd212b GUAC-1172: Associate guac_object with RDP filesystem. 2015-07-06 00:43:21 -07:00
Michael Jumper
58621ca42b GUAC-1172: Move JSON functions to common. 2015-07-05 18:08:22 -07:00
Michael Jumper
ddbbcf032a GUAC-1172: Ensure empty directories are valid JSON. 2015-07-05 12:56:10 -07:00
Michael Jumper
054698a3ad GUAC-1172: Append. Do not appaned. 2015-07-01 11:11:07 -07:00
Michael Jumper
42c36f5b84 GUAC-1172: Properly store/free filesystem object. 2015-07-01 10:48:25 -07:00
Michael Jumper
0bbc958373 GUAC-1172: Implement file upload via filesystem object. 2015-07-01 10:48:25 -07:00
Michael Jumper
5fba93594d GUAC-1172: Implement directory listing and file download via filesystem object. 2015-07-01 10:48:25 -07:00
Michael Jumper
482b3a728c GUAC-1172: Simplify filename validation and manipulation. 2015-07-01 10:48:25 -07:00
Michael Jumper
60b3386733 GUAC-1172: Add constants for the root object name and the mimetype of a stream index. 2015-06-20 16:07:55 -07:00
Michael Jumper
9321312fce GUAC-1172: Add missing guac_client_alloc_object() and guac_client_free_object() definitions to client.h. 2015-06-20 12:57:23 -07:00
Michael Jumper
95ede7a91d GUAC-1172: Add object alloc/free. Add object index pool. 2015-06-19 14:41:25 -07:00
Michael Jumper
6e3a12b604 GUAC-1172: Implement filesystem, body, and undefine instructions. 2015-06-19 14:35:30 -07:00
Michael Jumper
f7e6deeaf4 GUAC-1172: Add instruction handlers and storage for Guacamole protocol objects. 2015-06-19 14:12:27 -07:00
Michael Jumper
ce6050b72a GUAC-1172: Fix indentation within libguac Makefile.am. 2015-06-19 13:51:52 -07:00
Michael Jumper
29b76243b9 GUAC-835: Add support for all RDP performance flags. 2015-06-12 16:35:38 -07:00
Michael Jumper
77536dd68e GUAC-1226: Do not rely on Pango/Cairo for DPI handling - simply scale the font size. 2015-06-11 15:44:53 -07:00
Michael Jumper
88ae1a26ff GUAC-1174: Update version numbers of man pages. 2015-06-08 17:27:08 -07:00
Michael Jumper
be0e1d9b12 GUAC-346: Add support for specifying the client hostname. 2015-04-14 12:39:08 -07:00
Michael Jumper
5cb5be6923 GUAC-1056: Do not wait for messages if data is within the RFB client buffer. 2015-04-07 23:44:13 -07:00
Michael Jumper
2144aa4f8f GUAC-794: Add missing hash sign to Italian keymap. 2015-03-31 11:31:52 -07:00
Denis Bernacci
07859aba06 GUAC-794: Add Italian keymap. 2015-03-31 11:18:38 -07:00
Michael Jumper
b5d1e5aa80 GUAC-1128: Bump version numbers to 0.9.6. 2015-03-23 11:48:48 -07:00
Michael Jumper
001b8188e8 GUAC-1095: Free any existing bitmap data prior to overwriting the bitmap data pointer. 2015-02-23 20:36:33 -08:00
Michael Jumper
732adf9063 GUAC-1090: Clip operation by surface size when no clipping rectangle is present. 2015-02-20 16:53:24 -08:00
Michael Jumper
b4165f9773 GUAC-1018: Bump version numbers to 0.9.5. 2015-02-15 17:19:29 -08:00
Mike Jumper
12a1ae10b8 Merge pull request #22 from rvecchio/patch-1
GUAC-570: Solves the issue of blank pages occuring inside generated PDFs having 11 or more pages
2015-02-11 14:43:30 -08:00
rvecchio
efe95748b7 GUAC-570 blank pages inside the generated PDFs 2015-02-09 10:03:05 +01:00
Michael Jumper
da367b373f GUAC-1028: Fix race condition on terminal resize. 2015-02-05 17:21:33 -08:00
Michael Jumper
eb9c6fb899 GUAC-803: Continue reading data until end of frame. 2015-02-04 19:22:22 -08:00
Michael Jumper
61337d5614 GUAC-803: Notify terminal of changes instead of explicitly flushing/syncing. 2015-02-04 19:22:22 -08:00
Michael Jumper
c39201cd8b GUAC-803: Write to terminal STDOUT using length-prefixed packets, such that zero-length writes are legal. 2015-02-04 19:22:22 -08:00
Michael Jumper
207d97bec0 GUAC-803: Use normal pointer when mouse is over scrollbar. 2015-02-04 01:01:39 -08:00
Michael Jumper
fc476fd99e GUAC-803: Actually scroll when the scrollbar handle is dragged. 2015-02-04 00:41:45 -08:00
Michael Jumper
0a7f13ab5c GUAC-803: Calculate new scrollbar value based on mouse position. 2015-02-04 00:21:19 -08:00
Michael Jumper
f26c9443dc GUAC-803: Handle mouse events within scrollbar. 2015-02-03 23:51:04 -08:00
Michael Jumper
d5b7baab75 GUAC-803: Restrict display area to left of scrollbar. 2015-01-28 17:06:18 -08:00
Michael Jumper
0f4e45e39d GUAC-803: Separate scrollbar graphical update from state update. 2015-01-28 16:43:03 -08:00
Michael Jumper
1218a18bf4 GUAC-803: It's a handle, not a box. Well, OK, it is a technically also a box... but that's not the point. 2015-01-28 15:41:12 -08:00
Michael Jumper
65e0265fa0 GUAC-803: Improve style of scrollbar. 2015-01-27 16:36:28 -08:00
Michael Jumper
4018f2c40f GUAC-803: Update rendering of scrollbar as terminal display is scrolled or resized. Position and scale inner box of scrollbar appropriately. 2015-01-26 15:51:50 -08:00
Michael Jumper
3529bd7664 GUAC-803: Allocate/free and draw scrollbar. Reposition scrollbar when terminal is resized. 2015-01-26 13:47:02 -08:00
Michael Jumper
0996a6a186 GUAC-803: Stub out terminal scrollbar API. 2015-01-26 12:52:30 -08:00
Michael Jumper
569f4adbac GUAC-803: Move display into separate layer, always size default layer perfectly. 2015-01-25 16:27:04 -08:00
Michael Jumper
959a7a202d GUAC-994: Add support for interleaved_decompress() and planar_decompress() variants in FreeRDP 1.2.0-beta1+android9. Use working color conversion function (old one is present but will not work in 1.2.0). 2015-01-23 15:08:00 -08:00
Michael Jumper
67ed8c5791 GUAC-1008: Properly init clipping rectangle. 2015-01-15 17:03:26 -08:00
Michael Jumper
75f0fc7807 GUAC-996: Do not reset clip upon resize. Fix copy of surface data. 2015-01-09 16:00:03 -08:00
Michael Jumper
065e0fe462 GUAC-938: Bump version numbers for 0.9.4. 2015-01-06 15:23:01 -08:00
Michael Jumper
5fe8917bdc GUAC-974: Log reason for auth key failures. Add debug logging. 2015-01-04 19:56:32 -08:00
Michael Jumper
0b0c2aae93 GUAC-974: Auth key failures should abort as UNAUTHORIZED. 2015-01-04 19:17:40 -08:00
Michael Jumper
a5715ae3e0 GUAC-949: Increase display update interval to 500 ms. 2014-12-06 17:32:03 -08:00
James Muehlner
82e26aaca2 Merge pull request #9 from glyptodon/rdp-aspect-ratio
GUAC-947: Maintain aspect ratio when size is adjusted.
2014-12-05 16:57:03 -08:00
Michael Jumper
37276c081b GUAC-947: Maintain aspect ratio when size is adjusted to conform with Display Update specs. 2014-12-05 15:30:51 -08:00
James Muehlner
955dba4498 Merge pull request #7 from glyptodon/swedish-keymap
GUAC-930 - Implement Swedish keymap
2014-12-04 20:49:18 -08:00
James Muehlner
cbab9e2efb Merge pull request #8 from glyptodon/fix-rdp-segfault
GUAC-945: Do not attempt to load drdynvc unless Display Update is in use.
2014-12-03 16:01:36 -08:00
Michael Jumper
ca0107ba54 GUAC-945: Do not attempt to load drdynvc unless Display Update is in use. The interface of drdynvc is too different in versions of FreeRDP lacking Display Update. 2014-12-03 15:43:39 -08:00
James Muehlner
7ef33e5901 Merge pull request #5 from glyptodon/resize-with-dpi
GUAC-936: Use initial resolution for all future resizing of display.
2014-12-01 11:23:43 -08:00
Michael Jumper
05d1b8864c GUAC-930: Add Swedish keymap. 2014-11-28 19:35:30 -08:00
Michael Jumper
6fc1699d86 GUAC-930: Log keysyms which are sent via Unicode. 2014-11-28 19:21:10 -08:00
Michael Jumper
4b53f9f3a6 GUAC-911: Expand logging within SSH and telnet. 2014-11-28 17:20:02 -08:00
Michael Jumper
6ea36b5a27 GUAC-936: Use initial resolution for all future resizing of display. Suggest reasonable resolution only if resolution of display is not provided/forced. 2014-11-26 15:35:22 -08:00
Michael Jumper
6cd161a02d GUAC-935: Document parameters of newly-added functions. 2014-11-25 22:53:22 -08:00
Michael Jumper
d85a18c24d GUAC-935: Add missing headers. Fix test for PubSub. 2014-11-25 22:11:43 -08:00
Michael Jumper
904fcfe75a GUAC-935: Only update display size if it's been longer than 250ms. 2014-11-25 02:20:54 -08:00
Michael Jumper
eff4644a00 GUAC-888: Init socket last_write_timestamp during alloc, otherwise keep-alive math fails until data has been written, which may result in the keep-alive never being sent. 2014-11-22 17:23:01 -08:00
Michael Jumper
4cbb4001fc GUAC-865: Allow client-requested DPI to be overridden. 2014-11-21 16:45:47 -08:00
Michael Jumper
b812cc19a9 GUAC-865: Establish lock before sending size update. 2014-11-21 15:46:50 -08:00
Michael Jumper
2aec59dd23 GUAC-865: Do not log newline characters. 2014-11-21 14:25:05 -08:00
Michael Jumper
1fc80182a3 GUAC-865: rdpSettings may not have SupportDisplayControl, even if freerdp/client/disp.h is present. 2014-11-21 13:51:01 -08:00
Michael Jumper
a0e1e5f0c6 GUAC-865: Initial support for display update. 2014-11-21 13:30:24 -08:00
Michael Jumper
7064e12959 GUAC-852: Use rdpContext.codecs as a basis for determining whether FreeRDP uses _aligned_malloc() internally. 2014-11-20 21:41:38 -08:00
Michael Jumper
98195e606a GUAC-852: Abstract away color conversion. 2014-11-20 21:07:22 -08:00
Michael Jumper
f401597f10 GUAC-852: Use old bitmap_decompress if no codecs in context. Restore use of freerdp_image_flip. 2014-11-20 21:07:18 -08:00
Michael Jumper
7fae39b593 GUAC-852: Refactor bitmap_decompress within guac_rdp_bitmap_decompress. 2014-11-20 18:49:47 -08:00
Michael Jumper
7449543461 GUAC-852: Store raw ARGB32 palette internally, for future use in conversions. 2014-11-20 18:35:17 -08:00
Michael Jumper
3171da9e09 GUAC-852: Use freerdp_image_copy instead of freerdp_image_flip. 2014-11-20 18:01:58 -08:00
Michael Jumper
fc6758ffdf GUAC-852: Use freerdp_convert_gdi_order_color() for color conversion. 2014-11-20 18:01:05 -08:00
Michael Jumper
e2c28d9240 GUAC-852: Add bitmap_decompress implementation (partial stub - will not work with older FreeRDP). 2014-11-20 17:56:56 -08:00
Michael Jumper
f18d9ae831 GUAC-911: Replace old GUAC_RDP_DEBUG with calls to guac_client_log(). 2014-11-12 13:35:25 -08:00
Michael Jumper
c0eb7df97a GUAC-911: Log FreeRDP plugin load failures to warning level. 2014-11-12 12:02:38 -08:00
Michael Jumper
374a43b27a GUAC-923: Rename bounds_rect to clip_rect. Add function which restricts rects to surface bounds, distinct from the previous badly-named function which restricted rects to the clipping rect. 2014-11-10 10:26:00 -08:00
Michael Jumper
3b266b9f05 GUAC-911: Simplify guacd logging. Log to appropriate log levels. 2014-11-10 00:26:21 -08:00
Michael Jumper
24aa865ce2 GUAC-911: Align STDERR log messages at tabs. 2014-11-09 23:39:26 -08:00
Michael Jumper
6081ce6fa4 GUAC-911: Greatly increase available values for guac_error. Remove use of guac_error by non-library code. 2014-11-09 22:59:53 -08:00
Michael Jumper
3c83f61637 GUAC-911: Clean up logging in guacd. 2014-11-09 22:51:40 -08:00
Michael Jumper
f8484c0e1e GUAC-911: Log to STDERR always. 2014-11-09 21:00:59 -08:00
Michael Jumper
661193fcb0 GUAC-911: Add debug messages to common pieces dealing with guac_client. 2014-11-09 20:44:49 -08:00
Michael Jumper
614ba62980 GUAC-911: Removing use of logging from libguac. 2014-11-09 20:32:00 -08:00
Michael Jumper
f865656991 GUAC-911: Add and document log level option for guacd. 2014-11-09 19:47:11 -08:00
Michael Jumper
3ff5d5d690 GUAC-911: Separate parsing of level name into own function. 2014-11-09 19:39:11 -08:00
Michael Jumper
4b92233084 GUAC-911: Use guacd namespace. Replace log_prefix with macro. Use same log name for all. 2014-11-09 17:09:35 -08:00
Michael Jumper
c3f98b388a GUAC-911: Only log up to specified log level. Add comments to log.h. 2014-11-09 17:04:25 -08:00
Michael Jumper
049c366b78 GUAC-911: Add config file option for log levels. 2014-11-09 17:00:16 -08:00
Michael Jumper
f71067b024 GUAC-911: Reduce available log levels to ERROR, WARNING, INFO, and DEBUG. 2014-11-08 20:19:12 -08:00
Michael Jumper
431fd2de6f GUAC-911: Add log levels. Refactor guac_client_log_*() into guac_client_log(). 2014-11-07 16:32:19 -08:00
Michael Jumper
5f308c9f31 GUAC-891: Ensure updates are clipped within surface bounds. 2014-10-16 18:55:43 -07:00
Michael Jumper
0af6c7d22a GUAC-874: Load RDPDR and set device redirection if audio enabled. 2014-10-05 15:16:28 -07:00
Michael Jumper
3b8e2a5528 GUAC-874: Remove detection of FastPath settings. Rely on defaults. 2014-10-05 14:30:55 -07:00
Michael Jumper
b2ab26c727 GUAC-849: Check for presence of AudioPlayback setting in FreeRDP settings struct. 2014-10-04 20:26:01 -07:00
Michael Jumper
5bcd60b3ba GUAC-849: Set AudioPlayback flag if audio is enabled. 2014-10-04 19:47:11 -07:00
Michael Jumper
71674f8b7d Fix release - guacd.conf manpage needs to be included in EXTRA_DIST. 2014-09-30 01:31:54 -07:00
Michael Jumper
6dc35bcbad GUAC-855: Bump version to 0.9.3. 2014-09-19 11:28:34 -07:00
Michael Jumper
7b83b279d7 GUAC-659: Do not interpret AltGr as Right Alt. 2014-09-19 01:54:28 -07:00
Michael Jumper
ca9f2717d5 GUAC-792: Map Ctrl+2 to Ctrl+@, and Ctrl+3 through Ctrl+7 to the remaining codes, anchored such that Ctrl+6 is Ctrl+^. 2014-09-11 14:20:57 -07:00
Michael Jumper
76d6b04d53 GUAC-792: Implement remaining C0 control codes. 2014-09-11 13:33:34 -07:00
Michael Jumper
c6de459c76 GUAC-848: Fix typos and formatting of new manpage. 2014-09-09 14:23:51 -07:00
Michael Jumper
f5cb3589c9 GUAC-848: Add manpage for guacd.conf. 2014-09-09 14:10:18 -07:00
Michael Jumper
d217e1ee9c GUAC-847: Allow default location of config file to be overridden. 2014-09-08 14:41:49 -07:00
Michael Jumper
29c3aff5e2 GUAC-847: Embrace the pointless initialization. 2014-09-08 12:37:34 -07:00
Michael Jumper
eb39afc68a GUAC-847: Add pointless initialization to satisfy false-positive warnings. 2014-09-08 12:30:09 -07:00
Michael Jumper
4f5760af94 GUAC-847: Handle parse errors in callback. Actually parse config file. 2014-09-08 12:09:17 -07:00
Michael Jumper
318bcff5b5 GUAC-847: Actually read config file. 2014-09-08 11:54:51 -07:00
Michael Jumper
9b8d77891e GUAC-847: Add arbitrary data to callback. 2014-09-08 11:14:54 -07:00
Michael Jumper
9e57d01c99 GUAC-847: Read from file (stub). Override with args. 2014-09-08 11:09:29 -07:00
Michael Jumper
8c78f105cc GUAC-847: Add placeholder for file parsing. 2014-09-08 10:26:49 -07:00
Michael Jumper
4f578a160f GUAC-847: Rename conf-file to conf-parse. 2014-09-08 10:25:23 -07:00
Michael Jumper
6f3fd21232 GUAC-847: Implement recursive descent parser for guacd config files. 2014-09-08 02:12:49 -07:00
Felipe Weckx
405140cc8f GUAC-775 initialize stream handlers 2014-08-04 12:58:10 -07:00
Michael Jumper
c37e274977 GUAC-772: Bump version numbers to 0.9.2. 2014-07-21 13:32:09 -07:00
Michael Jumper
2fa1468386 GUAC-779: Terminal channel mutex must exist before terminal channel. 2014-07-21 11:23:36 -07:00
Michael Jumper
be9c56f9a3 GUAC-779: Synchronize access to shared libssh2 handles. 2014-07-21 11:15:55 -07:00
Michael Jumper
d608b3a30b GUAC-780: Init OpenSSL for sake of threads. 2014-07-21 10:48:02 -07:00
Michael Jumper
98c6e6496d GUAC-780: Ensure libgcrypt is initialized for pthreads if used by libssh2. OpenSSL should be OK. 2014-07-21 10:27:39 -07:00
Michael Jumper
fd800e6dd7 GUAC-771: Ensure display surface is available during initial connection. 2014-07-21 09:12:17 -07:00
Michael Jumper
c7a65d08cb GUAC-707: Clean version check logic. 2014-07-20 21:31:32 -07:00
Felipe Weckx
8c1a152467 GUAC-707 support for latest FreeRDP release (1.2.0-beta1) 2014-07-17 13:13:21 -07:00
Michael Jumper
0adf16c501 GUAC-763: Fix typo in comment. 2014-07-17 13:06:01 -07:00
Michael Jumper
46faa7ab85 GUAC-493: Coding style changes. 2014-07-17 12:54:40 -07:00
Felipe Weckx
e543d9eeb5 GUAC-493 Add keyboard-interactive ssh authentication method 2014-07-17 12:51:35 -07:00
Michael Jumper
d5c0c611bf GUAC-763: Fix comments. Do not continue searching for username after password has been found. 2014-07-17 12:39:19 -07:00
Michael Jumper
1e5fbba64e GUAC-763: Do not send mouse during username search either. 2014-07-17 12:34:57 -07:00
Michael Jumper
b2c6bc488b GUAC-763: Remove stripping of non-printable chars. It will break UTF-8, and the signedness of line_buffer makes the comparisons questionable. 2014-07-17 12:33:46 -07:00
Michael Jumper
e01eb6fc10 GUAC-763: Minor fixes for style. Fix username/password regex. 2014-07-17 12:21:53 -07:00
Felipe Weckx
7784ebc8d3 GUAC-763: Adjust telnet login automation to accept a regex for the username parameter 2014-07-17 12:10:00 -07:00
Michael Jumper
8d99c35a86 GUAC-769: Ensure socket output is handled in a threadsafe manner. 2014-07-10 16:49:13 -07:00
Michael Jumper
7be6bbfeae GUAC-764: Fully initialize character structure, to satisfy some C compilers and static analyzers. 2014-07-07 08:39:39 -07:00
Michael Jumper
ceb768e127 GUAC-743: Add missing comments to static functions. 2014-07-05 23:01:29 -07:00
Michael Jumper
d9e7ebde2f GUAC-743: Store and maintain connections within the client map structure. 2014-07-05 13:26:27 -07:00
Michael Jumper
02d493c9e5 GUAC-743: Implement client mapping structure. 2014-07-05 13:24:24 -07:00
Michael Jumper
dfafd021cf GUAC-762: Check for ossp/uuid.h vs uuid.h. 2014-07-02 13:33:47 -07:00
Michael Jumper
40124c11a6 GUAC-744: Send ready instruction BEFORE guac_client_init. Sending after is just crazy. 2014-06-26 15:32:35 -07:00
Michael Jumper
86a59c43b3 GUAC-744: Send ready instruction after guac_client_init. 2014-06-26 15:23:00 -07:00
Michael Jumper
a44539b108 GUAC-744: Generate and store connection ID within guac_client. 2014-06-26 15:09:44 -07:00
Michael Jumper
8cc6c987a9 GUAC-716: Stop password search if user input is detected. 2014-06-17 12:28:53 -07:00
Michael Jumper
f357197f86 GUAC-716: Add password and password-regex parameters. Search for password prompt if password parameter specified. 2014-06-17 12:24:07 -07:00
Michael Jumper
ad34c254e0 GUAC-748: Add username parameter to telnet. Pass username via NEW-ENVIRONMENT telnet option. 2014-06-16 18:07:13 -07:00
Michael Jumper
c56412f69e GUAC-734: Return to echo after HTS. Return to echo on unexpected characters within OSC. 2014-06-11 15:04:39 -07:00
Michael Jumper
adc15d50eb GUAC-730: Fix headers for VNC. 2014-06-11 11:15:35 -07:00
Michael Jumper
9c6770e016 GUAC-730: Fix headers for telnet. 2014-06-11 11:09:44 -07:00
Michael Jumper
48d1597418 GUAC-730: Fix headers for SSH. 2014-06-11 10:06:18 -07:00
Michael Jumper
1973f42f61 GUAC-730: Add missing rail headers to guac_handlers.c. 2014-06-10 19:37:06 -07:00
Michael Jumper
6f5991c504 GUAC-730: Fix headers for RDP. 2014-06-10 18:45:14 -07:00
Michael Jumper
8bc4864d9a GUAC-730: Add stddef.h to generated keymaps. Fix perl warning while we're at it. 2014-06-10 18:23:21 -07:00
Michael Jumper
fdc886a5fb GUAC-730: Fix headers in src/terminal. 2014-06-10 17:40:58 -07:00
Michael Jumper
cc2f3931a9 GUAC-730: Fix headers for guacd. 2014-06-10 17:25:40 -07:00
Michael Jumper
ea765ba602 GUAC-730: Fix headers for src/common. 2014-06-10 17:20:49 -07:00
Michael Jumper
9c475c3a68 GUAC-730: Fix headers for libguac. 2014-06-10 16:54:08 -07:00
Michael Jumper
d19100ca6b GUAC-728: Take character width into account when displaying (and retrieving) selection. 2014-06-06 14:05:41 -07:00
Michael Jumper
6433115468 GUAC-727: Remove glyph cache from terminal. 2014-06-05 21:00:21 -07:00
Michael Jumper
6473f5029a GUAC-726: Only overwrite invalid portions of adjacent regions to an edge. 2014-06-05 12:31:03 -07:00
Michael Jumper
98a18f45c4 GUAC-726: Fix width calculation math. Do not search for start past column 0. 2014-06-05 12:13:05 -07:00
Michael Jumper
99cef299f1 GUAC-726: Replace overwrite function with much saner function based on character validity checks along column edges. 2014-06-05 11:55:21 -07:00
Michael Jumper
4e16a31600 GUAC-717: Handle each logical subregion of a copy as a separate overwrite. 2014-06-04 16:42:01 -07:00
Michael Jumper
b54e750a31 GUAC-717: Clear up to character end when setting characters. Handle character overwrite as part of copy. 2014-06-04 15:58:52 -07:00
Michael Jumper
8b8b351966 GUAC-717: Clear up to overwritten character start when setting characters. 2014-06-04 14:41:47 -07:00
Michael Jumper
a8ef6f5c40 GUAC-717: Set continuation character for wide chars as necessary. 2014-06-04 14:04:41 -07:00
Michael Jumper
91f1148e8f GUAC-717: Add GUAC_CHAR_CONTINUATION sentinel. Add width property to characters. 2014-06-04 11:24:39 -07:00
Michael Jumper
c84a88d35a GUAC-718: Set locale (for sake of wcwidth()). Warn if locale does not use UTF-8. 2014-06-02 16:01:13 -07:00
Michael Jumper
b106e13bb1 GUAC-718: Scale text layout to fit within ideal size. 2014-06-02 15:34:48 -07:00
Michael Jumper
122a8095e4 GUAC-718: Advance cursor by column width of echo'd characters. 2014-06-02 12:53:40 -07:00
Michael Jumper
b5087a2a6f GUAC-718: Update display to cache and use variable-width glyphs. 2014-06-02 12:52:42 -07:00
Michael Jumper
3bd145a059 GUAC-678: Add missing OpenSSL init. 2014-05-27 12:34:05 -07:00
Michael Jumper
e98d1ad79c GUAC-681: Bump version numbers to 0.9.1. 2014-05-22 12:27:48 -07:00
Michael Jumper
6a93033b97 GUAC-670: Reduce required version of Perl. 2014-05-20 17:01:07 -07:00
Michael Jumper
e0e57b1885 GUAC-658: Add missing include for socket.h 2014-05-20 10:55:38 -07:00
Michael Jumper
dbaca11d68 GUAC-688: Fix segfault on resize. 2014-05-13 10:41:06 -07:00
Michael Jumper
51093201f5 GUAC-675: Document return value of __guac_common_surface_transfer_int(). 2014-05-12 21:46:36 -07:00
Michael Jumper
cad60299e1 GUAC-687: Only update backing surface first if the destination rect cannot intersect the source rect. 2014-05-12 14:43:50 -07:00
Michael Jumper
3e0828d6da GUAC-687: Initialize newly-allocated buffer space to transparent black. 2014-05-12 13:50:51 -07:00
Michael Jumper
9746ea68a4 GUAC-687: Use correct rect when checking for fully clipped updates. 2014-05-12 13:44:51 -07:00
Michael Jumper
89b0a452a5 GUAC-687: Do not allow empty updates to the dirty rect. 2014-05-12 13:27:33 -07:00
Michael Jumper
584ca5f35c GUAC-675: Update comments reflecting new use of guac_common_rect. 2014-05-12 09:20:22 -07:00
Michael Jumper
2bbbda3ca9 GUAC-675: Source coordinates must be updated along with rect. 2014-05-12 02:26:04 -07:00
Michael Jumper
07f6712591 GUAC-675: Optimize copy. 2014-05-12 02:01:09 -07:00
Michael Jumper
573f524dee GUAC-675: Optimize output of rect. 2014-05-12 01:45:55 -07:00
Michael Jumper
c0b955fab0 GUAC-675: Add rect struct. Migrate surface to new rect struct. 2014-05-12 01:39:52 -07:00
Michael Jumper
32474c1114 GUAC-675: Lengthen maximum frame duration. 2014-05-11 23:42:27 -07:00
Michael Jumper
a9ba417891 GUAC-675: Narrow update rect to contain only different pixels. 2014-05-11 12:28:19 -07:00
Michael Jumper
442a520150 GUAC-674: Fix typo in comment. Make __guac_common_surface_flush_to_png() static. 2014-05-11 12:28:07 -07:00
Michael Jumper
0da9df3620 GUAC-674: Add comments for all static functions. 2014-05-09 18:56:16 -07:00
Michael Jumper
78d7c3e9ab GUAC-674: Inspect and re-inspect queue when combining. 2014-05-09 18:45:10 -07:00
Michael Jumper
7fc3fe1fdc GUAC-674: Queue and combine png updates. Lengthen RDP frame timeout to 10ms. 2014-05-09 15:39:00 -07:00
Michael Jumper
d42cd23f87 GUAC-654: Comment guac_handlers.h properly. 2014-05-07 21:29:36 -07:00
Michael Jumper
13e205a0e5 GUAC-654: Add missing comments to telnet_client.c 2014-05-07 21:19:15 -07:00
Michael Jumper
4a7e5609f5 GUAC-654: Implement local echo. 2014-05-07 15:30:48 -07:00
Michael Jumper
b87d99cc40 GUAC-654: Do NOT block indefinitely while waiting for socket to die. 2014-05-07 15:19:53 -07:00
Michael Jumper
6b33c8eeda GUAC-654: Fix namespace and style. 2014-05-07 14:36:49 -07:00
Michael Jumper
30a31d07cf GUAC-654: Add negotiation and handling of NAWS (window size). 2014-05-07 14:19:27 -07:00
Michael Jumper
a7d1dde24f GUAC-654: Implement simple telnet client. No screen resize yet. 2014-05-07 13:46:25 -07:00
Michael Jumper
7c08593b83 GUAC-653: Restore file upload for SSH. 2014-05-06 17:14:40 -07:00
Michael Jumper
0acd219a88 GUAC-653: Remove unneeded includes. 2014-05-06 16:45:36 -07:00
Michael Jumper
92f0d4b36b GUAC-653: Remove direct reference to internal terminal pipes. 2014-05-06 16:41:48 -07:00
Michael Jumper
470dc67c34 GUAC-653: Implement render_frame function. 2014-05-06 16:12:29 -07:00
Michael Jumper
81229d9fe4 GUAC-653: Separate terminal API into public/internal/low-level pieces (in spirit). 2014-05-06 15:55:30 -07:00
Michael Jumper
f2781ed0cc GUAC-653: Move mouse and key handling into terminal. Move clipboard into terminal. 2014-05-05 19:02:41 -07:00
Michael Jumper
455f2e543a GUAC-653: Update namespace in common terminal code. 2014-05-05 16:36:49 -07:00
Michael Jumper
b4e7f95603 GUAC-653: Move terminal code to common location. 2014-05-05 16:17:59 -07:00
Michael Jumper
f1b75335ae GUAC-669: Remove include which was intended for debugging only. 2014-05-05 11:21:00 -07:00
Michael Jumper
014e245baa GUAC-669: Limit how high the fill pattern heuristic is allowed to increase update cost. 2014-05-05 11:17:38 -07:00
Michael Jumper
c5ada6631c GUAC-667: Draw glyphs directly to surface. 2014-05-05 00:28:07 -07:00
Michael Jumper
3554e88efa GUAC-667: Add masked paint operation. 2014-05-05 00:27:48 -07:00
Michael Jumper
1047c6192c GUAC-667: Implement clipping within common surface. 2014-05-04 23:39:02 -07:00
Michael Jumper
b2d74c92a2 GUAC-667: Remove unnecessary use of Cairo surface within common - just update buffer. 2014-05-04 16:35:09 -07:00
Michael Jumper
dbec5a5957 GUAC-666: Detect left-to-right fill pattern. 2014-05-03 21:11:42 -07:00
Michael Jumper
84fb0d8681 GUAC-665: Narrow cost estimation algorithm. 2014-05-01 19:22:47 -07:00
Michael Jumper
5b2f824097 GUAC-660: Do not send initial size unless layer is visible. Do not dispose unless layer was created. 2014-05-01 12:23:37 -07:00
Michael Jumper
8f1f0907e7 GUAC-662: Migrate VNC to guac_common_surface. 2014-05-01 11:27:26 -07:00
Michael Jumper
25ab9a0134 GUAC-662: Implement resize for guac_common_surface. 2014-05-01 11:27:10 -07:00
Michael Jumper
d4aed54ca4 GUAC-662: Updates to backing surface should happen AFTER possible flushes. 2014-05-01 10:25:54 -07:00
Michael Jumper
25784acc6f GUAC-656: Remove old debug log. 2014-04-30 20:46:26 -07:00
Michael Jumper
8cc932391d GUAC-656: Implement transfer and copy. 2014-04-30 19:55:56 -07:00
Michael Jumper
c786854b63 GUAC-656: Implement rect, clean logic. 2014-04-30 19:09:38 -07:00
Michael Jumper
98a041336a GUAC-656: Implement flush. Implement draw. 2014-04-30 16:45:09 -07:00
Michael Jumper
db96b5f691 GUAC-656: Add logging message noting intent (actual surface not implemented). 2014-04-30 15:58:43 -07:00
Michael Jumper
4a4ced40ed GUAC-656: Remove surface resize - not needed for now. 2014-04-30 14:33:04 -07:00
Michael Jumper
b6e323a7a2 GUAC-656: Flush default surface after handling updates. 2014-04-30 13:54:39 -07:00
Michael Jumper
5f0250fb1f GUAC-656: Free buffer last - surface needs to send dispose. 2014-04-30 12:32:19 -07:00
Michael Jumper
25d8b47bd3 GUAC-656: Send size and dispose when alloc/free surface. 2014-04-30 11:59:43 -07:00
Michael Jumper
f8ac59798f GUAC-656: Migrate RDP to guac_common_surface. 2014-04-30 11:46:04 -07:00
Michael Jumper
f6ccfd1211 GUAC-656: Add instructions to stubs. Match prototype of surface function to that of protocol function. 2014-04-29 19:15:21 -07:00
Michael Jumper
5d6e04171c GUAC-656: Implement alloc/free for surface. 2014-04-29 16:06:44 -07:00
Michael Jumper
3b541f70ee GUAC-656: Add simple surface and stubs. 2014-04-29 15:57:37 -07:00
Michael Jumper
4766970015 GUAC-621: During resize, keep cursor on screen and redraw cursor if necessary. 2014-04-16 14:46:00 -07:00
Michael Jumper
9229457dd4 GUAC-621: Only increase buffer length if real character data was written (not cleared). 2014-04-16 14:31:51 -07:00
Michael Jumper
4d48dc384b GUAC-622: Do not log a pointless error every time the client disconnects properly. Just stop the client - we have a function for that now. 2014-04-14 12:20:08 -07:00
Michael Jumper
e1ac588296 GUAC-622: Just log normal error messages if guac_error not set. Init guac_error before plugin load. 2014-04-14 12:01:36 -07:00
Michael Jumper
3823165d7f GUAC-598: Fix warnings against SSH. 2014-04-11 13:48:06 -07:00
Michael Jumper
5f84cbc5e4 GUAC-598: Use unsigned instead of u_ type. 2014-04-11 13:48:06 -07:00
Michael Jumper
d24aaeb614 GUAC-598: Bring up to compliance with POSIX standard claimed by source. 2014-04-11 13:48:06 -07:00
Michael Jumper
20222beaed GUAC-598: Fix warning regarding unsigned comparison against zero. 2014-04-11 13:48:06 -07:00
Michael Jumper
15dc035db1 GUAC-597: Remove unnecessary dlopen() test, add automatically generated dlopen() test result to Makefile.am. 2014-04-11 13:48:06 -07:00
Michael Jumper
26147afff0 GUAC-613: Fix header annotation in Doxygen comment in pool-types.h (wrong filename). 2014-04-10 15:54:02 -07:00
Michael Jumper
de8c64a03a GUAC-614: Remove old prototypes from RDP guac handlers. 2014-04-10 15:42:46 -07:00
Michael Jumper
7be9a87fae GUAC-614: Remove old prototype. 2014-04-10 15:40:40 -07:00
Michael Jumper
0096cf677c GUAC-614: Migrate RDP to simpler stream API. Add missing linkage to RDP build. Fix last character truncation bug. 2014-04-10 14:53:32 -07:00
Michael Jumper
83093f1bd3 GUAC-614: Migrate SSH to simpler stream API. 2014-04-10 13:47:36 -07:00
Michael Jumper
18407fdc37 GUAC-614: Migrate VNC to simpler stream API. 2014-04-10 13:40:22 -07:00
Michael Jumper
1dd2982f06 GUAC-611: Fix initialization of stream. 2014-04-09 22:13:49 -07:00
Michael Jumper
479800c711 GUAC-608: Add missing Doxygen annotation. 2014-04-09 22:08:31 -07:00
Michael Jumper
78b4ad56a1 GUAC-611: Add missing headers. 2014-04-09 19:09:41 -07:00
Michael Jumper
205f85dafd GUAC-611: Add per-stream handlers for ack/blob/end. Simplify ack/blob/end contents. Reorganize headers to eliminate circular dependencies. 2014-04-09 18:42:29 -07:00
Michael Jumper
2c4ae68da0 GUAC-608: Add support for outbound clipboard for SSH. Partial inbound support. 2014-04-09 11:40:09 -07:00
Michael Jumper
3c70e87aef GUAC-608: Add inbound clipboard. Remove use of iconv(). 2014-04-08 17:08:29 -07:00